aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/config
diff options
context:
space:
mode:
authorReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
committerReinhard Tartler <siretart@tauware.de>2011-10-10 17:43:39 +0200
commitf4092abdf94af6a99aff944d6264bc1284e8bdd4 (patch)
tree2ac1c9cc16ceb93edb2c4382c088dac5aeafdf0f /nx-X11/config
parenta840692edc9c6d19cd7c057f68e39c7d95eb767d (diff)
downloadnx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.gz
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.tar.bz2
nx-libs-f4092abdf94af6a99aff944d6264bc1284e8bdd4.zip
Imported nx-X11-3.1.0-1.tar.gznx-X11/3.1.0-1
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
Diffstat (limited to 'nx-X11/config')
-rw-r--r--nx-X11/config/Imakefile35
-rw-r--r--nx-X11/config/cf/Amoeba.cf428
-rw-r--r--nx-X11/config/cf/DGUX.cf190
-rw-r--r--nx-X11/config/cf/DragonFly.cf354
-rw-r--r--nx-X11/config/cf/FreeBSD.cf582
-rw-r--r--nx-X11/config/cf/Imake.cf1180
-rw-r--r--nx-X11/config/cf/Imake.rules3649
-rw-r--r--nx-X11/config/cf/Imake.tmpl2320
-rw-r--r--nx-X11/config/cf/Imakefile173
-rw-r--r--nx-X11/config/cf/Library.tmpl582
-rw-r--r--nx-X11/config/cf/Mips.cf72
-rw-r--r--nx-X11/config/cf/Motif.rules709
-rw-r--r--nx-X11/config/cf/Motif.tmpl573
-rw-r--r--nx-X11/config/cf/NetBSD.cf692
-rw-r--r--nx-X11/config/cf/Oki.cf30
-rw-r--r--nx-X11/config/cf/OpenBSD.cf1017
-rw-r--r--nx-X11/config/cf/OpenBSDLib.rules191
-rw-r--r--nx-X11/config/cf/OpenBSDLib.tmpl531
-rw-r--r--nx-X11/config/cf/QNX4.cf98
-rw-r--r--nx-X11/config/cf/QNX4.rules65
-rw-r--r--nx-X11/config/cf/README700
-rw-r--r--nx-X11/config/cf/Server.tmpl79
-rw-r--r--nx-X11/config/cf/ServerLib.tmpl142
-rw-r--r--nx-X11/config/cf/Threads.tmpl105
-rw-r--r--nx-X11/config/cf/Win32.cf133
-rw-r--r--nx-X11/config/cf/Win32.rules531
-rw-r--r--nx-X11/config/cf/WinLib.tmpl16
-rw-r--r--nx-X11/config/cf/X11.rules136
-rw-r--r--nx-X11/config/cf/X11.tmpl4775
-rw-r--r--nx-X11/config/cf/apollo.cf38
-rw-r--r--nx-X11/config/cf/bsd.cf37
-rw-r--r--nx-X11/config/cf/bsdLib.rules540
-rw-r--r--nx-X11/config/cf/bsdLib.tmpl100
-rw-r--r--nx-X11/config/cf/bsdi.cf364
-rw-r--r--nx-X11/config/cf/bsdiLib.rules239
-rw-r--r--nx-X11/config/cf/bsdiLib.tmpl43
-rw-r--r--nx-X11/config/cf/cde.rules226
-rw-r--r--nx-X11/config/cf/cde.tmpl439
-rw-r--r--nx-X11/config/cf/convex.cf102
-rw-r--r--nx-X11/config/cf/cray.cf49
-rw-r--r--nx-X11/config/cf/cross.def45
-rw-r--r--nx-X11/config/cf/cross.def.NX.original45
-rw-r--r--nx-X11/config/cf/cross.def.X.original45
-rw-r--r--nx-X11/config/cf/cross.rules147
-rw-r--r--nx-X11/config/cf/cygwin.cf469
-rw-r--r--nx-X11/config/cf/cygwin.rules454
-rw-r--r--nx-X11/config/cf/cygwin.tmpl77
-rw-r--r--nx-X11/config/cf/darwin.cf330
-rw-r--r--nx-X11/config/cf/darwinLib.rules167
-rw-r--r--nx-X11/config/cf/darwinLib.tmpl61
-rw-r--r--nx-X11/config/cf/dmx.cf65
-rw-r--r--nx-X11/config/cf/fujitsu.cf95
-rw-r--r--nx-X11/config/cf/generic.cf21
-rw-r--r--nx-X11/config/cf/gnu.cf187
-rw-r--r--nx-X11/config/cf/gnuLib.rules176
-rw-r--r--nx-X11/config/cf/gnuLib.tmpl28
-rw-r--r--nx-X11/config/cf/host.def1020
-rw-r--r--nx-X11/config/cf/host.def.NX.original1020
-rw-r--r--nx-X11/config/cf/host.def.X.original0
-rw-r--r--nx-X11/config/cf/hp.cf210
-rw-r--r--nx-X11/config/cf/hpLib.rules144
-rw-r--r--nx-X11/config/cf/hpLib.tmpl39
-rw-r--r--nx-X11/config/cf/iPAQH3600.cf109
-rw-r--r--nx-X11/config/cf/iPAQH3600.cf.NX.original109
-rw-r--r--nx-X11/config/cf/iPAQH3600.cf.X.original0
-rw-r--r--nx-X11/config/cf/ibm.cf198
-rw-r--r--nx-X11/config/cf/ibmLib.rules349
-rw-r--r--nx-X11/config/cf/ibmLib.tmpl96
-rw-r--r--nx-X11/config/cf/isc.cf284
-rw-r--r--nx-X11/config/cf/linux.cf1076
-rw-r--r--nx-X11/config/cf/lnxLib.rules680
-rw-r--r--nx-X11/config/cf/lnxLib.tmpl86
-rw-r--r--nx-X11/config/cf/lnxdoc.rules145
-rw-r--r--nx-X11/config/cf/lnxdoc.tmpl85
-rw-r--r--nx-X11/config/cf/luna.cf115
-rw-r--r--nx-X11/config/cf/lynx.cf421
-rw-r--r--nx-X11/config/cf/macII.cf51
-rw-r--r--nx-X11/config/cf/mach.cf76
-rw-r--r--nx-X11/config/cf/mingw.cf551
-rw-r--r--nx-X11/config/cf/mingw.rules445
-rw-r--r--nx-X11/config/cf/mingw.tmpl77
-rw-r--r--nx-X11/config/cf/minix.cf64
-rw-r--r--nx-X11/config/cf/moto.cf58
-rw-r--r--nx-X11/config/cf/ncr.cf131
-rw-r--r--nx-X11/config/cf/nec.cf131
-rw-r--r--nx-X11/config/cf/necLib.rules131
-rw-r--r--nx-X11/config/cf/necLib.tmpl29
-rw-r--r--nx-X11/config/cf/noop.rules1
-rw-r--r--nx-X11/config/cf/nto.cf152
-rw-r--r--nx-X11/config/cf/nto.rules240
-rw-r--r--nx-X11/config/cf/oldlib.rules109
-rw-r--r--nx-X11/config/cf/os2.cf212
-rw-r--r--nx-X11/config/cf/os2.rules112
-rw-r--r--nx-X11/config/cf/os2Lib.rules210
-rw-r--r--nx-X11/config/cf/os2Lib.tmpl208
-rw-r--r--nx-X11/config/cf/os2def.db5095
-rw-r--r--nx-X11/config/cf/osf1.cf211
-rw-r--r--nx-X11/config/cf/osfLib.rules163
-rw-r--r--nx-X11/config/cf/osfLib.tmpl53
-rw-r--r--nx-X11/config/cf/pegasus.cf34
-rw-r--r--nx-X11/config/cf/sco.cf206
-rw-r--r--nx-X11/config/cf/sco5.cf380
-rw-r--r--nx-X11/config/cf/scoLib.rules68
-rw-r--r--nx-X11/config/cf/sequent.cf444
-rw-r--r--nx-X11/config/cf/sequentLib.rules323
-rw-r--r--nx-X11/config/cf/sgi.cf318
-rw-r--r--nx-X11/config/cf/sgiLib.rules204
-rw-r--r--nx-X11/config/cf/sgiLib.tmpl18
-rw-r--r--nx-X11/config/cf/site.def148
-rw-r--r--nx-X11/config/cf/site.sample125
-rw-r--r--nx-X11/config/cf/sony.cf100
-rw-r--r--nx-X11/config/cf/sun.cf966
-rw-r--r--nx-X11/config/cf/sun.cf.NX.original966
-rw-r--r--nx-X11/config/cf/sun.cf.X.original957
-rw-r--r--nx-X11/config/cf/sunLib.rules133
-rw-r--r--nx-X11/config/cf/sunLib.tmpl145
-rw-r--r--nx-X11/config/cf/sunLib.tmpl.NX.original145
-rw-r--r--nx-X11/config/cf/sunLib.tmpl.X.original258
-rw-r--r--nx-X11/config/cf/sv3Lib.rules252
-rw-r--r--nx-X11/config/cf/sv3Lib.tmpl70
-rw-r--r--nx-X11/config/cf/sv4Lib.rules206
-rw-r--r--nx-X11/config/cf/sv4Lib.tmpl89
-rw-r--r--nx-X11/config/cf/svr3.cf348
-rw-r--r--nx-X11/config/cf/svr4.cf295
-rw-r--r--nx-X11/config/cf/svr4.cf.NX.original295
-rw-r--r--nx-X11/config/cf/svr4.cf.X.original290
-rw-r--r--nx-X11/config/cf/ultrix.cf82
-rw-r--r--nx-X11/config/cf/usl.cf318
-rw-r--r--nx-X11/config/cf/x386.cf153
-rw-r--r--nx-X11/config/cf/xf86.rules229
-rw-r--r--nx-X11/config/cf/xf86.tmpl128
-rw-r--r--nx-X11/config/cf/xf86site.def693
-rw-r--r--nx-X11/config/cf/xfree86.cf2132
-rw-r--r--nx-X11/config/cf/xorg.cf1689
-rw-r--r--nx-X11/config/cf/xorg.tmpl145
-rw-r--r--nx-X11/config/cf/xorgsite.def768
-rw-r--r--nx-X11/config/cf/xorgversion.def5
-rw-r--r--nx-X11/config/cf/xprint_host.def305
-rwxr-xr-xnx-X11/config/docbook/docbookconv.sh124
-rw-r--r--nx-X11/config/imake/Imakefile84
-rw-r--r--nx-X11/config/imake/Makefile.ini86
-rw-r--r--nx-X11/config/imake/ccimake.c62
-rw-r--r--nx-X11/config/imake/imake.c2203
-rw-r--r--nx-X11/config/imake/imake.man262
-rw-r--r--nx-X11/config/imake/imakemdep.h1532
-rw-r--r--nx-X11/config/imake/imakesvc.cmd302
-rw-r--r--nx-X11/config/makedepend/Imakefile101
-rw-r--r--nx-X11/config/makedepend/cpp.ed75
-rw-r--r--nx-X11/config/makedepend/cppsetup.c233
-rw-r--r--nx-X11/config/makedepend/def.h188
-rw-r--r--nx-X11/config/makedepend/ifparser.c553
-rw-r--r--nx-X11/config/makedepend/ifparser.h83
-rw-r--r--nx-X11/config/makedepend/include.c318
-rw-r--r--nx-X11/config/makedepend/main.c865
-rw-r--r--nx-X11/config/makedepend/mkdepend.man382
-rw-r--r--nx-X11/config/makedepend/parse.c686
-rw-r--r--nx-X11/config/makedepend/pr.c124
-rw-r--r--nx-X11/config/pswrap/Imakefile27
-rw-r--r--nx-X11/config/pswrap/lexer.l814
-rw-r--r--nx-X11/config/pswrap/main.c225
-rw-r--r--nx-X11/config/pswrap/psw.c1961
-rw-r--r--nx-X11/config/pswrap/psw.h92
-rw-r--r--nx-X11/config/pswrap/pswdict.c180
-rw-r--r--nx-X11/config/pswrap/pswdict.h76
-rw-r--r--nx-X11/config/pswrap/pswfile.c87
-rw-r--r--nx-X11/config/pswrap/pswparser.y278
-rw-r--r--nx-X11/config/pswrap/pswpriv.h177
-rw-r--r--nx-X11/config/pswrap/pswrap.man141
-rw-r--r--nx-X11/config/pswrap/pswsemantics.c551
-rw-r--r--nx-X11/config/pswrap/pswsemantics.h63
-rw-r--r--nx-X11/config/pswrap/pswstring.c140
-rw-r--r--nx-X11/config/pswrap/pswtypes.h49
-rw-r--r--nx-X11/config/pswrap/pswversion.h42
-rw-r--r--nx-X11/config/pswrap/sysname_gen.c429
-rw-r--r--nx-X11/config/pswrap/systemnames.c47
-rw-r--r--nx-X11/config/pswrap/yyerror.c77
-rw-r--r--nx-X11/config/util/Imakefile168
-rw-r--r--nx-X11/config/util/Makefile.ini20
-rw-r--r--nx-X11/config/util/aminstall.sh74
-rw-r--r--nx-X11/config/util/bsdinst.sh168
-rw-r--r--nx-X11/config/util/buildos2.cmd1
-rw-r--r--nx-X11/config/util/ccmakedep.man142
-rw-r--r--nx-X11/config/util/checktree.c339
-rw-r--r--nx-X11/config/util/chownxterm.c79
-rw-r--r--nx-X11/config/util/cleanlinks.man29
-rw-r--r--nx-X11/config/util/cleanlinks.sh27
-rw-r--r--nx-X11/config/util/crayar.sh9
-rw-r--r--nx-X11/config/util/elistgen.hp202
-rw-r--r--nx-X11/config/util/elistgen.ibm220
-rw-r--r--nx-X11/config/util/elistgen.sun267
-rw-r--r--nx-X11/config/util/elistgen.usl221
-rw-r--r--nx-X11/config/util/gccmakedep.man126
-rw-r--r--nx-X11/config/util/gccmdep.cpp126
-rw-r--r--nx-X11/config/util/indir.cmd28
-rw-r--r--nx-X11/config/util/install.sh108
-rw-r--r--nx-X11/config/util/lndir.c391
-rw-r--r--nx-X11/config/util/lndir.man119
-rw-r--r--nx-X11/config/util/makedef.cmd620
-rw-r--r--nx-X11/config/util/makeg.man64
-rw-r--r--nx-X11/config/util/makeg.sh13
-rw-r--r--nx-X11/config/util/makestrs.c752
-rw-r--r--nx-X11/config/util/makestrs.man219
-rw-r--r--nx-X11/config/util/mdepend.cpp286
-rw-r--r--nx-X11/config/util/mergelib.cpp105
-rw-r--r--nx-X11/config/util/mergelib.man28
-rw-r--r--nx-X11/config/util/mkdirhier.c80
-rw-r--r--nx-X11/config/util/mkdirhier.cmd54
-rw-r--r--nx-X11/config/util/mkdirhier.man42
-rw-r--r--nx-X11/config/util/mkdirhier.sh67
-rw-r--r--nx-X11/config/util/mkhtmlindex.man32
-rw-r--r--nx-X11/config/util/mkhtmlindex.pl103
-rw-r--r--nx-X11/config/util/mkhtmlindex.sh60
-rw-r--r--nx-X11/config/util/mkshadow/Imakefile5
-rw-r--r--nx-X11/config/util/mkshadow/README38
-rw-r--r--nx-X11/config/util/mkshadow/mkshadow.c378
-rw-r--r--nx-X11/config/util/mkshadow/savedir.c119
-rw-r--r--nx-X11/config/util/mkshadow/wildmat.c167
-rw-r--r--nx-X11/config/util/printver.c29
-rw-r--r--nx-X11/config/util/revpath.c47
-rw-r--r--nx-X11/config/util/revpath.man45
-rw-r--r--nx-X11/config/util/syminst.sh90
-rw-r--r--nx-X11/config/util/x11mf.sh28
-rw-r--r--nx-X11/config/util/xmake.cmd5
-rw-r--r--nx-X11/config/util/xmkmf.cpp70
-rw-r--r--nx-X11/config/util/xmkmf.man89
225 files changed, 74021 insertions, 0 deletions
diff --git a/nx-X11/config/Imakefile b/nx-X11/config/Imakefile
new file mode 100644
index 000000000..f589e9636
--- /dev/null
+++ b/nx-X11/config/Imakefile
@@ -0,0 +1,35 @@
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:45 cpqbld Exp $
+XCOMM $XFree86: xc/config/Imakefile,v 1.3 2001/01/17 16:22:29 dawes Exp $
+#define IHaveSubdirs
+#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
+
+#undef BootstrapCleanSubdirs
+#define BootstrapCleanSubdirs BOOTSTRAPSUBDIRS="$(BOOTSTRAPSUBDIRS)"
+
+BOOTSTRAPSUBDIRS = imake makedepend
+#if BuildDPSLibrary
+PSWRAPDIR = pswrap
+#endif
+SUBDIRS = cf $(BOOTSTRAPSUBDIRS) util $(PSWRAPDIR)
+
+#if (defined(XFree86VersionString) || defined(XorgVersionString)) \
+ && defined(ProjectRoot) && \
+ defined(BuildBindist)
+all:: version
+
+version: cf/version.def
+ RemoveFile(version)
+#if defined (XFree86VersionString)
+ echo XFree86VersionString > version
+#elif defined (XorgVersionString)
+ echo XorgVersionString > version
+#endif
+
+InstallNamedNonExec(version,.$(VENDORNAMESHORT)_Version,ProjectRoot)
+
+clean::
+ RemoveFile(version)
+#endif
+
+MakeSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
diff --git a/nx-X11/config/cf/Amoeba.cf b/nx-X11/config/cf/Amoeba.cf
new file mode 100644
index 000000000..858da13bd
--- /dev/null
+++ b/nx-X11/config/cf/Amoeba.cf
@@ -0,0 +1,428 @@
+XCOMM platform: $Xorg: Amoeba.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $
+XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.10tsi Exp $
+
+/* The presence of this configuration file in the X distribution
+ * does not imply full support for the system it describes.
+ * Additional patches from The XFree86 Project, Inc. will be required to
+ * compile the X distribution on Amoeba. According to them, these patches
+ * will also be made available at the regular Amoeba ftp site
+ * ftp.am.cs.vu.nl.
+ */
+
+/*
+ * Configuration file for Amoeba 5.2
+ */
+
+#ifndef OSName
+#define OSName Amoeba 5.2
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 5
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 2
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef OSVendor
+#define OSVendor Vrije Universiteit
+#endif
+
+#define AmoebaArchitecture YES
+
+/* Configuration defaults */
+#ifndef AmoebaTop
+#define AmoebaTop __AM_TOP__
+#endif
+#ifndef AmoebaBin
+#define AmoebaBin $(ATOP)/bin.sun4
+#endif
+#ifndef AmoebaConf
+#define AmoebaConf __AM_CONF__
+#endif
+
+#define HasNdbm YES
+#define NeedSdbm YES
+#define HasShm NO
+#define HasSecureRPC NO
+#define SetTtyGroup NO
+#define HasPutenv YES
+#define HasSockets NO
+#define HasStreams NO
+
+#if defined(Sun3Architecture) || defined(SparcArchitecture)
+#define XsunAmoebaServer YES
+#define XsunAmoebaMonoServer YES
+#endif
+
+#define BuildFonts NO
+#define BuildFontServer NO
+#define BuildXIE NO
+
+#define YaccCmd byacc
+#define TermcapLibrary /* in libajax */
+#define LexLib /* not needed */
+
+#define ServerOSDefines XFree86ServerOSDefines
+
+#define UsrLibDir $(DESTDIR)/profile/module/x11/lib
+#define LibDir $(DESTDIR)/profile/module/x11/lib
+#define ManDirectoryRoot $(DESTDIR)/profile/module/x11/man
+#define BinDir $(DESTDIR)/profile/module/x11/bin
+#define IncRoot $(DESTDIR)/profile/module/x11/include
+#define FontDir $(DESTDIR)/profile/module/x11/fonts/$(ARCH)
+#define DefaultRGBDatabase $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb
+
+#define ManSuffix 1
+#define ManPath ManDirectoryRoot
+#define XmanLocalSearchPath ManDirectoryRoot
+
+#define DefaultUserPath :/bin:$(BINDIR)
+#define DefaultSystemPath /bin:$(BINDIR):
+
+#define StandardIncludes -I$(ATOP)/src/h \
+ -I$(ATOP)/src/h/posix \
+ -I$(ATOP)/src/h/posix/machdep/$(ARCH) \
+ -I$(ATOP)/src/h/machdep/arch/$(ARCH) \
+ -I$(ATOP)/src/h/toolset/$(TOOLSET)
+
+#define Malloc0ReturnsNull YES
+#define ServerInstallFlags -s 32
+#define FontDefines -DFONT_SNF
+#define ConnectionFlags -DAMTCPCONN -DAMRPCCONN
+#define ServerXdmcpDefines /* no -DXDMCP */
+#define UseRgbTxt YES
+#define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC)
+#define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */
+
+#if defined(i386Architecture)
+#ifndef AckToolset
+#define AckToolset YES
+#define ExtraFPLoadFlags -fp
+#endif
+#define XF86MonoServer YES
+#endif
+
+#if defined(Sun3Architecture)
+#ifndef AckToolset
+#define AckToolset YES
+#endif
+#endif
+
+#if AckToolset
+#define CcCmd ack
+#define ServerCcCmd ack
+#define LdCmd ack
+#define AckArchOption -mam_$(ARCH)
+#define DefaultCCOptions AckArchOption
+#define LibraryCCOptions AckArchOption
+#define LdCombineFlags -Rled-r -c.out
+#define ArCmd aal clrv
+#define RanlibCmd /bin/true
+#define AsCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption
+#define AsIncl -I$(ATOP)/src/h/machdep/arch/$(ARCH)
+#define AsmDefines -DACK_ASSEMBLER
+#define LdPreLib /**/
+#define LdPostLib /**/
+#endif
+
+#if defined(SparcArchitecture)
+#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+
+#define CcCmd cc
+#define ServerCcCmd cc
+#define LdCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld
+#define DefaultCCOptions -sun4
+#define LibraryCCOptions -sun4
+#define AmoebaCompilerDefs -Usun
+#define ServerExtraDefines AllocateLocalDefines
+#define LdPostLib /**/
+#endif
+
+#ifndef AmoebaCompilerDefs
+#define AmoebaCompilerDefs /**/
+#endif
+
+#define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
+#define StandardDefines CommonAmoebaDefines
+#define StandardCppDefines StandardDefines
+
+#ifndef ExtraFPLoadFlags
+#define ExtraFPLoadFlags
+#endif
+#define MathLibrary $(ALIB)/math/libmath.a
+#define OSLibraries $(ALIB)/ajax/libajax.a \
+ $(ALIB)/amoeba/libamoeba.a \
+ MathLibrary \
+ ExtraFPLoadFlags
+#define ServerExtraSysLibs $(CBRT) OSLibraries
+#define ExtraLoadFlags OSLibraries
+
+ATOP = AmoebaTop
+ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib
+#if AckToolset
+/* The ACK toolset already links in the appropriate head.o by default */
+HEAD =
+#else
+HEAD = $(ALIB)/head/head.o
+#endif
+
+ABIN = AmoebaBin
+AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
+AINSTALLFLAGS =
+TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
+MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
+
+/* Make wizardy: */
+COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
+LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
+
+#if defined(i386Architecture)
+ARCH = i80386
+TOOLSET = ack
+ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
+
+#include <xorg.cf>
+#endif
+
+#if defined(Sun3Architecture)
+ARCH = mc68000
+TOOLSET = ack
+ALDFLAGS = -.c -Rcv-s32
+#endif
+
+#if defined(SparcArchitecture)
+ARCH = sparc
+TOOLSET = sun
+SPARCLIBDIR = AmoebaBin/gnu/sparc
+ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
+#endif
+
+#define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
+
+/*
+ * The rest of this files consists of rules to allow cross-compilation
+ * and installation of binaries and data files from the Unix host to
+ * the Amoeba file system.
+ */
+
+/* #ifdef CROSS_COMPILING */
+#define CrossCompiling YES
+
+#define HostLinkRule(target, flags, src, libs) cc -o target src
+
+#define LinkRule(program,options,objects,libraries) \
+$(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
+
+/* ComplexHostProgramTarget - Compile a program such that we can run
+ * it on this host, i.e., don't use the default cross compiler.
+ */
+#ifndef ComplexHostProgramTarget
+#define ComplexHostProgramTarget(program) @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexHostProgramTarget */
+
+#ifndef SimpleHostProgramTarget
+#define SimpleHostProgramTarget(program) @@\
+ OBJS = program.o @@\
+ SRCS = program.c @@\
+ @@\
+ComplexHostProgramTarget(program)
+#endif /* SimpleHostProgramTarget */
+
+
+#ifndef Concat
+#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+#define Concat(a,b)a##b
+#else
+#define Concat(a,b)a/**/b
+#endif
+#endif
+
+/*
+ * LintLibReferences - variables for lint libraries
+ */
+#ifndef LintLibReferences
+#define LintLibReferences(varname,libname,libsource) @@\
+Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
+#endif
+
+/*
+ * UnsharedLibReferences - variables for unshared libraries
+ */
+#ifndef UnsharedLibReferences
+#define UnsharedLibReferences(varname,libname,libsource) @@\
+Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
+ Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+#ifndef InstallLibrary
+#define InstallLibrary(libname,dest) @@\
+install:: Concat(lib,libname.a) @@\
+ @echo '** TODO: Install Library ' Concat(lib,libname.a)
+#endif /* InstallLibrary */
+
+#ifndef MergeIntoInstalledLibrary
+#define MergeIntoInstalledLibrary(tolib,fromlib) @@\
+install:: fromlib @@\
+ @echo '** TODO: merge ' fromlib into tolib
+#endif /* MergeIntoInstalledLibrary */
+
+#ifndef InstallLibraryAlias
+#define InstallLibraryAlias(libname,alias,dest) @@\
+install:: @@\
+ @echo '** TODO: Install lib alias ' libname alias dest
+#endif /* InstallLibraryAlias */
+
+#ifndef InstallLintLibrary
+#define InstallLintLibrary(libname,dest) @@\
+install.ln:: Concat(llib-l,libname.ln) @@\
+ @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln)
+#endif /* InstallLintLibrary */
+
+#ifndef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) @@\
+install.man:: file.man @@\
+ @echo '** TODO: Install man page ' file.man
+#endif /* InstallManPageLong */
+
+#ifndef InstallGenManPageLong
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+install.man:: file.man @@\
+ @echo '** TODO: Install man page ' file.man
+#endif /* InstallGenManPageLong */
+
+#ifndef InstallManPageAliases
+#define InstallManPageAliases(file,destdir,aliases) @@\
+install.man:: @@\
+ @(TMP=/tmp/tmp.$$$$; \ @@\
+ $(RM) $${TMP}; \ @@\
+ echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\
+ done; \ @@\
+ $(RM) $${TMP})
+#endif /* InstallManPageAliases */
+
+#ifndef InstallGenManPageAliases
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+install.man:: @@\
+ @(TMP=/tmp/tmp.$$$$; \ @@\
+ $(RM) $${TMP}; \ @@\
+ echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\
+ done; \ @@\
+ $(RM) $${TMP})
+#endif /* InstallGenManPageAliases */
+
+#ifndef InstallNamedNonExec
+#define InstallNamedNonExec(srcname,dstname,dest) @@\
+install:: srcname @@\
+ $(MKXDIRHIER) $(DESTDIR)dest @@\
+ $(TOB) srcname $(DESTDIR)dest/dstname
+#endif /* InstallNamedNonExec */
+
+#ifndef InstallNonExecFile
+#define InstallNonExecFile(file,dest) @@\
+install:: file @@\
+ $(MKXDIRHIER) dest @@\
+ $(TOB) file dest/file
+#endif /* InstallNonExecFile */
+
+#ifndef InstallNonExec
+#define InstallNonExec(file,dest) @@\
+install:: file @@\
+ $(TOB) file dest/file
+#endif /* InstallNonExec */
+
+#ifndef InstallProgramWithFlags
+#define InstallProgramWithFlags(program,dest,flags) @@\
+install:: program @@\
+ $(MKXDIRHIER) dest/program @@\
+ $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH)
+#endif /* InstallProgramWithFlags */
+
+#ifndef InstallScript
+#define InstallScript(program,dest) @@\
+install:: program.script @@\
+ $(TOB) program.script dest/program
+#endif /* InstallScript */
+
+#ifndef InstallNamedScript
+#define InstallNamedScript(srcname,dstname,dest) @@\
+install:: srcname @@\
+ $(TOB) srcname dest/dstname
+#endif /* InstallNamedScript */
+
+#ifndef InstallNamedProg
+#define InstallNamedProg(srcname,dstname,dest) @@\
+install:: srcname @@\
+ $(MKXDIRHIER) $(DESTDIR)dest/dstname @@\
+ $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH)
+#endif /* InstallNamedProg */
+
+#ifndef InstallMultipleDestFlags
+#define InstallMultipleDestFlags(step,list,dest,flags) @@\
+step:: list @@\
+ $(MKXDIRHIER) $(DESTDIR)dest @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; $(TOB) $$i dest/$$i); \ @@\
+ done
+#endif /* InstallMultipleDestFlags */
+
+#ifndef InstallMultipleProg
+#define InstallMultipleProg(list,dest) @@\
+install:: list @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ $(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\
+ $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\
+ done
+#endif /* InstallMultipleProg */
+
+#ifndef InstallAppDefaults
+#if InstallAppDefFiles
+#define InstallAppDefaults(class) @@\
+install:: class.ad @@\
+ $(MKXDIRHIER) $(XAPPLOADDIR) @@\
+ $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
+#else
+#define InstallAppDefaults(class)
+#endif /* InstallAppDefFiles */
+#endif /* InstallAppDefaults */
+
+#ifndef InstallAppDefaultsLong
+#if InstallAppDefFiles
+#define InstallAppDefaultsLong(file,class) @@\
+install:: file.ad @@\
+ $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\
+ $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class
+#else
+#define InstallAppDefaultsLong(file,class)
+#endif /* InstallAppDefFiles */
+#endif /* InstallAppDefaultsLong */
+
+/* #endif CROSS_COMPILE */
diff --git a/nx-X11/config/cf/DGUX.cf b/nx-X11/config/cf/DGUX.cf
new file mode 100644
index 000000000..722fe7bc6
--- /dev/null
+++ b/nx-X11/config/cf/DGUX.cf
@@ -0,0 +1,190 @@
+XCOMM platform: $XFree86: xc/config/cf/DGUX.cf,v 1.5 2000/07/07 20:06:56 tsi Exp $
+/* Copyright Takis Psarogiannakopoulos <takis@pmms.cam.ac.uk>
+ * This is the DG/ux configuration file of X11R6.3
+ */
+#define OSName DG/ux R4.20MU03
+#define i386Architecture
+#ifndef OSVendor
+#define OSVendor Data General Corporation
+#endif
+
+#define OSMajorVersion 4
+#define OSMinorVersion 20
+#define OSTeenyVersion 3
+#define BootstrapCFlags -DDGUX
+
+/* Some stuff that all SVR4s ,so and DG/ux, should have */
+
+#define SystemV4 YES
+#ifndef HasLdRunPath
+#define HasLdRunPath YES
+#endif
+#define HasPoll YES
+#ifndef SVR4Architecture
+#define SVR4Architecture
+#endif
+#ifndef PatheticCpp
+#define PatheticCpp YES
+#endif
+#define Malloc0ReturnsNull YES /* in case -lmalloc used */
+
+/*
+ * Here are the default paths to use tools for building.
+ */
+
+#define ArCmdBase /usr/bin/ar
+#define AsCmd /usr/bin/as
+#define CppCmd /usr/lib/cpp
+#define LdCmd /usr/bin/ld
+#define LexCmd /usr/bin/lex
+#define CcCmd /usr/local/bin/gcc /* ? -fpcc-struct-return */
+#define UNCOMPRESSPATH /usr/bin/uncompress
+#define MakeCmd /usr/local/bin/make
+#define YaccCmd /usr/bin/yacc
+#define InstallCmd /usr/bin/install /* I use gnu install-sh */
+#define LnCmd ln -s
+#define RanlibCmd true /* Or make a link ranlib->true */
+#define CplusplusCmd /usr/local/bin/g++
+
+
+
+
+
+
+#ifndef MkdirHierCmd
+#define MkdirHierCmd mkdir -p
+#endif
+/* Stuff for SVR4 4.0 */
+#ifndef XawI18nDefines
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+
+#define HasPutenv YES
+#define HasVFork YES
+#define HasVoidSignalReturn YES
+#define HasBsearch YES
+#define HasSockets YES
+#define BuildServer YES
+#define HasSharedLibraries YES /* to build shared libs */
+#define HasCplusplus YES
+#define HasGnuMake YES /* Added for 3.2Xc */
+#define UseGnuMalloc YES
+#define GnuMallocLibrary -L/usr/local/lib -lmalloc
+#define Malloc0ReturnsNull YES /* Added for 3.2Xh,i... GNU does return 0 */
+#define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL /* define for GNU malloc X3.2i */
+/*******TCL TK DEFINITIONS ***********/
+#define HasTk YES /* Comment out if you dont have this */
+#define TkLibDir /usr/X11R6.3/lib
+#define TkIncDir /usr/X11R6.3/include
+#define TkLibName tk8.0
+#define HasTcl YES
+#define TclLibName tcl8.0
+#define TclLibDir /usr/X11R6.3/lib
+#define TclIncDir /usr/X11R6.3/include
+
+#define SystemManDirectory /usr/local/man/X
+
+#define ExtraLibraries -lelf -lgen -lresolv -lsocket -lnsl -lw
+
+#define StandardDefines -DDGUX -DSVR4 -Di386 -D__ix86 -D_DGUX_SOURCE -D_LITTLE_ENDIAN -D_PENTIUM_CHANGE
+
+#define PositionIndependentCFlags -fpic
+#define PositionIndependentCplusplusFlags -fpic
+
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * we put this.
+ */
+#define ForceNormalLib YES
+
+#ifndef ToolkitStringsABIOptions
+#define ToolkitStringsABIOptions -intelabi -earlyR6bc
+#endif
+
+#ifndef DefaultCCOptions
+#define DefaultCCOptions /* -ansi -pedantic */
+#endif
+#define OptimizedCDebugFlags -O2 /* Add -g -mstandard for full debuging info */
+#define OptimizedCplusplusDebugFlags
+#define DebuggableCDebugFlags -g -mstandard
+#define DebuggableCplusplusDebugFlags
+#define SharedLibraryLoadFlags -G -z text
+#define PositionIndependentCFlags -fpic
+#define PositionIndependentCplusplusFlags -fpic
+
+
+
+/*
+ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ *
+#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
+ */
+
+/* Compress all the Fonts */
+#define CompressAllFonts YES
+
+
+
+/* Manual pages installed under their full names */
+
+#define ExpandManNames YES
+#define CompressManPages YES
+
+
+
+
+/* Install with stripping before ? */
+#define StripInstalledPrograms YES
+
+/* Server to Install */
+#define XserverNeedsSetUID YES
+#define InstallXserverSetUID YES
+
+
+#ifndef ServerOSDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#endif
+#ifndef BuildDynamicLoading
+#define BuildDynamicLoading NO
+#endif
+#if BuildDynamicLoading
+#define ServerExtraSysLibs -ldl
+#endif
+
+/*
+ * The TLI interface is more robust on most SVR4s, so it will be the default.
+ */
+#ifndef ConnectionFlags
+#define ConnectionFlags -DSTREAMSCONN -DUNIXCONN -DLOCALCONN
+#endif
+
+#ifndef ManSuffix
+#define ManSuffix 1x
+#define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+#define LibManSuffix 3x
+#define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+#define FileManSuffix 4
+#endif
+
+#ifndef StaticLibrary
+#ifndef HasGcc
+#define StaticLibrary(libpath,libname) -B static Concat(-L,libpath) Concat(-l,libname) -B dynamic
+#endif
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#ifdef i386Architecture
+#include <xorg.cf>
+#endif
+
+#include <sv4Lib.rules>
diff --git a/nx-X11/config/cf/DragonFly.cf b/nx-X11/config/cf/DragonFly.cf
new file mode 100644
index 000000000..feec8a50b
--- /dev/null
+++ b/nx-X11/config/cf/DragonFly.cf
@@ -0,0 +1,354 @@
+XCOMM $XdotOrg: xc/config/cf/DragonFly.cf,v 1.1 2005/03/02 11:20:29 gisburn Exp $
+
+#define UseElfFormat YES
+
+#define OSBinaryFormat [ELF]
+
+#ifndef OSName
+#define OSName DefaultOSName OSBinaryFormat
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+
+#ifndef OSRelVersion
+/* Include this to get finer-grained information about the OS version */
+#include "/usr/include/osreldate.h"
+#define OSRelVersion __DragonFly_version
+#endif
+
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion) (OSRelVersion)
+
+/*
+ * Base OS setup
+ */
+#define HasCplusplus YES
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define HasBasename YES
+#define HasBSD44Sockets YES
+#define HasDlopen YES
+#define HasGetIfAddrs YES
+#define HasIssetugid YES
+#define HasLibCrypt YES
+#define HasMktemp YES
+#define HasNCurses YES
+#define HasNdbm YES
+#define HasPlugin YES
+#define HasPoll YES
+#define HasPutenv YES
+#define HasUsableFileMmap YES
+#define HasSetProcTitle YES
+#define HasShm YES
+#define HasSnprintf YES
+#define HasStrlcat YES
+#define HasVarDb YES
+#define HasVarRun YES
+#define HasWChar32 YES
+#define HasWeakSymbols UseElfFormat
+#define BuildXaw6 NO /*depreciated*/
+#define BuildXaw7 NO /*depreciated*/
+#define BuildXaw YES /*needed*/
+#ifndef BuildPDFdocs
+#define BuildPDFdocs NO
+#endif
+#define IPv6SocketsAlsoIPv4 NO
+#define InstallXloadSetGID NO
+
+/*
+ * Multi-thread safe libs
+ */
+#ifndef HasLibPthread
+# define HasLibPthread NO
+#endif
+#define HasPosixThreads YES
+#define ThreadedX YES
+#define SystemMTDefines -D_REENTRANT -D_THREAD_SAFE
+#define HasThreadSafeAPI YES
+#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
+#if HasLibPthread
+# define ThreadsLibraries -lpthread
+#else
+# define ThreadsLibraries -pthread
+#endif
+
+
+#define AvoidNullMakeCommand YES
+#define StripInstalledPrograms YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+
+#define MkdirHierCmd mkdir -p
+
+#define LexCmd flex -l
+#define HasFlex YES
+
+#ifndef CcCmd
+# define CcCmd cc
+#endif
+#ifndef CplusplusCmd
+# define CplusplusCmd c++
+#endif
+#define CppCmd /usr/bin/cpp
+#define PreProcessCmd CppCmd
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#ifndef DefaultCCOptions
+# if defined(UseInstalled)
+# define DefaultCCOptions /**/
+# else
+# if defined(HasGcc3) && HasGcc3
+# define NoSystemWarn -Wno-system-headers
+# else
+# define NoSystemWarn
+# endif
+# define DefaultCCOptions -ansi NoSystemWarn -Dasm=__asm GccWarningOptions
+#endif
+#ifndef ExtraLibraries
+/* support for multi-byte locales is in libxpg4 rather than libc */
+#define ExtraLibraries -lxpg4
+#endif
+#define HasSetUserContext YES
+#define HasGetpeereid YES
+#define HasMTRRSupport YES
+
+#ifndef BuildXF86DRI
+# define BuildXF86DRI YES
+#endif
+
+#if defined(i386Architecture)
+#define HasAgpGart YES
+#endif
+
+/*
+ * SSE and 3DNow will be autodetected, so binutils is the only
+ * requirement for enabling this.
+ */
+#if defined(i386Architecture)
+# define HasX86Support YES
+# define HasMMXSupport YES
+# define Has3DNowSupport YES
+# define HasSSESupport YES
+#else
+# define HasX86Support NO
+# define HasMMXSupport NO
+# define Has3DNowSupport NO
+# define HasSSESupport NO
+#endif
+
+#ifndef UseRpath
+# define UseRpath YES
+#endif
+
+#ifndef RpathLoadFlags
+# if UseRpath
+# define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+# else
+# define RpathLoadFlags /**/
+# endif
+#endif
+
+#ifndef ExtraLoadFlags
+# if !defined(UseInstalled)
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+# else
+# define ExtraLoadFlags RpathLoadFlags
+# endif
+#endif
+
+#endif
+
+#ifndef LibraryRpathLoadFlags
+# if UseRpath
+# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH)
+# else
+# define LibraryRpathLoadFlags /**/
+# endif
+#endif
+
+#ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
+#endif
+
+#ifndef HasZlib
+# define HasZlib YES
+#endif
+
+#ifndef HasPam
+# define HasPam YES
+#endif
+
+/* Take from FreeBSD */
+/* There are two options for building. One is to assume that the system has
+ * many of the dependencies provided by the ports tree. The other is to just
+ * build everything from this tree.
+ */
+
+#ifndef HasStandardPorts
+# define HasStandardPorts YES
+#endif
+
+#ifndef LocalBase
+# define LocalBase /usr/local
+#endif
+#ifndef X11Base
+# define X11Base /usr/X11R6
+#endif
+
+#if HasStandardPorts
+
+#ifndef HasExpat
+# define HasExpat YES
+# define ExpatDir LocalBase
+#endif
+
+#ifndef HasFreetype2
+# define HasFreetype2 NO /* set this to YES once DragonFly ships FT218 */
+# define Freetype2Dir LocalBase
+#endif
+
+#ifndef HasFontconfig
+# define HasFontconfig YES
+# define FontconfigDir X11Base
+#endif
+
+#ifndef HasLibpng
+# define HasLibpng YES
+# define LibpngDir LocalBase
+#endif
+
+#endif /* HasStandardPorts */
+
+#undef InstallCmd
+#define InstallCmd /usr/bin/install
+
+#define AsmElfDefines -D__ELF__
+
+#if GccUsesGas
+# define GccGasOption -DGCCUSESGAS
+# define AsmDefines -DUSE_GAS AsmElfDefines
+#else
+# define GccGasOption /**/
+# define AsmDefines AsmElfDefines
+#endif
+
+#ifdef i386Architecture
+#define ServerExtraDefines GccGasOption XFree86ServerDefines
+#endif
+#if defined(Sparc64Architecture) || defined(ia64Architecture) || \
+ defined(AMD64Architecture)
+#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
+#endif
+
+#define StandardDefines -DCSRG_BASED
+
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#define HasMakefileSafeInclude YES
+#define IncludeMakefile(file) @@# dependencies are in .depend
+#define DependFileName .depend
+#ifndef DoLoadableServer
+# define DoLoadableServer YES
+#endif
+#ifndef ForceNormalLib
+# define ForceNormalLib YES
+#endif
+#define HasMkstemp YES
+
+#define OptimizedCDebugFlags -O
+
+#ifndef PreIncDir
+# define PreIncDir /usr/include
+#endif
+
+#define HasGroff YES
+#define NroffCmd env GROFF_NO_SGR=y groff -Tascii
+#define SetTtyGroup YES
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.core
+#endif
+
+#define DefaultUserPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/local/bin
+#define DefaultSystemPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR)
+#ifndef SystemManDirectory
+# define SystemManDirectory /usr/share/man
+#endif
+
+#define InstKmemFlags -g kmem -m 2755
+
+/*
+ * Compress manual pages
+ */
+#ifndef CompressManPages
+# define CompressManPages YES
+#endif
+
+#define HasBsdMake YES
+
+#ifndef StaticLibrary
+# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
+#endif
+
+#define DlLibrary -Wl,--export-dynamic
+
+#ifndef PamLibraries
+# define PamLibraries -lpam DlLibrary
+#endif
+
+#ifndef SharedLibXdmGreet
+# define SharedLibXdmGreet NO
+#endif
+
+/*
+ * On FreeBSD, the run-time loader will use the built-in "rpath" before
+ * LD_LIBRARY_PATH. This means that utilities like mkfontdir will load
+ * installed libraries (if they exist) in preference to the ones in the
+ * build tree, even though LD_LIBRARY_PATH points to the build tree.
+ * This can result in the build failing. One way to avoid this is to
+ * pre-load the libraries from the build tree.
+ *
+ * There should be a better way than this hack...
+ */
+#if UseElfFormat
+#ifndef PreloadFontSetup
+#define PreloadFontSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`"
+#endif
+#ifndef PreloadFreetypeSetup
+#define PreloadFreetypeSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`"
+#endif
+#ifndef PreloadXFTSetup
+#define PreloadXFTSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`"
+#endif
+#endif
+
+#ifndef HasCookieMaker
+# define HasCookieMaker YES
+# define MkCookieCmd \
+ 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
+#endif
+
+/*
+ * A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4
+ */
+#if (GccMajorVersion == 2 && GccMinorVersion == 95)
+# define GccOptBug295
+#endif
+
+#include <bsdLib.rules>
+
+#include <xorg.cf>
+
+
diff --git a/nx-X11/config/cf/FreeBSD.cf b/nx-X11/config/cf/FreeBSD.cf
new file mode 100644
index 000000000..80454b792
--- /dev/null
+++ b/nx-X11/config/cf/FreeBSD.cf
@@ -0,0 +1,582 @@
+XCOMM platform: $Xorg: FreeBSD.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $
+XCOMM platform: $XdotOrg: xc/config/cf/FreeBSD.cf,v 1.11 2005/05/04 04:14:57 anholt Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.147 2004/01/28 01:46:21 dawes Exp $
+
+#ifndef UseElfFormat
+#define UseElfFormat DefaultToElfFormat
+#endif
+
+#if UseElfFormat
+#define OSBinaryFormat [ELF]
+#else
+#define OSBinaryFormat [a.out]
+#endif
+
+#ifndef OSName
+#define OSName DefaultOSName OSBinaryFormat
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef OSRelVersion
+/* Include this to get finer-grained information about the OS version */
+#include "/usr/include/osreldate.h"
+#define OSRelVersion __FreeBSD_version
+#endif
+
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) (OSRelVersion)
+
+
+#define HasCplusplus YES
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define HasNdbm YES
+#define HasPutenv YES
+#define HasSnprintf YES
+#if OSMajorVersion == 3 && OSMinorVersion >= 3 || OSMajorVersion > 3
+# define HasStrlcat YES
+#endif
+#if OSMajorVersion == 4 && OSMinorVersion >= 2 || OSMajorVersion > 4
+# define HasBasename YES
+#else
+# define HasBasename NO
+#endif
+#define HasBSD44Sockets YES
+#define HasDlopen YES
+#if ((OSRelVersion >= 410002) && OSRelVersion < 500000) || (OSRelVersion >= 500012)
+#define HasSetProcTitle YES
+#endif
+#ifndef HasLibCrypt
+# define HasLibCrypt YES
+#endif
+#ifndef HasShm
+# define HasShm YES
+#endif
+#define HasWChar32 YES
+#define HasUsableFileMmap YES
+#define HasNCurses YES
+#define HasVarRun YES
+#define HasVarDb YES
+#ifndef BuildPDFdocs
+# define BuildPDFdocs NO
+#endif
+#if (OSMajorVersion >= 3)
+#define HasIssetugid YES
+#define HasPoll YES
+#endif
+
+#if OSMajorVersion >= 4
+#define HasGetIfAddrs YES
+#endif
+
+/* All versions define AF_INET6. 3.x and earlier don't have IPv6 support. */
+#if OSMajorVersion < 4
+#ifndef BuildIPv6
+#define BuildIPv6 NO
+#endif
+#endif
+
+#define IPv6SocketsAlsoIPv4 NO
+
+#if (OSMajorVersion > 1)
+#define InstallXloadSetGID NO
+#else
+#define InstallXloadSetGID YES
+#endif
+
+#define HasWeakSymbols UseElfFormat
+
+/*
+ * Multi-thread safe libs
+ */
+/* 2.2.7 and later has libc_r (POSIX threads) */
+#if OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7 || \
+ OSMajorVersion >= 3
+# define HasPosixThreads YES
+# define ThreadedX YES
+# define HasThreadSafeAPI YES
+# if OSRelVersion < 501000
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
+# else
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API
+# endif
+# if (OSRelVersion < 500043)
+# define NeedUIThrStubs YES
+# endif
+# if (OSRelVersion >= 502102)
+# define ThreadsLibraries -lpthread
+# elif (OSRelVersion >= 500016)
+# define ThreadsLibraries -lc_r
+# else
+# define ThreadsLibraries -pthread
+# endif
+# define SystemMTDefines -D_THREAD_SAFE
+#endif
+
+/* This fixes linking C programs against libGLU on FreeBSD 3.x */
+#if (OSMajorVersion == 3)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB) -lstdc++ -lgcc
+#endif
+
+#define AvoidNullMakeCommand YES
+#define StripInstalledPrograms YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+
+#define HasPlugin YES
+#define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */
+
+#define MkdirHierCmd mkdir -p
+
+#ifndef LexCmd
+#define LexCmd flex -l
+#endif
+#ifndef HasFlex
+#define HasFlex YES
+#endif
+
+#ifndef HasMktemp
+#if (OSMajorVersion >= 4) || (OSMajorVersion == 3 && OSMinorVersion >= 1) || \
+ (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7)
+#define HasMktemp YES
+#else
+#define HasMktemp NO
+#endif
+#endif
+
+/*
+ * 2.2.x has perl 4 by default, not perl 5.
+ */
+#if (OSMajorVersion <= 2)
+#ifndef HasPerl5
+#define HasPerl5 NO
+#endif
+#endif
+
+#ifndef CcCmd
+#define CcCmd cc
+#endif
+#ifndef CplusplusCmd
+#define CplusplusCmd c++
+#endif
+#define CppCmd /usr/bin/cpp
+#define PreProcessCmd CppCmd
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#ifndef DefaultCCOptions
+#if defined(UseInstalled)
+#define DefaultCCOptions /**/
+#else
+#if defined(HasGcc3) && HasGcc3
+#define NoSystemWarn -Wno-system-headers
+#else
+#define NoSystemWarn
+#endif
+#define DefaultCCOptions -ansi -pedantic NoSystemWarn -Dasm=__asm \
+ GccWarningOptions
+#endif
+#endif
+#ifndef ExtraLibraries
+/* support for multi-byte locales is in libxpg4 rather than libc */
+#if (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)) && \
+ !(OSMajorVersion == 4 && OSRelVersion >= 400020) && \
+ !(OSRelVersion >= 500005)
+#define ExtraLibraries -lxpg4
+#else
+#define ExtraLibraries /**/
+#endif
+#endif
+#ifndef UseGnuMalloc
+/* 2.2 doesn't really have GnuMalloc */
+#if OSMajorVersion < 2 || (OSMajorVersion == 2 && OSMinorVersion < 2)
+#define UseGnuMalloc YES
+#else
+#define UseGnuMalloc NO
+#endif
+#endif
+/* 2.2.2 and later has setusercontext() */
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2) || \
+ (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 2)
+#define HasSetUserContext YES
+#endif
+
+#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 6)
+#define HasGetpeereid YES
+#endif
+
+/* 3.3(?) and later has support for setting MTRRs */
+#ifndef HasMTRRSupport
+#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 3)
+#define HasMTRRSupport YES
+#else
+#define HasMTRRSupport NO
+#endif
+#endif
+
+/*
+ * Drivers that don't need AGP can work with 4.0, but we don't have a
+ * mechanism for specifying a subset of drivers in the OS.cf files yet.
+ */
+#ifndef BuildXF86DRI
+#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1)
+#define BuildXF86DRI YES
+#endif
+#endif
+
+/*
+ * 4.1/i386 and 5.0/i386,alpha,ia64,amd64 have the AGP driver.
+ */
+#ifndef HasAgpGart
+#if defined(i386Architecture) && \
+ (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 1))
+#define HasAgpGart YES
+#endif
+#if (defined(AlphaArchitecture) || defined(ia64Architecture) || \
+ defined(AMD64Architecture)) && (OSMajorVersion >= 5)
+#define HasAgpGart YES
+#endif
+#endif
+
+/*
+ * SSE and 3DNow will be autodetected, so binutils is the only
+ * requirement for enabling this. By 4.2 they were all supported.
+ */
+#if defined(AMD64Architecture) || defined(i386Architecture) && \
+ (OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 2))
+# define HasX86Support YES
+# define HasMMXSupport YES
+# define Has3DNowSupport YES
+# define HasSSESupport YES
+#else
+# define HasX86Support NO
+# define HasMMXSupport NO
+# define Has3DNowSupport NO
+# define HasSSESupport NO
+#endif
+
+/*
+ * This doesn't work the way it does on every other system. On FreeBSD it's
+ * only a "hint, not a demand", whatever that means. Note that this is not
+ * what it says in the ld and ld.so man pages, which are rather vague on the
+ * matter.
+ *
+ * But we do know that if a) you do what the X Project team does and set your
+ * ProjectRoot to something like "/X11", and b) you have other X libraries,
+ * e.g. in /usr/X11R6/lib, and you have added /usr/X11R6/lib to your
+ * ld.so.cache with ldconfig, then any programs linked with this "hint" will
+ * find that ld.so ignores the "hint" at runtime and loads the libraries in
+ * the ld.so.cache, i.e.the wrong ones, instead! Empirically we find that
+ * the run-path is only used as a last resort to find the libraries, after
+ * the LD_LIBRARY_PATH and ld.so.cache.
+ *
+ * N. B. to FreeBSD users who are not familiar with the semantics of the run-
+ * path on other systems. The run-path is akin to a per-program ld.so.cache.
+ * If a program is linked with a run-path, that run-path should take
+ * precedence over _everything_ else! In my opinion ldconfig and the
+ * ld.so.cache should be deprecated immediately now that FreeBSD has run-
+ * paths. Any program that needs libraries that are outside the "well known"
+ * locations should be linked with a run-path.
+ *
+ * All of which begs the question: If this option doesn't work in any useful
+ * way, why did they (FreeBSD) bother to add it? It would be nice if FreeBSD
+ * would fix ld.so so that run-paths are truly useful.
+ *
+ * Using run-paths is added with the intent that vendors who ship X for
+ * FreeBSD should use it too. Once everyone uses it then there will be no
+ * reason for FreeBSD to assume that it knows where X libraries are installed
+ * and they can remove it from the list of directories they add to ld.so.cache
+ * in their /etc/rc file.
+ */
+
+#ifndef UseRpath
+# define UseRpath YES
+#endif
+
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2)
+
+# ifndef RpathLoadFlags
+# if UseRpath
+# if UseElfFormat
+# define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+# else
+# define RpathLoadFlags -Wl,-R,$(USRLIBDIRPATH)
+# endif
+# else
+# define RpathLoadFlags /**/
+# endif
+# endif
+
+# ifndef ExtraLoadFlags
+# if UseElfFormat && !defined(UseInstalled)
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+# else
+# define ExtraLoadFlags RpathLoadFlags
+# endif
+# endif
+
+#endif
+
+#ifndef LibraryRpathLoadFlags
+# if UseRpath
+# if UseElfFormat
+# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH)
+# else
+# define LibraryRpathLoadFlags -R $(USRLIBDIRPATH)
+# endif
+# else
+# define LibraryRpathLoadFlags /**/
+# endif
+#endif
+
+#ifndef SharedLibraryLoadFlags
+# if UseElfFormat
+# define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
+# else
+# define SharedLibraryLoadFlags -Bshareable LibraryRpathLoadFlags
+# endif
+#endif
+
+#ifndef GnuMallocLibrary
+#define GnuMallocLibrary -lgnumalloc
+#endif
+
+#if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 2) \
+ || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 6)
+/* 2.1.6 and 2.2 have libz */
+#ifndef HasZlib
+#define HasZlib YES
+#endif
+#endif
+
+/* PAM appeared in FreeBSD 3.1 */
+#if (OSMajorVersion > 3) || (OSMajorVersion == 3 && OSMinorVersion >=1 )
+#ifndef HasPam
+#define HasPam YES
+#endif
+#endif
+
+/* There are two options for building. One is to assume that the system has
+ * many of the dependencies provided by the ports tree. The other is to just
+ * build everything from this tree.
+ */
+
+#ifndef HasStandardPorts
+#define HasStandardPorts YES
+#endif
+
+#ifndef LocalBase
+#define LocalBase /usr/local
+#endif
+#ifndef X11Base
+#define X11Base /usr/X11R6
+#endif
+
+#if HasStandardPorts
+
+#ifndef HasExpat
+# define HasExpat YES
+# define ExpatDir LocalBase
+#endif
+
+#ifndef HasFreetype2
+# define HasFreetype2 YES
+# define Freetype2Dir LocalBase
+#endif
+
+#ifndef HasFontconfig
+# define HasFontconfig YES
+# define FontconfigDir X11Base
+#endif
+
+#ifndef HasLibpng
+# define HasLibpng YES
+# define LibpngDir LocalBase
+#endif
+
+#endif /* HasStandardPorts */
+
+#undef InstallCmd
+#define InstallCmd /usr/bin/install
+
+#if UseElfFormat
+# define AsmElfDefines -D__ELF__
+#else
+# define AsmElfDefines /**/
+#endif
+
+#if GccUsesGas
+# define GccGasOption -DGCCUSESGAS
+# define AsmDefines -DUSE_GAS AsmElfDefines
+#else
+# define GccGasOption /**/
+# define AsmDefines AsmElfDefines
+#endif
+
+#ifdef i386Architecture
+#define ServerExtraDefines GccGasOption XFree86ServerDefines
+#endif
+#if defined(AlphaArchitecture) || defined(Sparc64Architecture) || \
+ defined(ia64Architecture) || defined(AMD64Architecture)
+#define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
+#endif
+#ifdef Sparc64Architecture
+#define AsVISOption -Av9a
+#define AsOutputArchSize 64
+#endif
+
+#ifdef PpcArchitecture
+#define XF86INT10_BUILD X86INT10_STUB
+#endif
+
+#define StandardDefines -DCSRG_BASED
+
+#if OSMajorVersion > 1
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#define HasMakefileSafeInclude YES
+#define IncludeMakefile(file) @@# dependencies are in .depend
+#define DependFileName .depend
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+#define HasMkstemp YES
+#else
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */
+#ifndef DefaultGcc2i386Opt
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5)
+#define DefaultGcc2i386Opt -O2 GccAliasingArgs
+#endif
+#endif
+
+#ifdef i386Architecture
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+#else
+# define OptimizedCDebugFlags -O
+#endif
+
+#ifndef PreIncDir
+# define PreIncDir /usr/include
+#endif
+
+#define HasGroff YES
+#define NroffCmd env GROFF_NO_SGR=y groff -Tascii
+#define SetTtyGroup YES
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.core
+#endif
+
+#define DefaultUserPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/gnu/bin:/usr/local/bin
+#define DefaultSystemPath /bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR)
+#ifndef SystemManDirectory
+#define SystemManDirectory /usr/share/man
+#endif
+
+#define InstKmemFlags -g kmem -m 2755
+
+/*
+ * Compress manual pages
+ */
+#ifndef CompressManPages
+# define CompressManPages YES
+#endif
+
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 1)
+#define HasBsdMake YES
+#endif
+
+#ifndef StaticLibrary
+#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
+#endif
+
+#if UseElfFormat
+#define DlLibrary -rdynamic
+#else
+#define DlLibrary /**/
+#endif
+
+#ifdef AlphaArchitecture
+#define IoLibrary -lio
+#else
+#define IoLibrary /**/
+#endif
+
+#define ServerExtraSysLibs IoLibrary
+
+#ifndef PamLibraries
+#define PamLibraries -lpam DlLibrary
+#endif
+
+#ifndef SharedLibXdmGreet
+# define SharedLibXdmGreet NO
+#endif
+
+/*
+ * On FreeBSD, the run-time loader will use the built-in "rpath" before
+ * LD_LIBRARY_PATH. This means that utilities like mkfontdir will load
+ * installed libraries (if they exist) in preference to the ones in the
+ * build tree, even though LD_LIBRARY_PATH points to the build tree.
+ * This can result in the build failing. One way to avoid this is to
+ * pre-load the libraries from the build tree.
+ *
+ * There should be a better way than this hack...
+ */
+#if UseElfFormat
+#ifndef PreloadFontSetup
+#define PreloadFontSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(XFONTPRELOADPATTERN))`"
+#endif
+#ifndef PreloadFreetypeSetup
+#define PreloadFreetypeSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN))`"
+#endif
+#ifndef PreloadXFTSetup
+#define PreloadXFTSetup LD_PRELOAD="`(cd $(XENVLIBDIR); echo $(FT2PRELOADPATTERN) $(XFTPRELOADPATTERN) $(XRENDERPRELOADPATTERN) $(FCPRELOADPATTERN))`"
+#endif
+#endif
+
+#ifndef HasCookieMaker
+/* Which versions have /dev/urandom? */
+#if OSMajorVersion >= 4
+#define HasCookieMaker YES
+#define MkCookieCmd \
+ 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
+#else
+#define HasCookieMaker NO
+#endif
+#endif
+
+/*
+ * A hack to work around an optimization problem with gcc 2.95.2 - 2.95.4
+ */
+#if (GccMajorVersion == 2 && GccMinorVersion == 95)
+#define GccOptBug295
+#endif
+
+#include <bsdLib.rules>
+
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf
new file mode 100644
index 000000000..1be537b80
--- /dev/null
+++ b/nx-X11/config/cf/Imake.cf
@@ -0,0 +1,1180 @@
+XCOMM $XdotOrg: xc/config/cf/Imake.cf,v 1.12 2005/11/08 06:33:24 jkj Exp $
+XCOMM $Xorg: Imake.cf,v 1.4 2000/08/17 19:41:45 cpqbld Exp $
+/*
+ * To add support for another platform:
+ *
+ * 1. Identify a machine-specific cpp symbol. If your preprocessor
+ * does not have any built in, you will need to add the symbol to the
+ * cpp_argv table in config/imake/imakemdep.h and rebuild imake with
+ * the BOOTSTRAPCFLAGS variable set (see the macII for an example).
+ *
+ * 2. Add all machine-specific cpp symbols (either defined by you or by
+ * the preprocessor or compiler) to the predefs table in
+ * config/imake/imakemdep.h.
+ *
+ * 3. But a new #ifdef block below that defines MacroIncludeFile and
+ * MacroFile for your new platform and then #undefs the machine-
+ * specific preprocessor symbols (to avoid problems with file names).
+ *
+ * 4. Create a .cf file with the name given by MacroFile.
+ */
+XCOMM $XFree86: xc/config/cf/Imake.cf,v 3.88 2003/12/16 21:30:21 herrb Exp $
+
+#if defined(__APPLE__)
+# undef __APPLE__
+# define MacroIncludeFile <darwin.cf>
+# define MacroFile darwin.cf
+# define DarwinArchitecture
+# ifdef __ppc__
+# define PpcDarwinArchitecture
+# undef __ppc__
+# endif
+# ifdef __i386__
+# define i386DarwinArchitecture
+# undef __i386__
+# endif
+#endif
+
+#if defined(clipper) || defined(__clipper__)
+# undef clipper
+# define MacroIncludeFile <ingr.cf>
+# define MacroFile ingr.cf
+# define IngrArchitecture
+#endif /* clipper */
+
+#ifdef __CYGWIN__
+#define MacroIncludeFile <cygwin.cf>
+#define MacroFile cygwin.cf
+#define cygwinArchitecture
+#define i386Architecture
+#undef i386
+#undef i486
+#undef i586
+#undef i686
+#undef __i386__
+#undef _X86_
+#undef __CYGWIN__
+#endif /* CYGWIN */
+
+#ifdef ultrix
+# define MacroIncludeFile <ultrix.cf>
+# define MacroFile ultrix.cf
+# ifdef vax
+# undef vax
+# define VaxArchitecture
+# endif
+# ifdef mips
+# undef mips
+# define MipsArchitecture
+# define MipselArchitecture
+# endif
+# undef ultrix
+# define UltrixArchitecture
+#endif /* ultrix */
+
+#if defined(vax) && !defined(UltrixArchitecture) && !defined(__OpenBSD__)
+# define MacroIncludeFile <bsd.cf>
+# define MacroFile bsd.cf
+# undef vax
+# define BSDArchitecture
+# define VaxArchitecture
+#endif /* vax */
+
+#ifdef __bsdi__
+# define MacroIncludeFile <bsdi.cf>
+# define MacroFile bsdi.cf
+# undef __bsdi__
+# ifdef bsdi
+# undef bsdi
+# endif
+# define BSDOSArchitecture
+# if defined(__i386__) || defined(i386)
+# define i386BsdArchitecture
+# define i386Architecture
+# undef i386
+# undef __i386__
+# endif
+# if defined(__ppc__) || defined(ppc)
+# define PpcBsdArchitecture
+# define PpcArchitecture
+# undef ppc
+# undef __ppc__
+# endif
+# if defined(__sparc__) || defined(__sparc_v9__) || defined(sparc)
+# define SparcBsdArchitecture
+# define SparcArchitecture
+# undef sparc
+# undef __sparc__
+# undef __sparc_v9__
+# endif
+#endif /* bsdi */
+
+#ifdef __OpenBSD__
+# undef __OpenBSD__
+# undef __NetBSD__
+# define OpenBSDArchitecture
+# define KOpenBSDArchitecture
+# define MacroIncludeFile <OpenBSD.cf>
+# define MacroFile OpenBSD.cf
+# ifdef __i386__
+# define i386BsdArchitecture
+# define i386Architecture
+# undef i386
+# endif
+# if defined(__sparc__) || defined(sparc)
+# if !defined(__arch64__)
+# define SparcArchitecture
+# else
+# define Sparc64Architecture
+# endif
+# undef sparc
+# endif
+# if defined(__mips__) || defined(mips)
+# define MipsArchitecture
+# ifdef arc
+# define ArcArchitecture
+# undef arc
+# endif
+# ifdef pmax
+# define PmaxArchitecture
+# undef pmax
+# endif
+# undef mips
+# endif
+# if defined(__alpha__) || defined(alpha)
+# define AlphaArchitecture
+# undef __alpha__
+# undef alpha
+# endif
+# if defined(__amd64__) || defined(__x86_64__)
+# define AMD64Architecture
+# undef __amd64__
+# undef __x86_64__
+# undef amd64
+# endif
+# if defined(__mc68020__) || defined(mc68020)
+# define Mc68020Architecture
+# if defined(amiga)
+# define AmigaArchitecture
+# undef amiga
+# endif
+# if defined(hp300)
+# define Hp300Architecture
+# undef hp300
+# endif
+# if defined(mac68k)
+# define Mac68kArchitecture
+# undef mac68k
+# endif
+# if defined(mvme68k)
+# define Mvme68kArchitecture
+# undef mvme68k
+# endif
+# if defined(sun3)
+# define Sun3Architecture
+# undef sun3
+# endif
+# undef mc68000
+# endif
+# ifdef __powerpc__
+# define PpcArchitecture
+# undef __powerpc__
+# undef __macppc__
+# undef macppc
+# endif
+# ifdef __vax__
+# undef vax
+# undef __vax__
+# define VaxArchitecture
+# endif
+# ifdef __hppa__
+# ifndef HPArchitecture
+# define HPArchitecture
+# endif
+# undef __hppa__
+# endif /* __hppa__ */
+#endif /* OpenBSD */
+
+/* Systems based on kernel of OpenBSD */
+#if defined(__OpenBSD_kernel__)
+#define KOpenBSDArchitecture
+#endif
+
+#ifdef __NetBSD__
+# define MacroIncludeFile <NetBSD.cf>
+# define MacroFile NetBSD.cf
+# undef __NetBSD__
+# define NetBSDArchitecture
+# define KNetBSDArchitecture
+# ifdef __i386__
+# define i386BsdArchitecture
+# define i386Architecture
+# undef i386
+# endif
+# if defined(__sparc64__) || defined(__sparc_v9__) || defined(__arch64__)
+# define Sparc64Architecture
+# endif
+# if defined(__sparc__) || defined(sparc)
+# define SparcArchitecture
+# undef sparc
+# if defined(__sparc_v9__) || defined(__arch64__)
+# define Sparc64Architecture
+# endif
+# endif
+# ifdef mips
+# define MipsArchitecture
+# define ArcArchitecture
+# undef mips
+# endif
+# ifdef __alpha__
+# define AlphaArchitecture
+# define AlphaBsdArchitecture
+# undef __alpha__
+# endif
+# ifdef mc68000
+# define Mc68020Architecture
+# endif
+# ifdef __arm32__
+# define Arm32Architecture
+# undef __arm32__
+# endif
+# ifdef __vax__
+# define VaxArchitecture
+# undef __vax__
+# endif
+# ifdef __powerpc__
+# define PpcArchitecture
+# undef __powerpc__
+# endif
+#endif /* NetBSD */
+
+/* Systems based on kernel of NetBSD */
+#if defined(__NetBSD_kernel__)
+#define KNetBSDArchitecture
+#endif
+
+#ifdef __DragonFly__
+# define MacroIncludeFile <DragonFly.cf>
+# define MacroFile DragonFly.cf
+# undef __DragonFly__
+# undef __FreeBSD__
+# define DragonFlyArchitecture
+# define FreeBSDArchitecture
+# ifdef __i386__
+# define i386BsdArchitecture
+# define i386Architecture
+# undef i386
+# endif
+# ifdef __sparc64__
+# define Sparc64Architecture
+# undef __sparc64__
+# endif
+# ifdef __ia64__
+# define ia64Architecture
+# undef __ia64__
+# endif
+# ifdef __amd64__
+# define x86_64Architecture
+# undef __amd64__
+# undef __x86_64__
+# endif
+#endif /* __DragonFly__ */
+
+#ifdef __FreeBSD__
+# define MacroIncludeFile <FreeBSD.cf>
+# define MacroFile FreeBSD.cf
+# undef __FreeBSD__
+# define FreeBSDArchitecture
+# define KFreeBSDArchitecture
+# ifdef __i386__
+# define i386BsdArchitecture
+# define i386Architecture
+# undef i386
+# endif
+# ifdef __alpha__
+# define AlphaBsdArchitecture
+# define AlphaArchitecture
+# undef __alpha__
+# endif
+# ifdef __sparc64__
+# define Sparc64Architecture
+# undef __sparc64__
+# endif
+# ifdef __ia64__
+# define ia64Architecture
+# undef __ia64__
+# endif
+# ifdef __amd64__
+# define AMD64Architecture
+# undef __amd64__
+# undef __x86_64__
+# endif
+# ifdef __powerpc__
+# define PpcArchitecture
+# undef __powerpc__
+# endif
+#endif /* __FreeBSD__ */
+
+/* Systems based on kernel of FreeBSD */
+#if defined(__FreeBSD_kernel__)
+#define KFreeBSDArchitecture
+#endif
+
+#ifdef AMOEBA
+ /* Should be before the 'sun' entry because we may be cross-compiling */
+# define MacroIncludeFile <Amoeba.cf>
+# define MacroFile Amoeba.cf
+# if defined(i80386) || defined(__i80386__)
+# undef i80386
+# define i386Architecture
+# else
+# if defined(mc68000) || defined(__mc68000__)
+# undef mc68000
+# define Sun3Architecture
+# define SunArchitecture
+# else
+# if defined(sparc) || defined(__sparc__)
+# undef sparc
+# define SparcArchitecture
+# define SunArchitecture
+# endif
+# endif
+# undef sun
+# endif
+#endif /* AMOEBA */
+
+#ifdef sun
+# define MacroIncludeFile <sun.cf>
+# define MacroFile sun.cf
+# ifdef SVR4
+# undef SVR4
+# define SVR4Architecture
+# endif
+# ifdef sparc
+# undef sparc
+# define SparcArchitecture
+# endif
+# ifdef __sparcv9
+# undef __sparcv9
+# define Sparc64Architecture
+# endif
+# ifdef mc68000
+# undef mc68000
+# define Sun3Architecture
+# endif
+# if defined(__amd64) || defined(__x86_64)
+# undef __amd64
+# undef __x86_64
+# undef amd64
+# undef i386
+# define AMD64Architecture
+# endif
+# ifdef i386
+# undef i386
+# define i386Architecture
+# endif
+# undef sun
+# define SunArchitecture
+#endif /* sun */
+
+#ifdef hpux
+# define MacroIncludeFile <hp.cf>
+# define MacroFile hp.cf
+# undef hpux
+# define HPArchitecture
+#endif /* hpux */
+
+#ifdef __SCO__
+# define MacroIncludeFile <sco5.cf>
+# define MacroFile sco5.cf
+# undef __SCO__
+# undef sco
+# undef USL
+# undef SYSV
+# undef i386
+# undef SCO
+# undef SVR4
+# define i386Architecture
+# define SCOArchitecture
+# define i386SVR3Architecture
+# define SVR3Architecture
+# define i386ScoArchitecture
+# define i386Sco325Architecture
+# undef i386
+# undef i486
+# undef i586
+# undef i686
+# undef k6
+# undef __i386__
+# undef __i486__
+# undef __i586__
+# undef __i686__
+# undef __k6__
+# undef __i386
+# undef __i486
+# undef __i586
+# undef __i686
+# undef __k6
+# undef pentium
+# undef __pentium
+# undef pentiumpro
+# undef __pentiumpro
+#endif /* __SCO__ - SCO Open Server 5 */
+
+#ifdef __UNIXWARE__
+# define MacroIncludeFile <usl.cf>
+# define MacroFile usl.cf
+# undef __UNIXWARE__
+# undef USL
+# undef SVR4
+# undef i386
+# undef SVR5
+# undef SYSV5
+# define SVR4Architecture
+# define i386Architecture
+# define USLArchitecture
+# define UnixWareArchitecture
+# undef i386
+# undef i486
+# undef i586
+# undef i686
+# undef k6
+# undef __i386__
+# undef __i486__
+# undef __i586__
+# undef __i686__
+# undef __k6__
+# undef __i386
+# undef __i486
+# undef __i586
+# undef __i686
+# undef __k6
+# undef pentium
+# undef __pentium
+# undef pentiumpro
+# undef __pentiumpro
+#endif /* __UNIXWARE__ */
+
+#ifdef NCR
+# define MacroIncludeFile <ncr.cf>
+# define MacroFile ncr.cf
+# undef NCR
+# undef SVR4
+# undef i386
+# define SVR4Architecture
+# define i386Architecture
+# define NCRArchitecture
+#endif /* NCR */
+
+#ifdef apollo
+# define MacroIncludeFile <apollo.cf>
+# define MacroFile apollo.cf
+# undef apollo
+# define ApolloArchitecture
+#endif /* apollo */
+
+#ifdef sony
+# define MacroIncludeFile <sony.cf>
+# define MacroFile sony.cf
+# undef sony
+# undef sony_news
+# define SonyArchitecture
+# ifdef mc68020
+# undef mc68020
+# undef mc68030
+# define Mc68020Architecture
+# endif
+# ifdef mips
+# undef mips
+# define MipsArchitecture
+# endif
+# ifdef __svr4
+# define SVR4Architecture
+# else
+# if !defined(bsd43) || defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
+# define SonySysvArchitecture
+# else
+# define SonyBsdArchitecture
+# endif
+# endif
+#endif /* sony */
+
+#ifdef M4310
+# define MacroIncludeFile <pegasus.cf>
+# define MacroFile pegasus.cf
+# undef M4310
+# define PegasusArchitecture
+#endif /* M4310 */
+
+#ifdef M4330
+# define MacroIncludeFile <m4330.cf>
+# define MacroFile m4330.cf
+# undef M4330
+# define M4330Architecture
+#endif /* M4330 */
+
+#ifdef macII
+# define MacroIncludeFile <macII.cf>
+# define MacroFile macII.cf
+# undef macII
+# define MacIIArchitecture
+#endif /* macII */
+
+#ifdef _CRAY
+# define MacroIncludeFile <cray.cf>
+# define MacroFile cray.cf
+# undef cray
+# undef CRAY
+# undef CRAY1
+# undef CRAY2
+# undef YMP
+# define CrayArchitecture
+#endif /* _CRAY */
+
+#ifdef sgi
+# define MacroIncludeFile <sgi.cf>
+# define MacroFile sgi.cf
+# undef sgi
+# define SGIArchitecture
+# undef mips
+# undef __mips
+# define MipsArchitecture
+# ifdef _SVR4
+# undef _SVR4
+# define SVR4Architecture
+# endif
+# ifdef _SYSTYPE_SVR4
+# undef _SYSTYPE_SVR4
+# define SVR4Architecture
+# endif
+#endif /* sgi */
+
+#ifdef stellar
+# define MacroIncludeFile <stellar.cf>
+# define MacroFile stellar.cf
+# undef stellar
+# define StellarArchitecture
+#endif /* stellar */
+
+#if defined(ibm) || defined(_IBMR2) || defined(ibm032) || defined(aix)
+# define MacroIncludeFile <ibm.cf>
+# define MacroFile ibm.cf
+# ifdef ibm
+# undef ibm
+# endif
+# define IBMArchitecture
+# ifdef i386
+# undef i386
+# define PS2Architecture
+# endif
+# ifdef ibm032
+# undef ibm032
+# define RtArchitecture
+# endif
+# ifdef aix
+# undef aix
+# define AIXArchitecture
+# endif
+# ifdef _IBMR2
+# undef _IBMR2
+# if (DefaultOSMajorVersion < 5)
+# define RsArchitecture
+# else
+# define PpcArchitecture
+# endif
+# endif
+#endif /* ibm */
+
+#ifdef luna
+# undef luna
+# define MacroIncludeFile <luna.cf>
+# define MacroFile luna.cf
+# define LunaArchitecture
+# ifdef mc68000
+# undef mc68000
+# define Mc68000Architecture
+# else
+# undef mc88000
+# define Mc88000Architecture
+# endif
+#endif /* luna */
+
+#ifdef Mips
+# define MacroIncludeFile <Mips.cf>
+# define MacroFile Mips.cf
+# undef Mips
+# undef mips
+# if defined(SYSTYPE_BSD43) || defined(BSD) || defined(BSD43)
+# define MipsBsdArchitecture
+# else /* BSD */
+# define MipsSysvArchitecture
+# endif /* BSD */
+#endif /* Mips */
+
+#ifdef MOTOROLA
+# define MacroIncludeFile <moto.cf>
+# define MacroFile moto.cf
+# undef MOTOROLA
+# ifdef SYSV
+# define MotoR3Architecture
+# endif
+# ifdef SVR4
+# define MotoR4Architecture
+# endif
+#endif /* MOTOROLA */
+
+#if defined(SVR4) && !defined(DGUX)
+# ifdef i386
+# define i386Architecture
+# undef i386
+# endif
+# ifdef PC98
+# define PANIX98Architecture
+# undef PC98
+# endif
+# define SVR4Architecture
+# define MacroIncludeFile <svr4.cf>
+# define MacroFile svr4.cf
+# undef SVR4
+#endif /* SVR4 */
+
+#ifdef SYSV
+# ifdef i386
+# undef i386
+# ifdef ISC
+# define i386Architecture
+# define i386SVR3Architecture
+# define MacroIncludeFile <isc.cf>
+# define MacroFile isc.cf
+# define i386IscArchitecture
+# undef ISC
+# ifdef ISC202
+# define IscVersion 202
+# undef ISC202
+# else
+# ifdef ISC30
+# define IscVersion 300
+# undef ISC30
+# else
+# ifdef ISC40
+# define IscVersion 400
+# undef ISC40
+# else
+# define IscVersion 221
+# endif /* ISC40 */
+# endif /* ISC30 */
+# endif /* ISC202 */
+# endif /* ISC */
+# ifndef MacroFile
+# define i386SVR3Architecture
+# define MacroIncludeFile <x386.cf>
+# define MacroFile x386.cf
+# endif /* MacroFile */
+# endif /* i386 */
+#endif /* SYSV */
+
+/* SYSV386 is here for backward compatibility only */
+#ifdef SYSV386
+# undef i386
+# ifdef SVR4
+# define i386Architecture
+# define SVR4Architecture
+# define i386SVR4Architecture
+# define MacroIncludeFile <svr4.cf>
+# define MacroFile svr4.cf
+# undef SVR4
+# else /* ! SVR4 */
+# ifdef ISC
+# define i386Architecture
+# define i386SVR3Architecture
+# define MacroIncludeFile <isc.cf>
+# define MacroFile isc.cf
+# define i386IscArchitecture
+# undef ISC
+# ifdef ISC202
+# define IscVersion 202
+# undef ISC202
+# else
+# ifdef ISC30
+# define IscVersion 300
+# undef ISC30
+# else
+# ifdef ISC40
+# define IscVersion 400
+# undef ISC40
+# else
+# define IscVersion 221
+# endif /* ISC40 */
+# endif /* ISC30 */
+# endif /* ISC202 */
+# endif /* ISC */
+# ifndef MacroFile
+# define i386SVR3Architecture
+# define MacroIncludeFile <x386.cf>
+# define MacroFile x386.cf
+# endif /* MacroFile */
+# endif /* ! SVR4 */
+#endif /* SYSV386 */
+
+#ifdef DGUX
+# define i386Architecture
+# define SVR4Architecture
+# define MacroIncludeFile <DGUX.cf>
+# define MacroFile DGUX.cf
+# undef DGUX
+# define DguxArchitecture
+#endif /* DGUX */
+
+#ifdef __convex__
+# define MacroIncludeFile <convex.cf>
+# define MacroFile convex.cf
+# ifdef convex
+# undef convex
+# endif
+# define ConvexArchitecture
+#endif /* _convex_ */
+
+#ifdef __osf__
+# define MacroIncludeFile <osf1.cf>
+# define MacroFile osf1.cf
+# define OSF1Architecture
+# undef __osf__
+# ifdef __mips__
+# undef __mips__
+# define MipsArchitecture
+# define MipselArchitecture
+# endif
+# ifdef __alpha
+# undef __alpha
+# define AlphaArchitecture
+# endif
+#endif /* __osf__ */
+
+#ifdef Oki
+# define MacroIncludeFile <Oki.cf>
+# define MacroFile Oki.cf
+# undef Oki
+# define i860SVR4Architecture
+# define SVR4Architecture
+# undef SVR4
+#endif /* Oki */
+
+#if defined(WIN32) && !defined(__GNUC__)
+# define MacroIncludeFile <Win32.cf>
+# define MacroFile Win32.cf
+# define Win32Architecture
+#endif /* WIN32 */
+
+#if defined(WIN32) && defined(__GNUC__)
+#define MacroIncludeFile <mingw.cf>
+#define MacroFile mingw.cf
+#define Win32Architecture
+#define mingwArchitecture
+#define i386Architecture
+#undef i386
+#undef i486
+#undef i586
+#undef i686
+#undef __i386__
+#undef _X86_
+#undef __MINGW32__
+#endif /* CYGWIN */
+
+#if defined(linux) || defined(__GLIBC__)
+# define MacroIncludeFile <linux.cf>
+# define MacroFile linux.cf
+# undef linux
+# ifdef __linux__
+# define LinuxArchitecture
+# endif
+# ifdef i386
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef i386
+XCOMM Keep cpp from replacing path elements containing i486/i586/i686
+# ifdef i486
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef i486
+# endif
+# ifdef i586
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef i586
+# endif
+# ifdef i686
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef i686
+# endif
+# ifdef k6
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef k6
+# endif
+# endif /* k6 */
+# ifdef __i386__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i386__
+# endif /* __i386__ */
+# ifdef __i486__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i486__
+# endif /* __i486__ */
+# ifdef __i586__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i586__
+# endif /* __i586__ */
+# ifdef __i686__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i686__
+# endif /* __i686__ */
+# ifdef __k6__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __k6__
+# endif /* __k6__ */
+# ifdef __i386
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i386
+# endif /* __i386 */
+# ifdef __i486
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i486
+# endif /* __i486 */
+# ifdef __i586
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i586
+# endif /* __i586 */
+# ifdef __i686
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i686
+# endif /* __i686 */
+# ifdef __k6
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __k6
+# endif /* __k6 */
+/* Keep this order! s390x has also __s390__ defined */
+# if defined(__s390x__)
+# define s390xArchitecture
+# undef __s390x__
+# undef __s390__
+# endif
+# ifdef __s390__
+# define s390Architecture
+# undef __s390__
+# endif /* s390 */
+# ifdef __alpha
+# define AlphaArchitecture
+# undef __alpha
+# endif /* __alpha */
+# ifdef __alpha__
+# ifndef AlphaArchitecture
+# define AlphaArchitecture
+# endif
+# undef __alpha__
+# endif /* __alpha__ */
+# ifdef __arm__
+# define Arm32Architecture
+# undef arm
+# undef __arm
+# undef __arm__
+# if defined(__ARMEB__)
+# define Arm32ebArchitecture
+# endif
+# undef __ARMEB__
+# endif
+# ifdef mc68000
+# define Mc68020Architecture
+# undef mc68000
+# endif /* mc68000 */
+# if defined (powerpc) && !defined(__powerpc64__) && !defined (powerpc64)
+# define PpcArchitecture
+# undef powerpc
+# endif
+# if defined (__powerpc__) && !defined(__powerpc64__) && !defined (powerpc64)
+# ifndef PpcArchitecture
+# define PpcArchitecture
+# endif
+# undef __powerpc__
+# endif
+# ifdef __powerpc64__
+# ifndef Ppc64Architecture
+# define Ppc64Architecture
+# endif
+# undef __powerpc64__
+# endif
+# ifdef sparc
+# define SparcArchitecture
+# undef sparc
+# endif
+# ifdef __sparc__
+# ifndef SparcArchitecture
+# define SparcArchitecture
+# endif
+# undef __sparc__
+# endif
+# ifdef ia64
+# define ia64Architecture
+# undef ia64
+# endif
+# ifdef __ia64__
+# ifndef ia64Architecture
+# define ia64Architecture
+# endif
+# undef __ia64__
+# endif
+# if defined(mips) || defined(__mips__)
+# define MipsArchitecture
+# undef mips
+# undef __mips__
+# if defined(MIPSEL) || defined(_MIPSEL)
+# define MipselArchitecture
+# endif
+# undef MIPSEL
+# undef _MIPSEL
+# endif
+# ifdef __hppa__
+# ifndef HPArchitecture
+# define HPArchitecture
+# endif
+# undef __hppa__
+# endif /* __hppa__ */
+# ifdef __sh__
+# ifndef SuperHArchitecture
+# define SuperHArchitecture
+# endif
+# ifdef __BIG_ENDIAN__
+# ifndef SuperHebArchitecture
+# define SuperHebArchitecture
+# endif
+# endif
+# undef __sh__
+# endif /* __sh__ */
+# if defined(__SH3__) || defined(__sh3__)
+# ifndef SuperH3Architecture
+# define SuperH3Architecture
+# endif
+# undef __SH3__
+# undef __sh3__
+# endif /* __SH3__ or __sh3__ */
+# ifdef __SH4__
+# ifdef __SH4_NOFPU__
+# ifndef SuperH4NOFPUArchitecture
+# define SuperH4NOFPUArchitecture
+# endif
+# undef __SH4_NOFPU__
+# else
+# ifndef SuperH4Architecture
+# define SuperH4Architecture
+# endif
+# endif
+# undef __SH4__
+# endif /* __SH4__ */
+/* for compatibility with 3.3.x */
+# ifdef PpcArchitecture
+# define PowerPCArchitecture
+# endif
+# if defined(__s390x__)
+# define s390xArchitecture
+# undef __s390x__
+# endif
+# if defined(__amd64__) || defined (__x86_64__)
+# undef __amd64__
+# undef __x86_64__
+# define AMD64Architecture
+# endif
+# if defined(amd64__) || defined (x86_64__)
+# undef amd64__
+# undef x86_64__
+# ifndef AMD64Architecture
+# define AMD64Architecture
+# endif
+# endif
+#endif /* linux || __GLIBC__ */
+
+#if (defined(__Lynx__) || defined(Lynx)) && (defined(i386) || defined(__i386__) || defined(__x86__) || defined(__powerpc__) || defined(__sparc__) || defined(sparc))
+# define MacroIncludeFile <lynx.cf>
+# define MacroFile lynx.cf
+# define LynxOSArchitecture
+# undef __Lynx__
+# undef Lynx
+# undef lynx
+# if defined(i386) || defined(__i386__) || defined(__x86__)
+# define i386Architecture
+# undef i386
+# undef __i386__
+# undef __x86__
+# endif
+# ifdef __powerpc__
+# define PpcArchitecture
+# undef __powerpc__
+# endif
+# if defined(sparc) || defined(__sparc__)
+# define SparcArchitecture
+# undef sparc
+# undef __sparc__
+# endif
+/* for compatibility with 3.3.x */
+# ifdef PpcArchitecture
+# define PowerPCArchitecture
+# endif
+#endif /* LynxOS AT/PPC/microSPARC */
+
+#ifdef __uxp__
+# define MacroIncludeFile <fujitsu.cf>
+# define MacroFile fujitsu.cf
+# define FujitsuArchitecture
+# undef __uxp__
+# define UXPArchitecture
+# define SVR4Architecture
+# ifdef sparc
+# undef sparc
+# define SparcArchitecture
+# endif
+#endif /* __uxp__ */
+
+#ifdef __sxg__
+# define MacroIncludeFile <fujitsu.cf>
+# define MacroFile fujitsu.cf
+# define FujitsuArchitecture
+# undef __sxg__
+# define mc68000Architecture
+#endif /* __sxg__ */
+
+#ifdef _SEQUENT_
+/* undefine assignments resulting from -DSVR4 */
+# undef MacroIncludeFile
+# define MacroIncludeFile <sequent.cf>
+# undef MacroFile
+# define MacroFile sequent.cf
+# undef _SEQUENT_
+# define DynixPtxArchitecture
+# define SequentArchitecture
+#endif
+
+#if defined(_nec_ews_svr4) || defined(nec_ews_svr4) || defined(nec_ews_svr2) || defined(SX) || defined(_nec_up) || defined(_nec_ft) || defined(PC_UX)
+# ifdef nec
+# undef nec
+# endif
+# define MacroIncludeFile <nec.cf>
+# define MacroFile nec.cf
+# define NecArchitecture
+#endif
+
+#ifdef minix
+#define MacroIncludeFile <minix.cf>
+#define MacroFile minix.cf
+#undef minix
+#define MinixArchitecture
+#define i386Architecture
+#endif /* minix */
+
+/* Systems with GNU libc and userland */
+#if defined(__GNU__)
+#define GNUArchitecture
+#define MacroIncludeFile <gnu.cf>
+#define MacroFile gnu.cf
+#ifdef __i386__
+#define i386Architecture
+#endif
+#endif
+
+#ifdef MACH
+#ifdef __GNU__
+/* Mach-based GNU system */
+#define GNUMachArchitecture
+#else
+#define MacroIncludeFile <mach.cf>
+#define MacroFile mach.cf
+#endif
+#undef MACH
+#ifdef i386
+#define i386MachArchitecture
+#define i386Architecture
+#endif /* i386 */
+#undef i386
+#endif /* MACH */
+
+/* On NetBSD, `unix' is not defined, and cpp emits a warning every time
+ * it sees a test using the `unix' symbol */
+#if !defined(NetBSDArchitecture) || (defined(NetBSDArchitecture) && DefaultOSMajorVersion == 1 && DefaultOSMinorVersion <= 3)
+#ifdef unix
+#undef unix
+#endif
+#endif
+
+#ifdef emxos2
+#define MacroIncludeFile <os2.cf>
+#define MacroFile os2.cf
+#define OS2Architecture
+#define i386Architecture
+#endif /* emxos2 */
+
+#if defined(__QNX__) && !defined(__QNXNTO__)
+#define MacroIncludeFile <QNX4.cf>
+#define MacroFile QNX4.cf
+#define QNX4Architecture
+#define i386Architecture
+#endif /* QNX4 */
+
+#ifdef __QNXNTO__
+#define MacroIncludeFile <nto.cf>
+#define MacroFile nto.cf
+#define NTOArchitecture
+# ifdef PPC
+# define PPCArchitecture
+# undef PPC
+# endif
+# ifdef MIPS
+# define mipsArchitecture
+# undef MIPS
+# endif
+# ifdef i386
+# define i386Architecture
+# undef i386
+# endif /* i386 */
+# ifdef __i386__
+# ifndef i386Architecture
+# define i386Architecture
+# endif
+# undef __i386__
+# endif /* __i386__ */
+#endif /* QNX/Neutrino */
+
+#ifdef SparcArchitecture
+# if defined(__sparc_v9) || defined(__arch64__)
+# define Sparc64Architecture
+# endif
+#endif
+
+#ifndef MacroIncludeFile
+XCOMM WARNING: Imake.cf not configured; guessing at definitions!!!
+XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
+#define MacroIncludeFile <generic.cf>
+#define MacroFile generic.cf
+#endif
diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules
new file mode 100644
index 000000000..21c223d8e
--- /dev/null
+++ b/nx-X11/config/cf/Imake.rules
@@ -0,0 +1,3649 @@
+XCOMM ---------------------------------------------------------------------
+XCOMM Imake rules for building libraries, programs, scripts, and data files
+XCOMM rules: $Xorg: Imake.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+XCOMM rules: $XdotOrg: xc/config/cf/Imake.rules,v 1.11 2005/11/08 06:33:24 jkj Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM
+XCOMM rules: $XFree86: xc/config/cf/Imake.rules,v 3.128 2003/11/15 03:25:17 dawes Exp $
+
+/*
+ * MACHINE-INDEPENDENT RULES; DO NOT MODIFY
+ *
+ * Warning, when defining rules: make sure you do not include both a trailing
+ * backslash and double ampersand backslash or else you will get an extra
+ * backslash in the Makefile.
+ *
+ * The following macros are defined for the various templates and Imakefiles
+ * (for a list of the applicable make variables, see the template files):
+ *
+ * Concat (a,b)
+ * Concat3 (a,b,c)
+ * Concat4 (a,b,c,d)
+ * _Use (a,b)
+ * _UseCat (a,b,c)
+ * _MUse (a,b)
+ * _MUseCat (a,b,c)
+ * ProgramTargetName (target)
+ * HostProgramTargetName (target)
+ * RunProgram (progvar,options)
+ * RunProgramWithSetup (setup,progvar,options)
+ * RemoveFile (file)
+ * RemoveFiles (files)
+ * CenterLoadTarget (target,srclist,libs,defines)
+ * CenterProgramTarget (program,srclist,objlist,locallibs,syslibs)
+ * SentinelLinkTarget (step,program,linklist)
+ * SentinelProgramTarget (program,deplist,linklist)
+ * SentinelCplusplusProgramTarget (program,deplist,linklist)
+ * PurifyLinkTarget (step,program,linklist)
+ * PurifyProgramTarget (program,deplist,linklist)
+ * PurifyCplusplusProgramTarget (program,deplist,linklist)
+ * ProofLinkTarget (step,program,linklist)
+ * ProofProgramTarget (program,deplist,linklist)
+ * ProofCplusplusProgramTarget (program,deplist,linklist)
+ * ProofCleanTarget ()
+ * RemoveTargetProgram (program)
+ * MakeDir (dir)
+ * InstallDirectory (dir)
+ * BuildIncludesTop (srclist)
+ * BuildIncludes (srclist,dstsubdir,dstupdir)
+ * LinkRule (program,options,objects,libraries)
+ * HostLinkRule (program,options,objects,libraries)
+ * NoCmpScript (target)
+ * NoConfigRec (target)
+ * NormalProgramTarget (program,objects,deplibs,locallibs,syslibs)
+ * SetUIDProgramTarget (program,objects,deplibs,locallibs,syslibs)
+ * SingleProgramTarget (program,objects,locallibs,syslibs)
+ * SimpleProgramTarget (program)
+ * ComplexProgramTarget (program)
+ * ComplexProgramTarget_1 (program,locallib,syslib)
+ * ComplexProgramTarget_2 (program,locallib,syslib)
+ * ComplexProgramTarget_3 (program,locallib,syslib)
+ * ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags)
+ * ServerTarget (server,subdirs,objects,libs,syslibs)
+ * MoveToBakFile (file)
+ * RMoveToBakFile (file)
+ * RanLibrary (args)
+ * LibraryTargetName (libname)
+ * LibraryTargetNameSuffix (libname,suffix)
+ * InstallNamedTarget (step,srcname,flags,dest,dstname)
+ * InstallTarget (step,file,flags,dest)
+ * InstallLibrary (libname,dest)
+ * MergeIntoInstalledLibrary (tolib,fromlib)
+ * InstallLibraryAlias (libname,alias,dest)
+ * InstallLintLibrary (libname,dest)
+ * InstallManPageLong (file,destdir,dest)
+ * InstallManPage (file,destdir)
+ * InstallManPageAliases (file,destdir,aliases)
+ * ManKeywordsTarget (manpath)
+ * InstallNamedNonExec (srcname,dstname,dest)
+ * InstallNonExecFile (file,dest)
+ * InstallNonExecFileNoClobber (file,dest)
+ * InstallNonExec (file,dest)
+ * InstallProgramWithFlags (program,dest,flags)
+ * InstallProgram (program,dest)
+ * InstallScript (program,dest)
+ * InstallNamedProg (srcname,dstname,dest)
+ * InstallNamedProgNoClobber (srcname,dstname,dest)
+ * MakeFlagsToShellFlags (makeflags,shellcmd)
+ * MakeNamedTargetSubdir (dir,flags,subname)
+ * LinkConfDirectoryLong (mdir,cdir,rdir,ldir,opath,npath)
+ * LinkConfDirectory (mdir,cdir,rdir,ldir)
+ * LinkConfFileLong (cfile,lfile,opath,npath)
+ * LinkConfFile (cfile,lfile)
+ * LinkFileList (step,list,dir,sub)
+ * LinkVarDirectory (mdir,cdir,rdir,ldir)
+ * InstallMultipleDestFlags (step,list,dest,flags)
+ * InstallMultipleDest (step,list,dest)
+ * InstallMultiple (list,dest)
+ * InstallMultipleFlags (list,dest,flags)
+ * InstallMultipleMan (list,dest)
+ * InstallMultipleManSuffix (list,dest,suffix)
+ * DependDependency ()
+ * DependTarget ()
+ * DependTarget3 (srcs1,srcs2,srcs3)
+ * CleanTarget ()
+ * TagsTarget ()
+ * ImakeDependency (target)
+ * BuildMakefileTarget (notused,imakeflags)
+ * MakefileTarget ()
+ * LibMkdir (dir)
+ * LibCleanDir (dir)
+ * LintLibReferences (varname,libname,libsource)
+ * UnsharedLibReferences (varname,libname,libsource)
+ * ProjectUnsharedLibReferences (varname,libname,libsource,buildlibdir)
+ * SharedLibDependencies (libname,libsource,revname)
+ * SharedDSLibDependencies (libname,libsource,revname)
+ * SharedLibReferences (varname,libname,libsource,revname,rev)
+ * SharedDSLibReferences (varname,libname,libsource,revname,rev)
+ * ObjectCompile (options)
+ * NormalLibObjCompile (options)
+ * NormalSharedLibObjCompile (options)
+ * NormalRelocLibObjCompile (options)
+ * LibObjCompile (dir,options)
+ * DebuggedLibObjCompile (options)
+ * ProfiledLibObjCompile (options)
+ * SharedLibObjCompile (options)
+ * NormalLibraryObjectRule ()
+ * NormalFortranObjectRule ()
+ * ObjectFromSpecialSource (dst,src,flags)
+ * SpecialObjectRule (objs,depends,options)
+ * SpecialCObjectRule (basename,depends,options)
+ * LexFile (file)
+ * M4File (file,includes)
+ * YaccFile (file,flags)
+ * YaccFileNoFlags (file)
+ * MakeLibrary (libname,objlist)
+ * LinkBuildLibrary (lib)
+ * LinkBuildSonameLibrary (lib)
+ * NormalLibraryTarget (libname,objlist)
+ * NormalLibraryTarget2 (libname,objlist1,objlist2)
+ * NormalLibraryTarget3 (libname,objlist1,objlist2,objlist3)
+ * NormalDepLibraryTarget (libname,deplist,objlist)
+ * UnsharedLibraryTarget (libname,objlist,down,up)
+ * UnsharedLibraryTarget3 (libname,objlist1,objlist2,objlist3,down,up)
+ * SubdirLibraryRule (objlist)
+ * ProfiledLibraryTarget (libname,objlist)
+ * DebuggedLibraryTarget (libname,objlist)
+ * AliasedLibraryTarget (libname,alias)
+ * NormalRelocatableTarget (objname,objlist)
+ * ProfiledRelocatableTarget (objname,objlist)
+ * DebuggedRelocatableTarget (objname,objlist)
+ * LintLibraryTarget (libname,srclist)
+ * NormalLintTarget (srclist)
+ * LintTarget ()
+ * LinkSourceFile (src,dir)
+ * LinkFile (tofile,fromfile)
+ * MakeSubincludesForBuild (step,dir,srclist)
+ * LangNamedTargetSubdirs (lang,name,dirs,verb,flags,subname)
+ * LangNamedMakeSubdirs (lang,name,dirs)
+ * LangMakeSubdirs (lang,dirs)
+ * NamedTargetSubdirs (name,dirs,verb,flags,subname)
+ * NamedMakeSubdirs (name,dirs)
+ * MakeSubdirs (dirs)
+ * DependSubdirs (dirs)
+ * ForceSubdirs (dirs)
+ * InstallSubdirs (dirs)
+ * InstallManSubdirs (dirs)
+ * IncludesSubdirs (dirs)
+ * NamedCleanSubdirs (name,dirs)
+ * CleanSubdirs (dirs)
+ * NamedTagSubdirs (name,dirs)
+ * TagSubdirs (dirs)
+ * MakeLintSubdirs (dirs,target,subtarget)
+ * LintSubdirs (dirs)
+ * MakeLintLibSubdirs (dirs)
+ * MakeMakeSubdirs (dirs,target)
+ * MakefileSubdirs (dirs)
+ * CppScriptTarget (dst,src,defs,deplist)
+ * MakeScriptFromCpp (name,defs)
+ * CppFileTarget (dst,src,defs,deplist)
+ * CppSourceFile (dst,src,defs,deplist)
+ * MakeDirectories (step,dirs)
+ * AllTarget (depends)
+ * StaticLibrary (libpath,libname)
+ * MakeMutex (targets)
+ * LinkBuildModule (module,subdir)
+ * LinkBuildNamedModule (module,name,subdir)
+ * DynamicModuleTarget (module,modlist)
+ * InstallDynamicModule (module,dest,subdir)
+ * InstallDynamicNamedModule (module,instname,dest,subdir)
+ * LinkerRuntimeLibraryPathFlag (path)
+ *
+ *
+ * The following are in specific <os>Lib.rules:
+ *
+ * SharedLibraryTarget (libname,rev,solist,down,up)
+ * SharedLibraryDataTarget (libname,rev,salist)
+ * InstallSharedLibrary (libname,rev,dest)
+ * InstallSharedLibraryData (libname,rev,dest)
+ * SharedDepModuleTarget (name,deps,solist)
+ *
+ */
+
+#define NullParameter
+
+/* if [ -d ] or [ ! -d ] causes make to fail, define this as - */
+#ifndef DirFailPrefix
+#define DirFailPrefix
+#endif
+
+/*
+ * NoCmpScript - suppress clearmake build script comparison.
+ */
+#ifndef NoCmpScript
+#if HasClearmake
+#define NoCmpScript(targ) @@\
+XCOMM special target for clearmake @@\
+.NO_CMP_SCRIPT: targ
+#else
+#define NoCmpScript(targ) /**/
+#endif
+#endif
+
+/*
+ * NoConfigRec - suppress using clearmake configuration records.
+ */
+#ifndef NoConfigRec
+#if HasClearmake
+#define NoConfigRec(targ) @@\
+XCOMM special target for clearmake @@\
+.NO_CONFIG_REC: targ
+#else
+#define NoConfigRec(targ) /**/
+#endif
+#endif
+
+/*
+ * Concat - concatenates two strings.
+ */
+#ifndef Concat
+#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+#define Concat(a,b)a##b
+#else
+#define Concat(a,b)a/**/b
+#endif
+#endif
+
+/*
+ * Concat3 - concatenates three strings.
+ */
+#ifndef Concat3
+#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+#define Concat3(a,b,c)a##b##c
+#else
+#define Concat3(a,b,c)a/**/b/**/c
+#endif
+#endif
+
+/*
+ * Concat4 - concatenates four strings.
+ */
+#ifndef Concat4
+#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+#define Concat4(a,b,c,d)a##b##c##d
+#else
+#define Concat4(a,b,c,d)a/**/b/**/c/**/d
+#endif
+#endif
+
+/*
+ * _XUse - makes a choice based on UseInstalledX11.
+ */
+#ifndef _XUse
+# if defined(UseInstalled) || UseInstalledX11
+# define _XUse(a,b) a
+# else
+# define _XUse(a,b) b
+# endif
+#endif /* _XUse */
+
+/*
+ * _Use - makes a choice based on UseInstalled.
+ */
+#ifndef _Use
+# define _Use _XUse
+#endif /* _Use */
+
+/*
+ * _XUseCat - combination of _XUse and Concat.
+ * exists to avoid problems with some preprocessors
+ */
+#ifndef _XUseCat
+# if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+# if defined(UseInstalled) || UseInstalledX11
+# define _XUseCat(a,b,c) a##c
+# else
+# define _XUseCat(a,b,c) b##c
+# endif
+# else
+# if defined(UseInstalled) || UseInstalledX11
+# define _XUseCat(a,b,c) a/**/c
+# else
+# define _XUseCat(a,b,c) b/**/c
+# endif
+# endif
+#endif /* _XUseCat */
+
+/*
+ * _UseCat - combination of _Use and Concat.
+ * exists to avoid problems with some preprocessors
+ */
+#ifndef _UseCat
+# define _UseCat _XUseCat
+#endif /* _UseCat */
+
+#ifndef ProgramTargetName
+#define ProgramTargetName(target)target
+#endif
+
+#ifndef HostProgramTargetName
+#define HostProgramTargetName(target)target
+#endif
+
+#ifndef RunProgram
+#define RunProgram(progvar,options) $(progvar) options
+#endif
+
+#ifndef RunProgramWithSetup
+#define RunProgramWithSetup(setup,progvar,options) setup $(progvar) options
+#endif
+
+#ifndef RunPerlScript
+#define RunPerlScript(script,options) $(PERLENVSETUP) $(PERL) $(PERLOPTS) script options
+#endif
+
+#ifndef RemoveFile
+#define RemoveFile(file) $(RM) file
+#endif /* RemoveFile */
+
+#ifndef RemoveFiles
+#define RemoveFiles(files) $(RM) files
+#endif /* RemoveFiles */
+
+#if RemoveObsoleteFiles
+#define RemoveOldFile(new,old,dir) @@\
+ @if [ -f new ]; then set -x; \ @@\
+ RemoveFile($(DESTDIR)dir/old); \ @@\
+ fi
+#else
+#define RemoveOldFile(new,old,dir) $(_NULLCMD_)
+#endif
+
+/*
+ * CenterLoadTarget - generate rules to load files into CodeCenter
+ */
+#ifndef CenterLoadTarget
+#if HasCodeCenter
+#define CenterLoadTarget(target,srclist,libs,defines) @@\
+ProgramTargetName(target):: srclist @@\
+ XCOMM load defines srclist libs
+#else
+#define CenterLoadTarget(target,srclist,libs,defines) /**/
+#endif
+#endif /* CenterLoadTarget */
+
+/*
+ * CenterProgramTarget - generate rules to make CodeCenter read in sources
+ * and objects.
+ */
+#ifndef CenterProgramTarget
+#define CenterProgramTarget(program,srclist,objlist,locallibs,syslibs) @@\
+CenterLoadTarget(Concat(debug_,program),srclist,$(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) $(LDPRELIBS) locallibs $(LDLIBS) syslibs,$(ALLDEFINES)) @@\
+ @@\
+CenterLoadTarget(Concat(odebug_,program),objlist,$(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS) $(LDPRELIBS) locallibs $(LDLIBS) syslibs,$(ALLDEFINES))
+#endif /* CenterProgramTarget */
+
+#ifndef SentinelLinkTarget
+#if HasSentinel
+#define SentinelLinkTarget(step,program,linklist) @@\
+ProgramTargetName(step.sentinel): @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CC) -o program.sentinel $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)
+#else
+#define SentinelLinkTarget(step,program,linklist) /**/
+#endif
+#endif /* SentinelLinkTarget */
+
+/*
+ * SentinelProgramTarget - generate rules to make Sentinel image
+ */
+#ifndef SentinelProgramTarget
+#if HasSentinel
+#define SentinelProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.sentinel): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CC) -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean clean.sentinel:: @@\
+ RemoveFile(program.sentinel)
+#else
+#define SentinelProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* SentinelProgramTarget */
+
+/*
+ * SentinelCplusplusProgramTarget - generate rules to make Sentinel image
+ */
+#ifndef SentinelCplusplusProgramTarget
+#if HasSentinel
+#define SentinelCplusplusProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.sentinel): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CXXENVSETUP) $(SENTINEL) $(SENTINELOPTIONS) $(CXX) -o $@ $(CXXLDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean clean.sentinel:: @@\
+ RemoveFile(program.sentinel)
+#else
+#define SentinelCplusplusProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* SentinelCplusplusProgramTarget */
+
+#ifndef PurifyLinkTarget
+#if HasPurify
+#define PurifyLinkTarget(step,program,linklist) @@\
+ProgramTargetName(step.pure): @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CC) -o program.pure $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)
+#else
+#define PurifyLinkTarget(step,program,linklist) /**/
+#endif
+#endif /* PurifyLinkTarget */
+
+/*
+ * PurifyProgramTarget - generate rules to make Purify'ed image
+ */
+#ifndef PurifyProgramTarget
+#if HasPurify
+#define PurifyProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.pure): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CC) -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean clean.pure:: @@\
+ RemoveFile(program.pure)
+#else
+#define PurifyProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* PurifyProgramTarget */
+
+/*
+ * PurifyCplusplusProgramTarget - generate rules to make Purify'ed image
+ */
+#ifndef PurifyCplusplusProgramTarget
+#if HasPurify
+#define PurifyCplusplusProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.pure): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CXXENVSETUP) $(PURIFY) $(PURIFYOPTIONS) $(CXX) -o $@ $(CXXLDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean clean.pure:: @@\
+ RemoveFile(program.pure)
+#else
+#define PurifyCplusplusProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* PurifyCplusplusProgramTarget */
+
+#ifndef ProofLinkTarget
+#if HasTestCenter
+#define ProofLinkTarget(step,program,linklist) @@\
+ProgramTargetName(step.tc): @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(PROOF) $(PROOFOPTIONS) $(CC) -o program.tc $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS)
+#else
+#define ProofLinkTarget(step,program,linklist) /**/
+#endif
+#endif /* ProofLinkTarget */
+
+/*
+ * ProofProgramTarget - generate rules to make Proof'ed image
+ */
+#ifndef ProofProgramTarget
+#if HasTestCenter
+#define ProofProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.tc): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CCENVSETUP) $(PROOF) $(PROOFOPTIONS) $(CC) -o $@ $(LDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean cleantc:: @@\
+ RemoveFiles(program.tc program.tc.*.*)
+#else
+#define ProofProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* ProofProgramTarget */
+
+/*
+ * ProofCplusplusProgramTarget - generate rules to make Proof'ed image
+ */
+#ifndef ProofCplusplusProgramTarget
+#if HasTestCenter
+#define ProofCplusplusProgramTarget(program,deplist,linklist) @@\
+ProgramTargetName(program.tc): deplist @@\
+ RemoveTargetProgram($@) @@\
+ $(CXXENVSETUP) $(PROOF) $(PROOFOPTIONS) $(CXX) -o $@ $(CXXLDOPTIONS) linklist $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean cleantc:: @@\
+ RemoveFiles(program.tc program.tc.*.*)
+#else
+#define ProofCplusplusProgramTarget(program,deplist,linklist) /**/
+#endif
+#endif /* ProofCplusplusProgramTarget */
+
+#ifndef ProofCleanTarget
+#if HasTestCenter
+#define ProofCleanTarget() @@\
+clean cleantc:: @@\
+ $(RM) -r TC.Cache
+#else
+#define ProofCleanTarget() /**/
+#endif
+#endif /* ProofCleanTarget */
+
+#ifndef RemoveTargetProgram
+#if RemoveTargetProgramByMoving
+#define RemoveTargetProgram(program) \
+-if [ -f program ]; then RemoveFile(Concat(program,~)); $(MV) program Concat(program,~); fi
+#else
+#define RemoveTargetProgram(program) RemoveFile(program)
+#endif
+#endif /* RemoveTargetProgram */
+
+#ifndef MakeDir
+#define MakeDir(dir) DirFailPrefix@if [ -d dir ]; then \ @@\
+ set +x; \ @@\
+ else \ @@\
+ if [ -h dir ]; then \ @@\
+ (set -x; rm -f dir); \ @@\
+ fi; \ @@\
+ (set -x; $(MKDIRHIER) dir); \ @@\
+ fi
+#endif /* MakeDir */
+
+#ifndef MakeDirInline
+#define MakeDirInline(dir) if [ -d dir ]; then \ @@\
+ :; \ @@\
+ else \ @@\
+ if [ -h dir ]; then \ @@\
+ (set -x; rm -f dir); \ @@\
+ fi; \ @@\
+ (set -x; $(MKDIRHIER) dir); \ @@\
+ fi
+#endif /* MakeDirInline */
+
+#ifndef InstallDirectory
+#define InstallDirectory(dir) @@\
+install:: @@\
+ MakeDir(dir)
+#endif /* InstallDirectory */
+
+#ifndef InstallCreateLink
+# define InstallCreateLink(dest,from,to) @@\
+install:: @@\
+ cd $(DESTDIR)dest && \ @@\
+ $(LN) -sf from to
+#endif
+
+#ifndef BuildIncludesTop
+#define BuildIncludesTop(srclist) @@\
+includes:: srclist @@\
+ MakeDir($(BUILDINCDIR)) @@\
+ @(set -x; cd $(BUILDINCDIR) && for i in srclist; do \ @@\
+ RemoveFile($$i); \ @@\
+ $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/$$i .; \ @@\
+ done)
+#endif /* BuildIncludesTop */
+
+#ifndef BuildIncludes
+#define BuildIncludes(srclist,dstsubdir,dstupdir) @@\
+includes:: srclist @@\
+ MakeDir($(BUILDINCDIR)/dstsubdir) @@\
+ @(set -x; cd $(BUILDINCDIR)/dstsubdir && for i in srclist; do \ @@\
+ RemoveFile($$i); \ @@\
+ $(LN) $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR)/$$i .; \ @@\
+ done)
+#endif /* BuildIncludes */
+
+/*
+ * LinkBuildBinary - export a binary from the build tree.
+ */
+#ifndef LinkBuildBinary
+#define LinkBuildBinary(binary) @@\
+all:: $(BUILDBINDIR)/binary binary @@\
+ @@\
+$(BUILDBINDIR)/binary: binary @@\
+ MakeDir($(BUILDBINDIR)) @@\
+ RemoveFile($@) @@\
+ cd $(BUILDBINDIR) && $(LN) $(BUILDBINTOP)/$(CURRENT_DIR)/binary .
+#endif /* LinkBuildBinary */
+
+#ifndef BuildInterfaces
+#define BuildInterfaces(srclist,dstsubdir,dstupdir) @@\
+interfaces:: @@\
+ MakeDir($(BUILDINCDIR)/dstsubdir) @@\
+ @(set -x; cd $(BUILDINCDIR)/dstsubdir && for i in srclist; do \ @@\
+ RemoveFile($$i); \ @@\
+ $(LN) $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR)/$$i .; \ @@\
+ done)
+#endif /* BuildInterfaces */
+
+/*
+ * LinkRule - link a program
+ */
+#ifndef LinkRule
+#define LinkRule(program,options,objects,libraries) \
+$(CCLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
+#endif /* LinkRule */
+
+/*
+ * HostLinkRule - link a utility to be used on the build host
+ * (differs from LinkRule if cross compiling)
+ */
+#ifndef HostLinkRule
+#define HostLinkRule LinkRule
+#endif
+
+#ifndef CplusplusLinkRule
+#define CplusplusLinkRule(program,options,objects,libraries) \
+$(CXXLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
+#endif /* CplusplusLinkRule */
+
+/*
+ * NormalProgramTarget - generate rules to compile and link the indicated
+ * program; since it does not use any default object files, it may be used for
+ * multiple programs in the same Imakefile.
+ */
+#ifndef NormalProgramTarget
+#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs) @@\
+ProgramTargetName(program): objects deplibs @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,$(LDOPTIONS),objects,locallibs $(LDLIBS) syslibs) @@\
+ @@\
+SentinelProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+PurifyProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+ProofProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* NormalProgramTarget */
+
+
+/*
+ * NormalCplusplusProgramTarget - Like NormalTargetProgram, but uses
+ * C++ linking rules.
+ */
+#ifndef NormalCplusplusProgramTarget
+#define NormalCplusplusProgramTarget(program,objects,deplibs,locallibs,syslibs) @@\
+ProgramTargetName(program): objects deplibs @@\
+ RemoveTargetProgram($@) @@\
+ CplusplusLinkRule($@,$(CXXLDOPTIONS),objects,locallibs $(LDLIBS) syslibs) @@\
+ @@\
+SentinelCplusplusProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+PurifyCplusplusProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+ProofCplusplusProgramTarget(program,objects deplibs,objects locallibs $(LDLIBS) syslibs) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* NormalCplusplusProgramTarget */
+
+
+#ifndef SetUIDProgramTarget
+#define SetUIDProgramTarget NormalProgramTarget
+#endif
+
+
+/*
+ * SingleProgramTarget - obsolete version of NormalProgramTarget that does
+ * not have deplibs.
+ */
+#ifndef SingleProgramTarget
+#define SingleProgramTarget(program,objects,locallibs,syslibs) @@\
+NormalProgramTarget(program,objects,NullParameter,locallibs,syslibs)
+#endif /* SingleProgramTarget */
+
+/*
+ * SimpleProgramTarget - generate rules for compiling and linking programs
+ * that only have one C source file. It should only be used in Imakefiles
+ * that describe a single program.
+ */
+#ifndef SimpleProgramTarget
+#define SimpleProgramTarget(program) @@\
+ OBJS = program.o @@\
+ SRCS = program.c @@\
+ @@\
+ComplexProgramTarget(program)
+#endif /* SimpleProgramTarget */
+
+#ifndef SimpleProgramTarget_1
+#define SimpleProgramTarget_1(program) @@\
+ OBJS1 = program.o @@\
+ SRCS1 = program.c @@\
+ @@\
+ComplexProgramTarget_1(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_1 */
+#ifndef SimpleProgramTarget_2
+#define SimpleProgramTarget_2(program) @@\
+ OBJS2 = program.o @@\
+ SRCS2 = program.c @@\
+ @@\
+ComplexProgramTarget_2(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_2 */
+#ifndef SimpleProgramTarget_3
+#define SimpleProgramTarget_3(program) @@\
+ OBJS3 = program.o @@\
+ SRCS3 = program.c @@\
+ @@\
+ComplexProgramTarget_3(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_3 */
+#ifndef SimpleProgramTarget_4
+#define SimpleProgramTarget_4(program) @@\
+ OBJS4 = program.o @@\
+ SRCS4 = program.c @@\
+ @@\
+ComplexProgramTarget_4(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_4 */
+#ifndef SimpleProgramTarget_5
+#define SimpleProgramTarget_5(program) @@\
+ OBJS5 = program.o @@\
+ SRCS5 = program.c @@\
+ @@\
+ComplexProgramTarget_5(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_5 */
+#ifndef SimpleProgramTarget_6
+#define SimpleProgramTarget_6(program) @@\
+ OBJS6 = program.o @@\
+ SRCS6 = program.c @@\
+ @@\
+ComplexProgramTarget_6(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_6 */
+#ifndef SimpleProgramTarget_7
+#define SimpleProgramTarget_7(program) @@\
+ OBJS7 = program.o @@\
+ SRCS7 = program.c @@\
+ @@\
+ComplexProgramTarget_7(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_7 */
+#ifndef SimpleProgramTarget_8
+#define SimpleProgramTarget_8(program) @@\
+ OBJS8 = program.o @@\
+ SRCS8 = program.c @@\
+ @@\
+ComplexProgramTarget_8(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_8 */
+#ifndef SimpleProgramTarget_9
+#define SimpleProgramTarget_9(program) @@\
+ OBJS9 = program.o @@\
+ SRCS9 = program.c @@\
+ @@\
+ComplexProgramTarget_9(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_9 */
+#ifndef SimpleProgramTarget_10
+#define SimpleProgramTarget_10(program) @@\
+ OBJS10 = program.o @@\
+ SRCS10 = program.c @@\
+ @@\
+ComplexProgramTarget_10(program,$(LOCAL_LIBRARIES),NullParameter)
+#endif /* SimpleProgramTarget_10 */
+
+#ifndef SimpleCplusplusProgramTarget
+#define SimpleCplusplusProgramTarget(program) @@\
+ OBJS = program.o @@\
+ SRCS = program.CCsuf @@\
+ @@\
+ComplexCplusplusProgramTarget(program)
+#endif /* SimpleCplusplusProgramTarget */
+
+#ifndef ProgramTargetHelper
+#define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
+ProgramTargetName(program): $(objs) $(deplib) @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,$(LDOPTIONS),$(objs),locallib $(LDLIBS) syslib) @@\
+ @@\
+CenterProgramTarget(program,$(srcs),$(objs),locallib,syslib) @@\
+SentinelProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+PurifyProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ProofProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+InstallManPage(program,$(MANDIR))
+#endif /* ProgramTargetHelper */
+
+#ifndef ProgramTargetHelperNoMan
+#define ProgramTargetHelperNoMan(program,srcs,objs,deplib,locallib,syslib) @@\
+ProgramTargetName(program): $(objs) $(deplib) @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,$(LDOPTIONS),$(objs),locallib $(LDLIBS) syslib) @@\
+ @@\
+CenterProgramTarget(program,$(srcs),$(objs),locallib,syslib) @@\
+SentinelProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+PurifyProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ProofProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif /* ProgramTargetHelperNoMan */
+
+#ifndef CplusplusProgramTargetHelper
+#define CplusplusProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
+ProgramTargetName(program): $(objs) $(deplib) @@\
+ RemoveTargetProgram($@) @@\
+ CplusplusLinkRule($@,$(CXXLDOPTIONS),$(objs),locallib $(LDLIBS) syslib) @@\
+ @@\
+CenterProgramTarget(program,$(srcs),$(objs),locallib,syslib) @@\
+SentinelCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+PurifyCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ProofCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+InstallManPage(program,$(MANDIR))
+#endif /* CplusplusProgramTargetHelper */
+
+#ifndef CplusplusProgramTargetHelperNoMan
+#define CplusplusProgramTargetHelperNoMan(program,srcs,objs,deplib,locallib,syslib) @@\
+ProgramTargetName(program): $(objs) $(deplib) @@\
+ RemoveTargetProgram($@) @@\
+ CplusplusLinkRule($@,$(CXXLDOPTIONS),$(objs),locallib $(LDLIBS) syslib) @@\
+ @@\
+CenterProgramTarget(program,$(srcs),$(objs),locallib,syslib) @@\
+SentinelCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+PurifyCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ProofCplusplusProgramTarget(program,$(objs) $(deplib),$(objs) locallib $(LDLIBS) syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@
+#endif /* CplusplusProgramTargetHelperNoMan */
+
+/*
+ * ComplexProgramTarget - generate rules for compiling and linking the
+ * program specified by $(OBJS) and $(SRCS), installing the program and its
+ * man page, and generating dependencies. It should only be used in
+ * Imakefiles that describe a single program.
+ */
+#ifndef ComplexProgramTarget
+#define ComplexProgramTarget(program) @@\
+ PROGRAM = ProgramTargetName(program) @@\
+ @@\
+AllTarget(ProgramTargetName(program)) @@\
+ @@\
+ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexProgramTarget */
+
+#ifndef ComplexCplusplusProgramTarget
+#define ComplexCplusplusProgramTarget(program) @@\
+ PROGRAM = ProgramTargetName(program) @@\
+ @@\
+AllTarget(ProgramTargetName(program)) @@\
+ @@\
+CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexCplusplusProgramTarget */
+
+/*
+ * ComplexProgramTargetNoMan - generate rules for compiling and linking
+ * the program specified by $(OBJS) and $(SRCS), installing the program
+ * and generating dependencies. It should only be used in Imakefiles
+ * that describe a single program, and have no manual page.
+ */
+#ifndef ComplexProgramTargetNoMan
+#define ComplexProgramTargetNoMan(program) @@\
+ PROGRAM = ProgramTargetName(program) @@\
+ @@\
+AllTarget(ProgramTargetName(program)) @@\
+ @@\
+ProgramTargetHelperNoMan(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexProgramTargetNoMan */
+
+#ifndef ComplexCplusplusProgramTarget
+#define ComplexCplusplusProgramTarget(program) @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+CplusplusProgramTargetHelperNoMan(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexCplusplusProgramTarget */
+
+/*
+ * ComplexProgramTarget_1 - generate rules for compiling and linking the
+ * program specified by $(OBJS1) and $(SRCS1), installing the program and its
+ * man page, and generating dependencies for it and any programs described
+ * by $(SRCS2) through $(SRCS10). It should be used to build the primary
+ * program in Imakefiles that describe multiple programs.
+ */
+#ifndef ComplexProgramTarget_1
+#define ComplexProgramTarget_1(program,locallib,syslib) @@\
+ OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) \ @@\
+ $(OBJS6) $(OBJS7) $(OBJS8) $(OBJS9) $(OBJS10) @@\
+ SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4) $(SRCS5) \ @@\
+ $(SRCS6) $(SRCS7) $(SRCS8) $(SRCS9) $(SRCS10) @@\
+ @@\
+AllTarget($(PROGRAMS)) @@\
+ @@\
+ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFiles($(PROGRAMS))
+#endif /* ComplexProgramTarget_1 */
+
+#ifndef ComplexCplusplusProgramTarget_1
+#define ComplexCplusplusProgramTarget_1(program,locallib,syslib) @@\
+ OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $(OBJS4) $(OBJS5) \ @@\
+ $(OBJS6) $(OBJS7) $(OBJS8) $(OBJS9) $(OBJS10) @@\
+ SRCS = $(SRCS1) $(SRCS2) $(SRCS3) $(SRCS4) $(SRCS5) \ @@\
+ $(SRCS6) $(SRCS7) $(SRCS8) $(SRCS9) $(SRCS10) @@\
+ @@\
+AllTarget($(PROGRAMS)) @@\
+ @@\
+CplusplusProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib)@@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFiles($(PROGRAMS))
+#endif /* ComplexCplusplusProgramTarget_1 */
+
+/*
+ * ComplexProgramTarget_2 - generate rules for compiling and linking the
+ * program specified by $(OBJS2) and $(SRCS2) and installing the program and
+ * man page. It should be used to build the second program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_2
+#define ComplexProgramTarget_2(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
+#endif /* ComplexProgramTarget_2 */
+
+#ifndef ComplexCplusplusProgramTarget_2
+#define ComplexCplusplusProgramTarget_2(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_2 */
+
+/*
+ * ComplexProgramTarget_3 - generate rules for compiling and linking the
+ * program specified by $(OBJS3) and $(SRCS3) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_3
+#define ComplexProgramTarget_3(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
+#endif /* ComplexProgramTarget_3 */
+
+#ifndef ComplexCplusplusProgramTarget_3
+#define ComplexCplusplusProgramTarget_3(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_3 */
+
+/*
+ * ComplexProgramTarget_4 - generate rules for compiling and linking the
+ * program specified by $(OBJS4) and $(SRCS4) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_4
+#define ComplexProgramTarget_4(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS4,OBJS4,DEPLIBS4,locallib,syslib)
+#endif /* ComplexProgramTarget_4 */
+
+#ifndef ComplexCplusplusProgramTarget_4
+#define ComplexCplusplusProgramTarget_4(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS4,OBJS4,DEPLIBS4,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_4 */
+
+/*
+ * ComplexProgramTarget_5 - generate rules for compiling and linking the
+ * program specified by $(OBJS5) and $(SRCS5) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_5
+#define ComplexProgramTarget_5(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS5,OBJS5,DEPLIBS5,locallib,syslib)
+#endif /* ComplexProgramTarget_5 */
+
+#ifndef ComplexCplusplusProgramTarget_5
+#define ComplexCplusplusProgramTarget_5(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS5,OBJS5,DEPLIBS5,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_5 */
+
+/*
+ * ComplexProgramTarget_6 - generate rules for compiling and linking the
+ * program specified by $(OBJS6) and $(SRCS6) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_6
+#define ComplexProgramTarget_6(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS6,OBJS6,DEPLIBS6,locallib,syslib)
+#endif /* ComplexProgramTarget_6 */
+
+#ifndef ComplexCplusplusProgramTarget_6
+#define ComplexCplusplusProgramTarget_6(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS6,OBJS6,DEPLIBS6,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_6 */
+
+/*
+ * ComplexProgramTarget_7 - generate rules for compiling and linking the
+ * program specified by $(OBJS7) and $(SRCS7) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_7
+#define ComplexProgramTarget_7(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS7,OBJS7,DEPLIBS7,locallib,syslib)
+#endif /* ComplexProgramTarget_7 */
+
+#ifndef ComplexCplusplusProgramTarget_7
+#define ComplexCplusplusProgramTarget_7(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS7,OBJS7,DEPLIBS7,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_7 */
+
+/*
+ * ComplexProgramTarget_8 - generate rules for compiling and linking the
+ * program specified by $(OBJS8) and $(SRCS8) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_8
+#define ComplexProgramTarget_8(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS8,OBJS8,DEPLIBS8,locallib,syslib)
+#endif /* ComplexProgramTarget_8 */
+
+#ifndef ComplexCplusplusProgramTarget_8
+#define ComplexCplusplusProgramTarget_8(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS8,OBJS8,DEPLIBS8,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_8 */
+
+/*
+ * ComplexProgramTarget_9 - generate rules for compiling and linking the
+ * program specified by $(OBJS9) and $(SRCS9) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_9
+#define ComplexProgramTarget_9(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS9,OBJS9,DEPLIBS9,locallib,syslib)
+#endif /* ComplexProgramTarget_9 */
+
+#ifndef ComplexCplusplusProgramTarget_9
+#define ComplexCplusplusProgramTarget_9(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS9,OBJS9,DEPLIBS9,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_9 */
+
+/*
+ * ComplexProgramTarget_10 - generate rules for compiling and linking the
+ * program specified by $(OBJS10) and $(SRCS10) and installing the program and
+ * man page. It should be used to build the third program in Imakefiles
+ * describing more than one program.
+ */
+#ifndef ComplexProgramTarget_10
+#define ComplexProgramTarget_10(program,locallib,syslib) @@\
+ProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib)
+#endif /* ComplexProgramTarget_10 */
+
+#ifndef ComplexCplusplusProgramTarget_10
+#define ComplexCplusplusProgramTarget_10(program,locallib,syslib) @@\
+CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib)
+#endif /* ComplexCplusplusProgramTarget_10 */
+
+#ifndef MoveToBakFile
+#define MoveToBakFile(file) -@if [ -f file ]; then set -x; \ @@\
+ $(MV) file file.bak; else exit 0; fi
+#endif /* MoveToBakFile */
+
+#ifndef RMoveToBakFile
+#define RMoveToBakFile(file) -@if [ -f file ]; then set -x; \ @@\
+ RemoveFile(file.bak); $(MV) file file.bak; \ @@\
+ else exit 0; fi
+#endif /* RMoveToBakFile */
+
+/*
+ * ServerTargetWithFlags - generate rules to compile, link, and relink a server
+ */
+#ifndef ServerTargetWithFlags
+#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
+AllTarget(ProgramTargetName(server)) @@\
+ProgramTargetName(server): subdirs objects libs @@\
+ MoveToBakFile($@) @@\
+ LinkRule($@,$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
+ @@\
+Concat(load,server): @@\
+ MoveToBakFile(ProgramTargetName(server)) @@\
+ LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
+ @@\
+loadX:: Concat(load,server) @@\
+ @@\
+SentinelProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+SentinelLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+PurifyProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+ @@\
+InstallProgramWithFlags(server,$(BINDIR),flags) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(server))
+#endif /* ServerTargetWithFlags */
+
+/*
+ * ServerTarget - rules to compile, link, and relink a normal server
+ */
+#ifndef ServerTarget
+#define ServerTarget(server,subdirs,objects,libs,syslibs) @@\
+ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(_NOOP_))
+#endif /* ServerTarget */
+
+#if DoRanlibCmd
+#define RanLibrary(args) $(RANLIB) args
+#else
+#define RanLibrary(args) $(_NULLCMD_)
+#endif
+
+#ifndef LibraryTargetName
+#define LibraryTargetName(libname)Concat(lib,libname.a)
+#endif
+
+/* This rule is used for libs in Xserver/Imakefile which are loaded, not
+ * linked into the core module. Since modules are called libXXXX.a,
+ * this rule mustn't be overriden by .cf files.
+ */
+#ifndef ModuleLibraryTargetName
+#define ModuleLibraryTargetName(libname)Concat(lib,libname.a)
+#endif
+
+#ifndef LibraryTargetNameSuffix
+#define LibraryTargetNameSuffix(libname,suffix)Concat3(lib,libname,suffix.a)
+#endif
+
+#ifndef InstallNamedInline
+#define InstallNamedInline(srcname,flags,dest,dstname) $(INSTALL) $(INSTALLFLAGS) flags srcname $(DESTDIR)dest/dstname
+#endif
+
+#ifndef InstallNamedTarget
+#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\
+step:: srcname @@\
+ MakeDir($(DESTDIR)dest) @@\
+ InstallNamedInline(srcname,flags,dest,dstname)
+#endif /* InstallNamedTarget */
+
+/*
+ * InstallNamedTargetNoClobber - Like InstallNamedTarget, but doesn't
+ * do the install if an installed version already exists. Useful
+ * for files that might have local customizations that you don't
+ * want to clobber. Config files are good candidates for this.
+ */
+#ifndef InstallNamedTargetNoClobber
+#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname) @@\
+step:: srcname @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @if [ -f $(DESTDIR)dest/dstname ]; then \ @@\
+ echo "Not overwriting existing" $(DESTDIR)dest/dstname; \ @@\
+ else set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) flags srcname $(DESTDIR)dest/dstname; fi
+#endif /* InstallNamedTargetNoClobber */
+
+#ifndef InstallTarget
+#define InstallTarget(step,file,flags,dest) @@\
+InstallNamedTarget(step,file,flags,dest,file)
+#endif /* InstallTarget */
+
+#ifndef InstallInline
+#define InstallInline(file,flags,dest) InstallNamedInline(file,flags,dest,file)
+#endif
+
+/*
+ * InstallLibrary - generate rules to install the indicated library.
+ */
+#ifndef InstallLibrary
+#define InstallLibrary(libname,dest) @@\
+install:: LibraryTargetName(libname) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) LibraryTargetName(libname) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) $(DESTDIR)dest/LibraryTargetName(libname))
+#endif /* InstallLibrary */
+
+
+/*
+ * InstallDriverSDKLibrary - rule to install Driver SDK library.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKLibrary
+#define InstallDriverSDKLibrary(lib,dir)
+#endif
+
+
+/*
+ * InstallDriverSDKNamedLibrary - rule to install Driver SDK library.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKNamedLibrary
+#define InstallDriverSDKNamedLibrary(lib,dlib,dir)
+#endif
+
+
+/*
+ * InstallDriverSDKLibraryModule - rule to install Driver SDK library module.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKLibraryModule
+#define InstallDriverSDKLibraryModule(lib,dlib,dir)
+#endif
+
+
+/*
+ * MergeIntoInstalledLibrary - generate rules to merge one library into another
+ */
+#ifndef MergeIntoInstalledLibrary
+#define MergeIntoInstalledLibrary(tolib,fromlib) @@\
+install:: fromlib @@\
+ $(SCRIPTSRC)/mergelib $(DESTDIR)tolib fromlib
+#endif /* MergeIntoInstalledLibrary */
+
+/*
+ * InstallLibraryAlias - generate rules to create a link from one library name
+ * to another for the purposes of aliasing.
+ */
+#ifndef InstallLibraryAlias
+#define InstallLibraryAlias(libname,alias,dest) @@\
+install:: @@\
+ -(cd $(DESTDIR)dest && ( \ @@\
+ RemoveFile(LibraryTargetName(alias)); \ @@\
+ $(LN) LibraryTargetName(libname) LibraryTargetName(alias)))
+#endif /* InstallLibraryAlias */
+
+
+/*
+ * InstallLintLibrary - generate rules to install the indicated lint library.
+ */
+#ifndef InstallLintLibrary
+#define InstallLintLibrary(libname,dest) @@\
+InstallTarget(install.ln,Concat(llib-l,libname.ln),$(INSTLIBFLAGS),dest)
+#endif /* InstallLintLibrary */
+
+
+#if !CompressManPages
+/*
+ * InstallManPageLong - generate rules to install the indicated manual page,
+ * giving it an alternate name. This is used for installing man pages whose
+ * base name without the .man suffix would normally be longer than 8 characters
+ * (the limit for using source code control systems on files systems with
+ * short file names).
+ */
+#ifndef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+CppManTarget(file,$(EXTRAMANDEFS)) @@\
+ @@\
+InstallNamedTarget(install.man,file.$(MANNEWSUFFIX),$(INSTMANFLAGS),destdir,dest.$(MANSUFFIX))
+#endif /* InstallManPageLong */
+
+
+/*
+ * InstallManPageAliases - generate rules to install manual page aliases.
+ */
+#ifndef InstallManPageAliases
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+install.man:: @@\
+ @(TMP="#tmp.$$$$"; \ @@\
+ RemoveFile($${TMP}); \ @@\
+ echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\
+ done; \ @@\
+ RemoveFile($${TMP}))
+#endif /* InstallManPageAliases */
+
+
+/*
+ * InstallGenManPageLong - More general rules for installing manual pages --
+ * doesn't assume MANSUFFIX.
+ */
+#ifndef InstallGenManPageLong
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+install.man:: file.$(MANNEWSUFFIX) @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.$(MANNEWSUFFIX) \ @@\
+ $(DESTDIR)destdir/dest.suffix
+#endif /* InstallGenManPageLong */
+
+
+/*
+ * InstallGenManPageAliases - general equivalent of InstallManPageAliases
+ */
+#ifndef InstallGenManPageAliases
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,suffix) @@\
+ @@\
+install.man:: @@\
+ @(TMP="#tmp.$$$$"; \ @@\
+ RemoveFile($${TMP}); \ @@\
+ echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\
+ done; \ @@\
+ RemoveFile($${TMP}))
+#endif /* InstallGenManPageAliases */
+
+#else /* CompressManPages */
+
+#ifndef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+install.man:: file.$(MANNEWSUFFIX) @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.$(MANSUFFIX)* @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.$(MANNEWSUFFIX) \ @@\
+ $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
+ -$(COMPRESSMANCMD) $(DESTDIR)destdir/dest.$(MANSUFFIX)
+#endif
+
+#ifndef InstallGenManPageLong
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+install.man:: file.$(MANNEWSUFFIX) @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.suffix* @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.$(MANNEWSUFFIX) \ @@\
+ $(DESTDIR)destdir/dest.suffix @@\
+ -$(COMPRESSMANCMD) $(DESTDIR)destdir/dest.suffix
+#endif
+
+#ifndef InstallMultipleMan
+#define InstallMultipleMan(list,dest) @@\
+install.man:: list @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ set -x; \ @@\
+ $(RM) $(DESTDIR)dest/$${MNAME}*; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) $$i \ @@\
+ $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX); \ @@\
+ $(COMPRESSMANCMD) $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX)); \ @@\
+ done
+#endif
+
+/*
+ * InstallManPageAliases - install soft links for aliases.
+ */
+#ifndef InstallManPageAliasesBase
+#define InstallManPageAliasesBase(file,destdir,aliases) @@\
+install.man:: @@\
+ @(SUFFIX=`echo $(DESTDIR)destdir/file.* | sed -e 's,.*/[^\.]*.,,'`; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.*; \ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \ @@\
+ $$i.$${SUFFIX})); \ @@\
+ done)
+#endif
+
+#ifndef InstallManPageAliases
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+#endif
+
+
+/*
+ * InstallGenManPageAliases - install soft links for aliases.
+ */
+#ifndef InstallGenManPageAliases
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,suffix) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+#endif
+
+#endif /* CompressManPages */
+
+
+/*
+ * InstallManPage - generate rules to install the indicated manual page.
+ */
+#ifndef InstallManPage
+#define InstallManPage(file,destdir) @@\
+InstallManPageLong(file,destdir,file)
+#endif /* InstallManPage */
+
+
+/*
+ * InstallGenManPage - general equivalent of InstallManPage
+ */
+#ifndef InstallGenManPage
+#define InstallGenManPage(file,destdir,suffix) @@\
+InstallGenManPageLong(file,destdir,file,suffix)
+#endif /* InstallGenManPage */
+
+
+/*
+ * RmanDependency - generate rules to build the rman program if
+ * this Imakefile is within the source tree.
+ */
+#ifndef RmanDependency
+#ifdef UseInstalled
+#define RmanDependency() /**/
+#else
+#define RmanDependency() @@\
+NoCmpScript(ProgramTargetName($(RMAN))) @@\
+ @@\
+ProgramTargetName($(RMAN)): @@\
+ @echo "checking $(RMANBASENAME) over in $(TOP)/config/util first..."; \ @@\
+ cd $(TOP)/config/util && $(MAKE) rmanonly; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+#endif /* RmanDependency */
+
+#ifndef RmanCmdDependency
+#ifdef UseInstalled
+#define RmanCmdDependency /**/
+#else
+#define RmanCmdDependency ProgramTargetName($(RMAN))
+#endif
+#endif
+
+#ifndef BuildInstallHtmlManPage
+#if BuildHtmlManPages
+#define BuildInstallHtmlManPage(file,dest,suffix) @@\
+AllTarget(dest.suffix.html) @@\
+ @@\
+dest.suffix.html: file.$(MANNEWSUFFIX) RmanCmdDependency @@\
+ RemoveFiles(dest.suffix.html dest.suffix-html) @@\
+ RunProgram(RMAN,$(RMANOPTIONS) < file.$(MANNEWSUFFIX) \ @@\
+ > dest.suffix-html) && $(MV) dest.suffix-html $@ @@\
+ @@\
+install.man:: dest.suffix.html @@\
+ MakeDir($(DESTDIR)$(DOCHTMLDIR)) @@\
+ @(SUF=`expr suffix \: '\(.\)'`; \ @@\
+ set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) dest.suffix.html $(DESTDIR)$(DOCHTMLDIR)/dest.$$SUF.html) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dest.suffix.html dest.suffix-html)
+#else
+#define BuildInstallHtmlManPage(file,dest,suffix) /**/
+#endif
+#endif
+
+#ifndef InstallHtmlManPageAliases
+#if BuildHtmlManPages
+#define InstallHtmlManPageAliases(file,aliases,suffix) @@\
+install.man:: file.suffix.html @@\
+ MakeDir($(DESTDIR)$(DOCHTMLDIR)) @@\
+ @SUF=`expr suffix \: '\(.\)'`; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ RemoveFile($(DESTDIR)$(DOCHTMLDIR)/$$i.$$SUF.html); \ @@\
+ (cd $(DESTDIR)$(DOCHTMLDIR); \ @@\
+ $(LN) file.$$SUF.html $$i.$$SUF.html)); \ @@\
+ done
+#else
+#define InstallHtmlManPageAliases(file,aliases,suffix) /**/
+#endif
+#endif
+
+#ifndef HtmlManIndex
+#if BuildHtmlManPages
+#define HtmlManIndex @@\
+html_index:: @@\
+ MakeDir($(DESTDIR)$(DOCHTMLDIR)) @@\
+ $(HTMLINDEXCMD) $(DESTDIR)$(DOCHTMLDIR)
+#else
+#define HtmlManIndex html_index::
+#endif
+#endif
+
+
+/*
+ * ManKeywordsTarget - generate the database used by "man -k".
+ * This rule updates the index in the directory "manpath", which
+ * indexes all the manual pages in the section subdirectories under
+ * it. An update command is defined only on systems that have a
+ * per MANPATH element index. If the OS supports only one system-wide
+ * database, we don't update it, because then we can't do cross
+ * installations or use a non-empty DESTDIR for testing.
+ */
+#ifndef ManKeywordsTarget
+#define ManKeywordsTarget(manpath) man_keywords::
+#endif
+
+/*
+ * InstallNamedNonExec - generate rules to install a data file
+ */
+#ifndef InstallNamedNonExec
+#define InstallNamedNonExec(srcname,dstname,dest) @@\
+InstallNamedTarget(install,srcname,$(INSTDATFLAGS),dest,dstname)
+#endif /* InstallNamedNonExec */
+
+
+/*
+ * InstallDriverSDKNamedNonExec - rule for installing server Driver SDK files.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKNamedNonExec
+#define InstallDriverSDKNamedNonExec(srcname,dstname,dest)
+#endif
+
+
+/*
+ * InstallNonExecFile - generate rules to install a data file
+ */
+#ifndef InstallNonExecFile
+#define InstallNonExecFile(file,dest) @@\
+InstallTarget(install,file,$(INSTDATFLAGS),dest)
+#endif /* InstallNonExecFile */
+
+
+/*
+ * InstallNonExecFileNoClobber - install a data file once
+ */
+#ifndef InstallNonExecFileNoClobber
+#define InstallNonExecFileNoClobber(file,dest) @@\
+InstallNamedTargetNoClobber(install,file,$(INSTDATFLAGS),dest,file)
+#endif /* InstallNonExecFileNoClobber */
+
+
+/*
+ * InstallDriverSDKNonExecFile - rule for installing server Driver SDK files.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKNonExecFile
+#define InstallDriverSDKNonExecFile(file,dir)
+#endif
+
+
+/*
+ * InstallNonExec - generate rules to install a data file, but does not
+ * try to create the destination directory (deprecated)
+ */
+#ifndef InstallNonExec
+#define InstallNonExec(file,dest) @@\
+install:: file @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) file $(DESTDIR)dest
+#endif /* InstallNonExec */
+
+
+/*
+ * InstallProgramWithFlags - generate rules to install an executable program
+ * using given install flags.
+ */
+#ifndef InstallProgramWithFlags
+#if StripInstalledPrograms && CrossCompiling
+#define InstallProgramWithFlags(program,dest,flags) @@\
+InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) @@\
+ CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program)
+#else
+#define InstallProgramWithFlags(program,dest,flags) @@\
+InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest)
+#endif /* StripInstalledPrograms && CrossCompiling */
+#endif /* InstallProgramWithFlags */
+
+
+/*
+ * InstallProgram - generate rules to install an executable program using any
+ * special install flags set in $(INSTALLFLAGS).
+ */
+#ifndef InstallProgram
+#define InstallProgram(program,dest) @@\
+InstallProgramWithFlags(program,dest,NullParameter)
+#endif /* InstallProgram */
+
+
+
+/*
+ * InstallScript - install a shell script.
+ */
+#ifndef InstallScript
+#define InstallScript(program,dest) @@\
+InstallNamedTarget(install,program.script,$(INSTBINFLAGS),dest,program)
+#endif /* InstallScript */
+
+
+/*
+ * InstallNamedProg - install a program with renaming and no stripping.
+ */
+#ifndef InstallNamedProg
+#define InstallNamedProg(srcname,dstname,dest) @@\
+InstallNamedTarget(install,srcname,$(INSTBINFLAGS),dest,dstname)
+#endif /* InstallNamedProg */
+
+
+/*
+ * InstallNamedProgNoClobber - Like InstallNamedProg, but doesn't
+ * do the install if an installed version already exists.
+ */
+#ifndef InstallNamedProgNoClobber
+#define InstallNamedProgNoClobber(srcname,dstname,dest) @@\
+InstallNamedTargetNoClobber(install,srcname,$(INSTBINFLAGS),dest,dstname)
+#endif /* InstallNamedProgNoClobber */
+
+
+/*
+ * InstallDriverSDKNamedProg - rule for installing server Driver SDK files.
+ * (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKNamedProg
+#define InstallDriverSDKNamedProg(srcname,dstname,dest)
+#endif
+
+
+/*
+ * MakeFlagsToShellFlags - set variables before starting a loop.
+ * makeflags is the set of "make" flags to check.
+ * shellcmd is the shell command to execute if any of the flags are set.
+ *
+ * The usual use of this rule is to translate make's "don't quit on error"
+ * flags into the equivalent for the shell. To do this, "make -i" always
+ * becomes "set +e". "make -k" should also turn on "set +e" if the target
+ * is building subdirectories. That is, subdirectories are independent
+ * and should appear to be multiple targets, even though they are
+ * implemented in a loop in a single target.
+ */
+#ifndef MakeFlagsToShellFlags
+#define MakeFlagsToShellFlags(makeflags,shellcmd)\
+ for flag in ${MAKEFLAGS} ''; do \ @@\
+ case "$$flag" in *=*) ;; --*) ;; *[makeflags]*) shellcmd;; esac; done
+#endif
+
+/*
+ * MakeNamedTargetSubdir - do make in a subdir.
+ */
+#ifndef MakeNamedTargetSubdir
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ (cd dir && $(MAKE) $(MFLAGS) $(PARALLELMFLAGS) \ @@\
+ flags subname)
+#endif
+
+/*
+ * LinkFileList - link a list of files from one place to another
+ */
+#ifndef LinkFileList
+#define LinkFileList(step,list,dir,sub) @@\
+step:: @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ echo " cd" dir; cd dir && \ @@\
+ for i in list; do (set -x; $(LN) -f sub/$$i .); done
+#endif
+
+
+/*
+ * LinkConfDirectoryLong
+ *
+ * Make links from opath (usually <ProjectRoot>/lib/X11) to npath
+ * For example /usr/X11R6/lib/X11/xdm ==> /etc/X11/xdm so that X
+ * binaries can be mounted from a read-only volume like a CD-ROM;
+ * but files that may need to be edited can be stored locally on
+ * read-write media. If someone has an existing installation, be
+ * careful and move existing files to the new location in /etc.
+ * XXX Need to make the installation script do this when installing
+ * binary distributions.
+ *
+ * Since the link is used in the installation process, we need to
+ * make the link relative in order to honor $(DESTDIR) if it is set.
+ *
+ * Note: The sed script used here is not completely general. It assumes
+ * that no elements of the path are '..', and that none start with '.'
+ * that aren't just '.'.
+ *
+ * For a more general solution $(REVPATH) could be used. Even though
+ * it was intended for something a little different, it does do what is
+ * required here.
+ *
+ */
+#ifndef LinkConfDirectoryLong
+#if UseSeparateConfDir && HasSymLinks
+#define LinkConfDirectoryLong(mdir,cdir,rdir,ldir,opath,npath) @@\
+install:: @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ if [ -h Concat($(DESTDIR),npath/mdir) ]; then \ @@\
+ $(RM) Concat($(DESTDIR),npath/mdir); \ @@\
+ fi @@\
+ MakeDir(Concat($(DESTDIR),opath/cdir)) @@\
+ MakeDir(Concat($(DESTDIR),npath/mdir)) @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ if [ -d Concat($(DESTDIR),opath/cdir) ]; then \ @@\
+ RELPATH=`echo opath/cdir | \ @@\
+ sed -e 's:^/::' -e 's:[^/.][^/]*:..:'g -e 's:/\.$$::'`; \ @@\
+ cd Concat($(DESTDIR),opath/cdir); \ @@\
+ if [ -d rdir -a ! -h rdir ]; then \ @@\
+ (cd rdir; tar cf - . | \ @@\
+ (cd Concat($(DESTDIR),npath/mdir); \ @@\
+ tar xf -; exit 0); exit 0); \ @@\
+ fi; \ @@\
+ $(RM) -r rdir; \ @@\
+ $(LN) Concat($${RELPATH},npath/mdir) ldir; \ @@\
+ fi
+#else
+#define LinkConfDirectoryLong(mdir,cdir,rdir,ldir,opath,npath)
+#endif
+#endif
+
+#ifndef LinkConfDirectory
+#define LinkConfDirectory(mdir,cdir,rdir,ldir) LinkConfDirectoryLong(mdir,cdir,rdir,ldir,$(LIBDIR),$(CONFDIR))
+#endif
+
+#ifndef LinkVarDirectory
+#define LinkVarDirectory(mdir,cdir,rdir,ldir) LinkConfDirectoryLong(mdir,cdir,rdir,ldir,$(LIBDIR),$(VARDIR))
+#endif
+
+/*
+ * LinkConfFileLong
+ *
+ * Make links from opath (<ProjectRoot>/lib/X11) to npath
+ * For example /usr/X11R6/lib/X11/xxx ==> /etc/X11/xxx so that X binaries
+ * can be mounted from a read-only volume like a CD-ROM;
+ * but files that may need to be edited can be stored locally on
+ * read-write media. If someone has an existing installation, be
+ * careful and move existing files to the new location in /etc.
+ * XXX Need to make the installation script do this when installing
+ * binary distributions.
+ *
+ * Since the link is used in the installation process, we need to
+ * make the link relative in order to honor $(DESTDIR) if it is set.
+ */
+#ifndef LinkConfFileLong
+#if UseSeparateConfDir && HasSymLinks
+#define LinkConfFileLong(cfile,lfile,opath,npath) @@\
+install:: @@\
+ MakeDir(Concat($(DESTDIR),opath)) @@\
+ MakeDir(Concat($(DESTDIR),npath)) @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ if [ -d Concat($(DESTDIR),opath) ]; then \ @@\
+ RELPATH=`echo opath | \ @@\
+ sed -e 's:^.::' -e 's:[^/.][^/]*:..:'g`; \ @@\
+ cd Concat($(DESTDIR),opath); \ @@\
+ if [ -f lfile -a ! -h lfile ]; then \ @@\
+ cp -p lfile Concat($(DESTDIR),npath/cfile); \ @@\
+ fi; \ @@\
+ $(RM) -r lfile; \ @@\
+ $(LN) Concat($${RELPATH},npath/cfile) lfile; \ @@\
+ fi
+#else
+#define LinkConfFileLong(cfile,lfile,opath,npath)
+#endif
+#endif
+
+
+#ifndef LinkConfFile
+#define LinkConfFile(cfile,lfile) LinkConfFileLong(cfile,lfile,$(LIBDIR),$(CONFDIR))
+#endif
+
+/*
+ * InstallMultipleDestFlags - generate rules to install multiple files at
+ * once during a particular step in the build using a specific set of install
+ * flags.
+ */
+#ifndef InstallMultipleDestFlags
+#define InstallMultipleDestFlags(step,list,dest,flags) @@\
+step:: list @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in list; do \ @@\
+ (set -x; $(INSTALL) $(INSTALLFLAGS) flags $$i $(DESTDIR)dest); \ @@\
+ done
+#endif /* InstallMultipleDestFlags */
+
+
+/*
+ * InstallDriverSDKMultipleDestFlags - rule for installing server Driver SDK
+ * files. (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKMultipleDestFlags
+#define InstallDriverSDKMultipleDestFlags(list,dest,flags)
+#endif
+
+
+/*
+ * InstallMultipleDest - generate rules to install multiple files at once
+ * during a particular step in the build using any install flags set in
+ * $(INSTDATFLAGS).
+ */
+#ifndef InstallMultipleDest
+#define InstallMultipleDest(step,list,dest) @@\
+InstallMultipleDestFlags(step,list,dest,$(INSTDATFLAGS))
+#endif /* InstallMultipleDest */
+
+/*
+ * InstallMultiple - generate rules to install multiple files at once
+ * during the install step of the build using any install flags set in
+ * $(INSTALLFLAGS).
+ */
+#ifndef InstallMultiple
+#define InstallMultiple(list,dest) @@\
+InstallMultipleDest(install,list,dest)
+#endif /* InstallMultiple */
+
+
+/*
+ * InstallMultipleFlags - generate rules to install multiple files at once
+ * during the install step of the build using the given install flags.
+ */
+#ifndef InstallMultipleFlags
+#define InstallMultipleFlags(list,dest,flags) @@\
+InstallMultipleDestFlags(install,list,dest,flags)
+#endif /* InstallMultipleFlags */
+
+
+/*
+ * InstallMultipleMan - generate rules to install a variety of manual pages
+ * during the install.man step of the build.
+ */
+#ifndef InstallMultipleMan
+#define InstallMultipleMan(list,dest) @@\
+InstallMultipleDestFlags(install.man,list,dest,$(INSTMANFLAGS))
+#endif /* InstallMultipleMan */
+
+/*
+ * InstallMultipleManSuffix - generate rules to install multiple manual
+ * pages dufing the install.man step of the build, where
+ * the target files have the suffix given.
+ */
+#ifndef InstallMultipleManSuffix
+#define InstallMultipleManSuffix(list,dest,suffix) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in list; do \ @@\
+ (set -x; $(INSTALL) $(INSTALLFLAGS) $(INSTMANFLAGS) $$i.suffix $(DESTDIR)dest/$$i.$(MANSUFFIX)); \ @@\
+ done
+#endif /* InstallMultipleManSuffix */
+
+
+/*
+ * IncludeMakefile - rule to include another Makefile.
+ * Must not generate an error or even a warning if the named file
+ * is not present, since we use this to include Makefile.dep, which
+ * may not be built yet.
+ * This is defined non-null iff HasMakefileSafeInclude is YES.
+ * The double-@ is to ensure no leading spaces on the line.
+ */
+#ifndef IncludeMakefile
+#if HasClearmake
+#define IncludeMakefile(file) @@sinclude file
+#else
+#if HasBsdMake
+#define IncludeMakefile(file) @@# dependencies are in .depend
+#else
+#define IncludeMakefile(file) /**/
+#endif
+#endif
+#endif
+
+/*
+ * DependDependencyStatement - Used by DependDependency to set up the
+ * most specific dependency, which differs based on whether we support
+ * a separate Makefile.dep on this platform.
+ */
+#ifndef DependDependencyStatement
+#if HasMakefileSafeInclude
+#define DependDependencyStatement() @@\
+DependFileName:: ProgramTargetName($(DEPEND))
+#else
+#define DependDependencyStatement() @@\
+depend:: ProgramTargetName($(DEPEND))
+#endif
+#endif
+
+/*
+ * DependDependency - generate rules to build the makedepend program if
+ * this Imakefile is within the source tree.
+ */
+#ifndef DependDependency
+#ifdef UseInstalled
+#define DependDependency() /**/
+#else
+#define DependDependency() @@\
+DependDependencyStatement() @@\
+ @@\
+NoCmpScript(ProgramTargetName($(DEPEND))) @@\
+ @@\
+ProgramTargetName($(DEPEND)): @@\
+ @echo "checking $@ over in $(DEPENDSRC) first..."; \ @@\
+ cd $(DEPENDSRC) && $(MAKE) makedependonly; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+#endif /* DependDependency */
+
+
+/*
+ * DependTarget - generate rules to compute dependencies for all files listed
+ * in $(SRCS).
+ */
+#ifndef DependTarget
+#if HasMakefileSafeInclude
+#define DependTarget() @@\
+DependDependency() @@\
+ @@\
+depend:: DependFileName @@\
+ @@\
+DependFileName:: @@\
+ RemoveFile($@) @@\
+ RunProgram(DEPEND,-f- $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)) > $@
+#else /* HasMakefileSafeInclude */
+#define DependTarget() @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ RunProgram(DEPEND,$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS))
+#endif /* HasMakefileSafeInclude else */
+#endif /* DependTarget */
+
+/*
+ * DependTarget3 - generate rules to compute dependencies for all files given.
+ */
+#ifndef DependTarget3
+#if HasMakefileSafeInclude
+#define DependTarget3(srcs1,srcs2,srcs3) @@\
+DependDependency() @@\
+ @@\
+depend:: DependFileName @@\
+ @@\
+DependFileName:: @@\
+ RemoveFile($@) @@\
+ RunProgram(DEPEND,-f- $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1) > $@ @@\
+ RunProgram(DEPEND,-f- $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2) >> $@ @@\
+ RunProgram(DEPEND,-f- $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3) >> $@
+#else /* HasMakefileSafeInclude */
+#define DependTarget3(srcs1,srcs2,srcs3) @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ RunProgram(DEPEND,$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1) @@\
+ RunProgram(DEPEND,-a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2) @@\
+ RunProgram(DEPEND,-a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3)
+#endif /* HasMakefileSafeInclude else */
+#endif /* DependTarget3 */
+
+
+/*
+ * CleanTarget - generate rules to remove any garbage files
+ */
+#ifndef CleanTarget
+#define CleanTarget() @@\
+clean:: @@\
+ $(RM) FilesToClean ExtraFilesToClean DocFilesToClean "#"* @@\
+ @@\
+ProofCleanTarget()
+#endif /* CleanTarget */
+
+
+/*
+ * TagsTarget - generate rules to compute tags files for C source code.
+ */
+#ifndef TagsTarget
+#define TagsTarget() @@\
+tags:: @@\
+ $(TAGS) -w *.[ch] @@\
+ $(TAGS) -xw *.[ch] > TAGS
+#endif /* TagsTarget */
+
+
+/*
+ * ImakeDependency - generate rules to compile imake if this Imakefile is
+ * within the source tree.
+ */
+#ifndef ImakeDependency
+#ifdef UseInstalled
+#define ImakeDependency(target) /**/
+#else
+#define ImakeDependency(target) @@\
+target:: ProgramTargetName($(IMAKE)) @@\
+ @@\
+NoCmpScript(ProgramTargetName($(IMAKE)) $(IMAKE).Osuf) @@\
+ @@\
+ProgramTargetName($(IMAKE)) $(IMAKE).Osuf: @@\
+ -@(cd $(IMAKESRC) && if [ -f Makefile ]; then \ @@\
+ echo "checking $@ in $(IMAKESRC) first..."; $(MAKE) imakeonly; else \ @@\
+ echo "bootstrapping $@ from Makefile.ini in $(IMAKESRC) first..."; \ @@\
+ $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; fi; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)")
+#endif /* UseInstalled */
+#endif /* ImakeDependency */
+
+
+/*
+ * BuildMakefileTarget - generate rules to build a Makefile from an Imakefile
+ * and any special imake flags. This is generally done automatically by the
+ * template or by any special Imakefiles. The first argument exists just
+ * because imakeflags is usually empty and some preprocessors will complain
+ * if an empty argument is passed as the sole argument to a macro.
+ */
+#ifndef BuildMakefileTarget
+#define BuildMakefileTarget(notused,imakeflags) @@\
+ImakeDependency(Makefile) @@\
+ @@\
+Makefile:: @@\
+ RMoveToBakFile(Makefile) @@\
+ $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) imakeflags
+
+#endif /* BuildMakefileTarget */
+
+
+/*
+ * MakefileTarget - generate rules to build a normal Makefile.
+ */
+#ifndef MakefileTarget
+#define MakefileTarget() @@\
+BuildMakefileTarget(Imakefile,NullParameter)
+#endif /* MakefileTarget */
+
+
+/*
+ * LibMkdir - helper for creating library object subdirectories
+ */
+#ifndef LibMkdir
+#define LibMkdir(dir) DirFailPrefix@if [ -d dir ]; then exit 0; else set -x; mkdir dir; fi
+#endif
+
+#ifndef LibMkdirLinkSubdirs
+#define LibMkdirLinkSubdirs(dir) DirFailPrefix@if [ -d dir ]; then \ @@\
+ exit 0; \ @@\
+ else \ @@\
+ echo "mkdir dir"; mkdir dir; \ @@\
+ for i in $(SUBDIRS); do \ @@\
+ j=`echo "$$i" | sed -e 's;[^/]\{1,\};..;g'`; \ @@\
+ if [ ! -d "dir/`dirname $$i`" ]; then \ @@\
+ $(MKDIRHIER) "dir/`dirname $$i`"; \ @@\
+ fi; \ @@\
+ echo $(LN) "$$j/$$i/dir" "dir/$$i"; \ @@\
+ $(LN) "$$j/$$i/dir" "dir/$$i"; \ @@\
+ done; \ @@\
+ fi
+#endif
+
+/*
+ * LibCleanDir - helper for cleaning library object subdirectories
+ */
+#ifndef LibCleanDir
+#define LibCleanDir(dir) -@if [ -d dir ]; then \ @@\
+ set -x; $(RM) -r dir; else exit 0; fi
+#endif
+
+/*
+ * LintLibReferences - variables for lint libraries
+ */
+#ifndef LintLibReferences
+#define LintLibReferences(varname,libname,libsource) @@\
+Concat(LINT,varname) = _UseCat($(LINTLIBDIR)/llib-l,libsource/llib-,libname.ln)
+#endif
+
+
+/*
+ * UnsharedLibReferences - variables for unshared libraries
+ */
+#ifndef UnsharedLibReferences
+#define UnsharedLibReferences(varname,libname,libsource) @@\
+ProjectUnsharedLibReferences(varname,libname,libsource,$(BUILDLIBDIR))
+#endif
+
+/*
+ * ProjectUnsharedLibReferences - variables for unshared libraries
+ */
+#ifndef ProjectUnsharedLibReferences
+#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\
+Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,buildlibdir/,LibraryTargetName(libname)) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+ /*
+ * ProjectUnsharedFontLibReferences - unshared font libraries
+ */
+#ifndef ProjectUnsharedFontLibReferences
+#define ProjectUnsharedFontLibReferences() @@\
+DEPFONTLIB = _UseCat($(USRLIBDIR)/,XBuildLibDir/,LibraryTargetName(Xfont)) @@\
+FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) LoaderLibPrefix -lXfont @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+#endif
+
+/*
+ * SharedLibDependencies - shared library dependencies
+ */
+#ifndef SharedLibDependencies
+#define SharedLibDependencies(libname,libsource,revname) /**/
+#endif
+
+/*
+ * SharedFontLibReferences - shared font libraries
+ */
+#ifndef SharedFontLibReferences
+#define SharedFontLibReferences() @@\
+SOFONTREV = SharedFontRev @@\
+DEPFONTLIB = SharedLibDependencies(Xfont,$(FONTLIBSRC),SOFONTREV) @@\
+FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) LoaderLibPrefix -lXfont @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+#endif
+
+/*
+ * SharedDSLibDependencies - shared library dependencies with data separation
+ */
+#ifndef SharedDSLibDependencies
+#define SharedDSLibDependencies(libname,libsource,revname) /**/
+#endif
+
+/*
+ * SharedLibReferences - variables for shared libraries
+ */
+#ifndef SharedLibReferences
+#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+revname = rev @@\
+Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+/*
+ * SharedDSLibReferences - variables for shared libraries with data separation
+ */
+#ifndef SharedDSLibReferences
+#define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
+revname = rev @@\
+Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+/*
+ * CPPOnlyCompile - run C compiler's preprocessor only
+ */
+#ifndef CPPOnlyCompile
+#define CPPOnlyCompile(src,options) RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CC) -E $(CFLAGS) options src > $@
+#endif
+
+/*
+ * ObjectCompile - compile fragment for a normal object file
+ */
+#ifndef ObjectCompile
+#define ObjectCompile(options) RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CC) -c $(CFLAGS) options $*.c
+#endif
+
+/*
+ * CompileCToAsm - compile C file to assembler
+ */
+#ifndef CompileCToAsm
+#define CompileCToAsm(options) RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CC) -S $(CFLAGS) options $*.c
+#endif
+
+
+/*
+ * CompileCplusplusToAsm - compile C++ file to assembler
+ */
+#ifndef CompileCplusplusToAsm
+#define CompileCplusplusToAsm(options) RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CC) -S $(CFLAGS) options $*.cc
+#endif
+
+
+#ifndef ObjectCplusplusCompile
+#define ObjectCplusplusCompile(options) RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CXX) -c $(CXXFLAGS) options $*.CCsuf
+#endif
+
+/*
+ * NormalLibObjCompile - compile fragment for a normal library object file
+ */
+#ifndef NormalLibObjCompile
+#define NormalLibObjCompile(options) ObjectCompile(options)
+#endif
+
+#ifndef NormalRelocLibObjCompile
+# if !StaticNeedsPicForShared
+# define NormalRelocLibObjCompile(options) NormalLibObjCompile(options)
+# else
+# define NormalRelocLibObjCompile(options) NormalLibObjCompile(options $(PICFLAGS))
+# endif
+#endif
+
+#ifndef NormalLibObjCplusplusCompile
+#define NormalLibObjCplusplusCompile(options) ObjectCplusplusCompile(options)
+#endif
+
+/*
+ * NormalSharedLibObjCompile - compile fragment for shared objects
+ */
+#ifndef NormalSharedLibObjCompile
+#define NormalSharedLibObjCompile(options) NormalLibObjCompile(options $(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS))
+#endif
+
+#ifndef NormalSharedLibObjCplusplusCompile
+#define NormalSharedLibObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options $(SHLIBDEF) $(SHAREDCODEDEF) $(CXXPICFLAGS))
+#endif
+
+/*
+ * LibObjCompile - compile fragment for unshared/profiled/debugged objects
+ */
+#ifndef LibObjCompile
+#if HasGcc || HasGcc2
+#define LibObjCompile(dir,options) RemoveFiles($@ dir/$@) @@\
+ ClearmakeOSName \
+ $(CC) -c $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES) \
+ options $*.c -o dir/$@
+#else
+#define LibObjCompile(dir,options) RemoveFiles($@ dir/$@) @@\
+ ClearmakeOSName \
+ $(CC) -c $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES) \
+ options $*.c @@\
+ $(MV) $@ dir/$@
+#endif
+#endif
+
+#ifndef LibObjCplusplusCompile
+#if HasGcc || HasGcc2
+#define LibObjCplusplusCompile(dir,options) RemoveFiles($@ dir/$@) @@\
+ ClearmakeOSName \
+ $(CXX) -c $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) \
+ options $*.CCsuf -o dir/$@
+#else
+#define LibObjCplusplusCompile(dir,options) RemoveFiles($@ dir/$@) @@\
+ ClearmakeOSName \
+ $(CXX) -c $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES) \
+ options $*.CCsuf @@\
+ $(MV) $@ dir/$@
+#endif
+#endif
+
+/*
+ * DebuggedLibObjCompile - compile fragment for debugged objects
+ */
+#ifndef DebuggedLibObjCompile
+#define DebuggedLibObjCompile(options) LibObjCompile(debugger,DebuggableCDebugFlags options)
+#endif
+
+#ifndef DebuggedLibObjCplusplusCompile
+#define DebuggedLibObjCplusplusCompile(options) LibObjCplusplusCompile(debugger,DebuggableCplusplusDebugFlags options)
+#endif
+
+/*
+ * ProfiledLibObjCompile - compile fragment for profiled objects
+ */
+#ifndef ProfiledLibObjCompile
+#define ProfiledLibObjCompile(options) LibObjCompile(profiled,ProfiledCDebugFlags options)
+#endif
+
+#ifndef ProfiledLibObjCplusplusCompile
+#define ProfiledLibObjCplusplusCompile(options) LibObjCplusplusCompile(profiled,ProfiledCplusplusDebugFlags options)
+#endif
+
+/*
+ * UnsharedLibObjCompile - compile fragment for unshared objects
+ */
+#ifndef UnsharedLibObjCompile
+#define UnsharedLibObjCompile(options) LibObjCompile(unshared,$(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) options)
+#endif
+
+#ifndef UnsharedLibObjCplusplusCompile
+#define UnsharedLibObjCplusplusCompile(options) LibObjCplusplusCompile(unshared,$(CXXDEBUGFLAGS) $(CXXLIBDEBUGFLAGS) options)
+#endif
+
+/*
+ * SharedLibObjCompile - compile fragment for shared objects
+ */
+#ifndef SharedLibObjCompile
+#define SharedLibObjCompile(options) LibObjCompile(shared,options $(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS))
+#endif
+
+/*
+ * NormalLibraryObjectRule - for simple libraries
+ */
+#ifndef NormalLibraryObjectRule
+#define NormalLibraryObjectRule() @@\
+.c.Osuf: @@\
+ NormalLibObjCompile($(_NOOP_))
+#endif /* NormalLibraryObjectRule */
+
+#ifndef NormalCplusplusObjectRule
+#define NormalCplusplusObjectRule() @@\
+.CCsuf.Osuf: @@\
+ NormalLibObjCplusplusCompile($(_NOOP_))
+#endif
+
+#ifndef NormalFortranObjectRule
+#define NormalFortranObjectRule() @@\
+.f.Osuf: @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(FC) -c $(FCFLAGS) $*.f
+#endif
+
+/*
+ * SpecialObjectRule - generate rules to compile a file with special flags.
+ */
+#ifndef SpecialObjectRule
+#define SpecialObjectRule(objs,depends,options) @@\
+objs: depends @@\
+ ObjectCompile(options)
+#endif /* SpecialObjectRule */
+
+#ifndef SpecialCplusplusObjectRule
+#define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\
+baseobj.Osuf: basedep.CCsuf @@\
+ ObjectCplusplusCompile(options)
+#endif /* SpecialCplusplusObjectRule */
+
+/*
+ * SpecialCObjectRule - generate rules to compile a C file with special flags.
+ * also handles CodeCenter rules
+ */
+#ifndef SpecialCObjectRule
+#define SpecialCObjectRule(basename,depends,options) @@\
+SpecialObjectRule(basename.Osuf,basename.c depends,options) @@\
+ @@\
+basename.i: basename.c depends @@\
+ CPPOnlyCompile(basename.c,options) @@\
+ @@\
+basename.s: basename.c depends @@\
+ CompileCToAsm(options) @@\
+ @@\
+CenterLoadTarget(debug_src,basename.c,NullParameter,$(ALLDEFINES) options)
+#endif /* SpecialCObjectRule */
+
+
+#ifndef ObjectFromSpecialSource
+#define ObjectFromSpecialSource(dst,src,flags) @@\
+NoConfigRec(dst.c) @@\
+ @@\
+dst.c: src.c @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+SpecialCObjectRule(dst,NullParameter,flags) @@\
+ @@\
+includes:: dst.c @@\
+ @@\
+depend:: dst.c @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.c)
+#endif /* ObjectFromSpecialSource */
+
+#ifndef CPPOnlyAsm
+#define CPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
+ $(CPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.S | \ @@\
+ grep -v '^\#' > basename.i
+#endif
+
+#ifndef AssembleObject
+#define AssembleObject(basename,flags) CPPOnlyAsm(basename,flags) @@\
+ RemoveFile(basename.o) @@\
+ $(AS) -o basename.o basename.i @@\
+ RemoveFile(basename.i)
+#endif
+
+#ifndef NormalAsmObjectRule
+#define NormalAsmObjectRule() @@\
+.S.o: @@\
+ AssembleObject($*,$(_NOOP_)) @@\
+ @@\
+.S.i: @@\
+ CPPOnlyAsm($*,$(_NOOP_))
+#endif
+
+#ifndef ObjectFromSpecialAsmSource
+#define ObjectFromSpecialAsmSource(dst,src,flags) @@\
+dst.S: src.S @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+dst.o: dst.S @@\
+ AssembleObject(dst,flags) @@\
+ @@\
+dst.i: dst.S @@\
+ CPPOnlyAsm(dst,flags) @@\
+ @@\
+depend:: dst.S @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.S)
+#endif
+
+#ifndef ObjectFromAsmSource
+#define ObjectFromAsmSource(src,flags) @@\
+ @@\
+src.o: src.S @@\
+ AssembleObject(src,flags) @@\
+ @@\
+src.i: src.S @@\
+ CPPOnlyAsm(src,flags) @@\
+ @@\
+depend:: src.S
+#endif
+
+#ifndef SwitchYYPrefix
+#define SwitchYYPrefix(in,out,prefix) \
+ sed 's/yy/prefix/g' in | sed 's/__REALLY_YY__/yy/' > out && RemoveFile(in)
+#endif
+
+#ifndef LexFilePrefix
+#define LexFilePrefix(file,prefix) @@\
+file.c: file.l @@\
+ ClearmakeOSName \
+ $(LEX) $(LFLAGS) file.l @@\
+ SwitchYYPrefix(lex.yy.c,file.c,prefix) @@\
+ @@\
+depend:: file.c @@\
+ @@\
+clean:: @@\
+ RemoveFiles(lex.yy.c file.c)
+#endif
+
+#ifndef LexFileExplicit
+#if HasClearmake /* provide a place to hang ClearmakeOSName */
+#define LexFileExplicit(file) @@\
+file.c: file.l @@\
+ ClearmakeOSName \
+ $(LEX) $(LFLAGS) file.l @@\
+ $(MV) lex.yy.c file.c
+#else
+#define LexFileExplicit(file) /* the default rule is fine */
+#endif
+#endif
+
+#ifndef LexFile
+#define LexFile(file) @@\
+LexFileExplicit(file) @@\
+ @@\
+depend:: file.c @@\
+ @@\
+clean:: @@\
+ RemoveFiles(lex.yy.c file.c)
+#endif /* LexFile */
+
+
+#ifndef M4File
+#define M4File(file,includes) @@\
+file: file.m4 includes @@\
+ RemoveFile(file) @@\
+ $(M4) $(M4FLAGS) file.m4 >file @@\
+ @@\
+depend:: file @@\
+ @@\
+clean:: @@\
+ RemoveFile(file)
+#endif /* M4File */
+
+#ifndef YaccFilePrefix
+#if HasGnuMake
+#define YaccFilePrefix(file,flags,prefix) @@\
+depend:: file.c @@\
+ @@\
+file.h: file.c @@\
+ @@\
+file.c: file.y @@\
+ ClearmakeOSName \
+ $(YACC) flags file.y @@\
+ SwitchYYPrefix(y.tab.c,file.c,prefix) @@\
+ @if [ -f y.tab.h ]; then set -x; SwitchYYPrefix(y.tab.h,file.h,prefix); \@@\
+ else exit 0; fi @@\
+ @@\
+clean:: @@\
+ RemoveFiles(y.tab.c y.tab.h file.h file.c)
+#else
+#define YaccFilePrefix(file,flags,prefix) @@\
+depend:: file.c @@\
+ @@\
+file.h file.c: file.y @@\
+ ClearmakeOSName \
+ $(YACC) flags file.y @@\
+ SwitchYYPrefix(y.tab.c,file.c,prefix) @@\
+ @if [ -f y.tab.h ]; then set -x; SwitchYYPrefix(y.tab.h,file.h,prefix); \ @@\
+ else exit 0; fi @@\
+ @@\
+clean:: @@\
+ RemoveFiles(y.tab.c y.tab.h file.h file.c)
+#endif
+#endif /* YaccFile */
+
+#ifndef YaccFile
+#if HasGnuMake
+#define YaccFile(file,flags) @@\
+depend:: file.c @@\
+ @@\
+file.h: file.c @@\
+ @@\
+file.c: file.y @@\
+ ClearmakeOSName \
+ $(YACC) flags file.y @@\
+ $(MV) y.tab.c file.c @@\
+ @if [ -f y.tab.h ]; then set -x; $(MV) y.tab.h file.h; \ @@\
+ else exit 0; fi @@\
+ @@\
+clean:: @@\
+ RemoveFiles(y.tab.c y.tab.h file.h file.c)
+#else
+#define YaccFile(file,flags) @@\
+depend:: file.c @@\
+ @@\
+file.h file.c: file.y @@\
+ ClearmakeOSName \
+ $(YACC) flags file.y @@\
+ $(MV) y.tab.c file.c @@\
+ @if [ -f y.tab.h ]; then set -x; $(MV) y.tab.h file.h; \ @@\
+ else exit 0; fi @@\
+ @@\
+clean:: @@\
+ RemoveFiles(y.tab.c y.tab.h file.h file.c)
+#endif
+#endif /* YaccFile */
+
+#ifndef YaccFileNoFlags
+#define YaccFileNoFlags(file) @@\
+depend:: file.c @@\
+ @@\
+file.c: file.y @@\
+ ClearmakeOSName \
+ $(YACC) file.y @@\
+ $(MV) y.tab.c file.c @@\
+ @@\
+clean:: @@\
+ RemoveFiles(y.tab.c file.c)
+#endif /* YaccFileNoFlags */
+
+
+#ifndef MakeLibrary
+#define MakeLibrary(libname,objlist) $(AR) libname objlist
+#endif
+
+#ifndef LinkBuildLibrary
+#ifdef UseInstalled
+#define LinkBuildLibrary(lib) $(_NULLCMD_)
+#else
+#define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/lib) @@\
+ cd $(BUILDLIBDIR) && $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/lib .
+#endif
+#endif /* LinkBuildLibrary */
+
+#ifndef LinkBuildLibraryMaybe
+#ifdef UseInstalled
+#define LinkBuildLibraryMaybe(lib,doit) $(_NULLCMD_)
+#else
+#define LinkBuildLibraryMaybe(lib,doit) MakeDir($(BUILDLIBDIR)) @@\
+ @if doit; then (set -x; \ @@\
+ RemoveFile($(BUILDLIBDIR)/lib); \ @@\
+ cd $(BUILDLIBDIR) && $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/lib .); fi
+#endif
+#endif /* LinkBuildLibraryMaybe */
+
+#ifndef _LinkBuildLibrary /* will get redefined elsewhere */
+#define _LinkBuildLibrary(lib) $(_NULLCMD_)
+#endif /* _LinkBuildLibrary */
+
+#ifndef LinkBuildSonameLibrary
+#ifdef UseInstalled
+#define LinkBuildSonameLibrary(lib) true
+#else
+#define LinkBuildSonameLibrary(lib) MakeDirInline($(BUILDLIBDIR));\ @@\
+ (set -x; RemoveFile($(BUILDLIBDIR)/lib);\ @@\
+ (cd $(BUILDLIBDIR) && $(LN) $(BUILDLIBTOP)/$(CURRENT_DIR)/lib .))
+#endif
+#endif /* LinkBuildSonameLibrary */
+
+#ifndef LinkBuildLibraryInline
+#define LinkBuildLibraryInline(lib) LinkBuildSonameLibrary(lib)
+#endif /* LinkBuildLibraryInline */
+
+/*
+ * NormalLibraryTarget - generate rules to create a library.
+ */
+#ifndef NormalLibraryTarget
+#define NormalLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* NormalLibraryTarget */
+
+
+/*
+ * NormalLibraryTarget2 - generate rules to create a library in two steps.
+ * This is used to create libraries with large numbers of files.
+ */
+#ifndef NormalLibraryTarget2
+#define NormalLibraryTarget2(libname,objlist1,objlist2) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist1 objlist2 $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist1) @@\
+ MakeLibrary($@,objlist2) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* NormalLibraryTarget2 */
+
+
+/*
+ * NormalLibraryTarget3 - generate rules to create a library in three steps.
+ * This is used to create libraries with very large numbers of files.
+ */
+#ifndef NormalLibraryTarget3
+#define NormalLibraryTarget3(libname,objlist1,objlist2,objlist3) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist1 objlist2 objlist3 $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist1) @@\
+ MakeLibrary($@,objlist2) @@\
+ MakeLibrary($@,objlist3) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* NormalLibraryTarget3 */
+
+
+/*
+ * NormalDepLibraryTarget - generate rules to create a library.
+ */
+#ifndef NormalDepLibraryTarget
+#define NormalDepLibraryTarget(libname,deplist,objlist) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* NormalDepLibraryTarget */
+
+
+/*
+ * UnsharedLibraryTarget - generate rules to create a library.
+ */
+#ifndef UnsharedLibraryTarget
+#define UnsharedLibraryTarget(libname,objlist,down,up) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ @(set -x; cd down && MakeLibrary(up/$@,objlist)) || exit 1; @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* UnsharedLibraryTarget */
+
+
+/*
+ * UnsharedLibraryTarget3 - generate rules to create a library in three steps.
+ * This is used to create libraries with very large numbers of files.
+ */
+#ifndef UnsharedLibraryTarget3
+#define UnsharedLibraryTarget3(libname,objlist1,objlist2,objlist3,down,up) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist1 objlist2 objlist3 $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ (cd down && MakeLibrary(up/$@,objlist1)) @@\
+ (cd down && MakeLibrary(up/$@,objlist2)) @@\
+ (cd down && MakeLibrary(up/$@,objlist3)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+#endif /* UnsharedLibraryTarget3 */
+
+
+/*
+ * SubdirLibraryRule -
+ */
+#ifndef SubdirLibraryRule
+#define SubdirLibraryRule(objlist) @@\
+all:: DONE @@\
+ @@\
+DONE: objlist @@\
+ RemoveFile($@) @@\
+ touch $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(DONE)
+#endif /* SubdirLibraryRule */
+
+
+/*
+ * ProfiledLibraryTarget - generate rules to create a profiled library.
+ */
+#ifndef ProfiledLibraryTarget
+#define ProfiledLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_p): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ cd profiled && MakeLibrary(../$@,objlist) @@\
+ RanLibrary($@)
+
+#endif /* ProfiledLibraryTarget */
+
+
+/*
+ * ProfiledDepLibraryTarget - generate rules to create a profiled library.
+ */
+#ifndef ProfiledDepLibraryTarget
+#define ProfiledDepLibraryTarget(libname,deplist,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_p): deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist) @@\
+ RanLibrary($@)
+
+#endif /* ProfiledDepLibraryTarget */
+
+
+/*
+ * DebuggedLibraryTarget - generate rules to create a debuggable library.
+ */
+#ifndef DebuggedLibraryTarget
+#define DebuggedLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_d): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ cd debugger && MakeLibrary(../$@,objlist) @@\
+ RanLibrary($@)
+
+#endif /* DebuggedLibraryTarget */
+
+
+/*
+ * DebuggedDepLibraryTarget - generate rules to create a debuggable library.
+ */
+#ifndef DebuggedDepLibraryTarget
+#define DebuggedDepLibraryTarget(libname,deplist,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_d): deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist) @@\
+ RanLibrary($@)
+
+#endif /* DebuggedDepLibraryTarget */
+
+
+/*
+ * AliasedLibraryTarget - generate rules to link one library to another.
+ */
+#ifndef AliasedLibraryTarget
+#define AliasedLibraryTarget(libname,alias) @@\
+AllTarget(LibraryTargetName(alias)) @@\
+ @@\
+LibraryTargetName(alias): LibraryTargetName(libname) @@\
+ RemoveFile($@) @@\
+ $(LN) LibraryTargetName(libname) $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(LibraryTargetName(alias))
+#endif /* AliasedLibraryTarget */
+
+
+/*
+ * NormalRelocatableTarget - generate rules to produce a relocatable object
+ * file instead of a library.
+ */
+#ifndef NormalRelocatableTarget
+#define NormalRelocatableTarget(objname,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) $(LDCOMBINEFLAGS) objlist -o $@
+#endif /* NormalRelocatableTarget */
+
+
+/*
+ * NormalDepRelocatableTarget - generate rules to produce a relocatable object
+ * file instead of a library.
+ */
+#ifndef NormalDepRelocatableTarget
+#define NormalDepRelocatableTarget(objname,deplist,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) $(LDCOMBINEFLAGS) objlist -o $@
+#endif /* NormalDepRelocatableTarget */
+
+
+/*
+ * ProfiledRelocatableTarget - generate rules to produce a profiled relocatable
+ * object file instead of a library.
+ */
+#ifndef ProfiledRelocatableTarget
+#define ProfiledRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_p.Osuf)) @@\
+ @@\
+Concat(objname,_p.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r objlist -o $@
+
+#endif /* ProfiledRelocatableTarget */
+
+
+/*
+ * DebuggedRelocatableTarget - generate rules to produce a debuggable
+ * relocatable object file instead of a library.
+ */
+#ifndef DebuggedRelocatableTarget
+#define DebuggedRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_d.Osuf)) @@\
+ @@\
+Concat(objname,_d.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r objlist -o $@
+
+#endif /* DebuggedRelocatableTarget */
+
+
+/*
+ * LintLibraryTarget - generate rules to create a lint library. Note that the
+ * lint library is always forced to be newer than the library itself.
+ */
+#ifndef LintLibraryTarget
+#define LintLibraryTarget(libname,srclist) @@\
+lintlib:: Concat(llib-l,libname.ln) @@\
+ @@\
+Concat(llib-l,libname.ln): srclist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LINT) Concat($(LINTLIBFLAG),libname) $(LINTFLAGS) srclist
+#endif /* LintLibraryTarget */
+
+
+/*
+ * NormalLintTarget - generate rules to lint a set of sources.
+ */
+#ifndef NormalLintTarget
+#define NormalLintTarget(srclist) @@\
+lint: @@\
+ $(LINT) $(LINTFLAGS) srclist $(LINTLIBS) @@\
+lint1: @@\
+ $(LINT) $(LINTFLAGS) $(FILE) $(LINTLIBS)
+#endif /* NormalLintTarget */
+
+
+/*
+ * LintTarget - generate rules to lint $(SRCS)
+ */
+#ifndef LintTarget
+#define LintTarget() @@\
+NormalLintTarget($(SRCS))
+#endif
+
+
+/*
+ * LinkSourceFile - snag source file from some other directory
+ */
+#ifndef LinkSourceFile
+#define LinkSourceFile(src,dir) @@\
+src: dir/src @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+NoConfigRec(src) @@\
+ @@\
+includes:: src @@\
+ @@\
+depend:: src @@\
+ @@\
+clean:: @@\
+ RemoveFile(src)
+#endif
+
+
+/*
+ * LinkFile - link a file
+ */
+#ifndef LinkFile
+#define LinkFile(tofile,fromfile) @@\
+tofile:: fromfile @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+NoConfigRec(tofile) @@\
+ @@\
+includes:: tofile @@\
+ @@\
+depend:: tofile @@\
+ @@\
+clean:: @@\
+ RemoveFile(tofile)
+#endif
+
+
+#ifndef MakeSubincludesForBuild
+#define MakeSubincludesForBuild(step,dir,srclist) @@\
+step:: dir srclist @@\
+ @-(list=`echo srclist | sed -e 's/[^ ]*\///g'`; \ @@\
+ set -x; cd dir && RemoveFiles($$list)) @@\
+ @for i in srclist; do \ @@\
+ (set -x; cd dir && $(LN) ../$$i .); \ @@\
+ done @@\
+ @@\
+dir:: @@\
+ $(MKDIRHIER) dir @@\
+ @@\
+clean:: @@\
+ @-(if [ -d dir ]; then \ @@\
+ list=`echo srclist | sed -e 's/[^ ]*\///g'`; \ @@\
+ set -x; cd dir && RemoveFile($$list); else exit 0; fi)
+#endif
+
+
+/*
+ * LangNamedTargetSubdirs - recursively make a series of steps
+ */
+#ifndef LangNamedTargetSubdirs
+#define LangNamedTargetSubdirs(lang,name,dirs,verb,flags,subname) @@\
+name:: @@\
+ @MakeFlagsToShellFlags(ik,set +e); \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ echo verb "in $(CURRENT_DIR)/$$i..."; \ @@\
+ (cd $$i && LANG=lang $(MAKE) $(MFLAGS) flags subname);\ @@\
+ done
+#endif
+
+
+/*
+ * NamedMakeSubdirs - generate rules to do makes in the given subdirectories.
+ * If you want CDEBUGFLAGS passed along to subdirectories, provide a line like
+ * the following in the appropriate Imakefile
+ *
+ * #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
+ */
+#ifndef LangNamedMakeSubdirs
+#define LangNamedMakeSubdirs(lang,name,dirs) \
+LangNamedTargetSubdirs(lang,name,dirs,"making" name,PassCDebugFlags,all)
+#endif /* LangNamedMakeSubdirs */
+
+#ifndef LangMakeSubdirs
+#define LangMakeSubdirs(lang,dirs) @@\
+LangNamedMakeSubdirs(lang,all,dirs)
+#endif /* LangMakeSubdirs */
+
+
+
+/*
+ * NamedTargetSubdirs - recursively make a series of steps
+ */
+#ifndef NamedTargetSubdirs
+#define NamedTargetSubdirs(name,dirs,verb,flags,subname) @@\
+name:: @@\
+ @MakeFlagsToShellFlags(ik,set +e); \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ echo verb "in $(CURRENT_DIR)/$$i..."; \ @@\
+ MakeNamedTargetSubdir($$i,flags,subname); \ @@\
+ done
+#endif
+
+
+/*
+ * NamedMakeSubdirs - generate rules to do makes in the given subdirectories.
+ * If you want CDEBUGFLAGS passed along to subdirectories, provide a line like
+ * the following in the appropriate Imakefile
+ *
+ * #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
+ */
+#ifndef NamedMakeSubdirs
+#define NamedMakeSubdirs(name,dirs) \
+NamedTargetSubdirs(name,dirs,"making" name,PassCDebugFlags,all)
+#endif /* NamedMakeSubdirs */
+
+#ifndef MakeSubdirs
+#define MakeSubdirs(dirs) @@\
+NamedMakeSubdirs(all,dirs)
+#endif /* MakeSubdirs */
+
+
+/*
+ * DependSubdirs - generate rules to recursively compute dependencies as
+ * part of the make depend step.
+ */
+#ifndef DependSubdirs
+#define DependSubdirs(dirs) \
+NamedTargetSubdirs(depend,dirs,"depending",NullParameter,depend)
+#endif /* DependSubdirs */
+
+
+/*
+ * ForceSubdirs - force make to build subdirectories
+ */
+#ifndef ForceSubdirs
+#if !HasBsdMake
+#define ForceSubdirs(dirs) @@\
+dirs: FRC @@\
+ @echo "making all in $(CURRENT_DIR)/$@..." @@\
+ @MakeNamedTargetSubdir($@,PassCDebugFlags,all) @@\
+ @@\
+FRC:
+#else
+/* For BSD 4.4 make */
+#define ForceSubdirs(dirs) @@\
+dirs: .EXEC @@\
+ @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\
+ $(MAKE) $(MFLAGS) PassCDebugFlags all @@\
+ @@\
+.EXEC:
+#endif
+
+#endif /* ForceSubdirs */
+
+/*
+ * InstallSubdirs - generate rules to recursively install programs and files.
+ */
+#ifndef InstallSubdirs
+#define InstallSubdirs(dirs) \
+NamedTargetSubdirs(install,dirs,"installing",DESTDIR=$(DESTDIR),install)
+#endif /* InstallSubdirs */
+
+
+/*
+ * InstallManSubdirs - generate rules to recursively install manual pages.
+ */
+#ifndef InstallManSubdirs
+#define InstallManSubdirs(dirs) \
+NamedTargetSubdirs(install.man,dirs,"installing man pages",DESTDIR=$(DESTDIR),install.man)
+#endif /* InstallManSubdirs */
+
+
+/*
+ * IncludesSubdirs - generate rules to recursively put include files in build
+ */
+#ifndef IncludesSubdirs
+#define IncludesSubdirs(dirs) \
+NamedTargetSubdirs(includes,dirs,including,NullParameter,includes)
+#endif
+
+
+/*
+ * InstallDriverSDKSubdirs - generate rules to recursively install Driver
+ * SDK (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKSubdirs
+#define InstallDriverSDKSubdirs(dirs)
+#endif
+
+/*
+ * InstallDriverSDKObjectModule - generate rules to recursively install Driver
+ * SDK (only used for XFree86). This is a no-op
+ * rule so that Imakefiles on non-XFree86 systems
+ * continue to build Makefiles correctly.
+ */
+#ifndef InstallDriverSDKObjectModule
+#define InstallDriverSDKObjectModule(module,dest,subdir)
+#endif
+#ifndef InstallDriverSDKObjectSubModule
+#define InstallDriverSDKObjectSubModule(module,dest,subdir)
+#endif
+
+
+
+/*
+ * CleanSubdirs - generate rules to recursively clean out garbage files.
+ */
+#define BootstrapCleanSubdirs /**/ /* used at top-level */
+#ifndef NamedCleanSubdirs
+#define NamedCleanSubdirs(name,dirs) \
+NamedTargetSubdirs(name,dirs,"cleaning",BootstrapCleanSubdirs,clean)
+#endif /* NamedCleanSubdirs */
+
+#ifndef CleanSubdirs
+#define CleanSubdirs(dirs) \
+NamedCleanSubdirs(clean,dirs)
+#endif
+
+
+/*
+ * TagSubdirs - generate rules to recursively create tags files.
+ */
+#ifndef NamedTagSubdirs
+#define NamedTagSubdirs(name,dirs) \
+NamedTargetSubdirs(name,dirs,"tagging",TAGS='$(TAGS)',tags)
+#endif /* TagSubdirs */
+
+#ifndef TagSubdirs
+#define TagSubdirs(dirs) \
+NamedTagSubdirs(tags,dirs)
+#endif
+
+/*
+ * MakeLintSubdirs - generate rules to recursively lint directories as part
+ * of the named step.
+ */
+#ifndef MakeLintSubdirs
+#define MakeLintSubdirs(dirs,target,subtarget) \
+NamedTargetSubdirs(target,dirs,"linting" for target and subtarget,DESTDIR=$(DESTDIR) LINTOPTS='$(LINTOPTS)',subtarget)
+#endif /* MakeLintSubdirs */
+
+
+/*
+ * LintSubdirs - generate rules to recursively lint directories as part of
+ * the make lint step.
+ */
+#ifndef LintSubdirs
+#define LintSubdirs(dirs) @@\
+MakeLintSubdirs(dirs,lint,lint)
+#endif /* LintSubdirs */
+
+
+/*
+ * MakeLintLibSubdirs - generate rules to recursively create lint libraries.
+ */
+#ifndef MakeLintLibSubdirs
+#define MakeLintLibSubdirs(dirs) @@\
+MakeLintSubdirs(dirs,lintlib,lintlib)
+#endif /* MakeLintLibSubdirs */
+
+
+/*
+ * MakeMakeSubdirs - generate rules to recursively recreate Makefiles as part
+ * of the specified step in the build. If $(TOP) is set to an absolute path,
+ * do not prepend the ../ prefix. This makes running things outside of the
+ * source tree much easier.
+ * $(ONESUBDIR)/Makefile exists as a separate, explicit target so that
+ * clearmake will know what its goal is and do wink-in.
+ */
+#ifndef MakeMakeSubdirs
+#define MakeMakeSubdirs(dirs,target) @@\
+$(ONESUBDIR)/Makefile: @@\
+ @MakeFlagsToShellFlags(n,executeit="no"); \ @@\
+ cd $(ONESUBDIR) && \ @@\
+ if [ "$$executeit" != "no" ]; then \ @@\
+ ImakeSubCmdHelper -DTOPDIR=$(IMAKETOP) -DCURDIR=$(ONECURDIR)$(ONESUBDIR); \ @@\
+ fi; @@\
+ @@\
+target:: @@\
+ -@MakeFlagsToShellFlags(ik,set +e); \ @@\
+ MakeFlagsToShellFlags(n,executeit="no"); \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ case "$(CURRENT_DIR)" in \ @@\
+ .) curdir= ;; \ @@\
+ *) curdir=$(CURRENT_DIR)/ ;; \ @@\
+ esac; \ @@\
+ echo "making Makefiles in $$curdir$$i..."; \ @@\
+ itmp=`echo $$i | sed -e 's;^\./;;g' -e 's;/\./;/;g'`; \ @@\
+ curtmp="$(CURRENT_DIR)" \ @@\
+ toptmp=""; \ @@\
+ case "$$itmp" in \ @@\
+ ../?*) \ @@\
+ while echo "$$itmp" | grep '^\.\./' > /dev/null;\ @@\
+ do \ @@\
+ toptmp="/`basename $$curtmp`$$toptmp"; \ @@\
+ curtmp="`dirname $$curtmp`"; \ @@\
+ itmp="`echo $$itmp | sed 's;\.\./;;'`"; \ @@\
+ done \ @@\
+ ;; \ @@\
+ esac; \ @@\
+ case "$$itmp" in \ @@\
+ */?*/?*/?*/?*) newtop=../../../../..;; \ @@\
+ */?*/?*/?*) newtop=../../../..;; \ @@\
+ */?*/?*) newtop=../../..;; \ @@\
+ */?*) newtop=../..;; \ @@\
+ *) newtop=..;; \ @@\
+ esac; \ @@\
+ newtop="$$newtop$$toptmp"; \ @@\
+ case "$(TOP)" in \ @@\
+ /?*) imaketop=$(TOP) \ @@\
+ imakeprefix= ;; \ @@\
+ .) imaketop=$$newtop \ @@\
+ imakeprefix=$$newtop/ ;; \ @@\
+ *) imaketop=$$newtop/$(TOP) \ @@\
+ imakeprefix=$$newtop/ ;; \ @@\
+ esac; \ @@\
+ RemoveFile($$i/Makefile.bak); \ @@\
+ if [ -f $$i/Makefile ]; then \ @@\
+ echo " $(MV) Makefile Makefile.bak"; \ @@\
+ if [ "$$executeit" != "no" ]; then \ @@\
+ $(MV) $$i/Makefile $$i/Makefile.bak; \ @@\
+ fi; \ @@\
+ fi; \ @@\
+ $(MAKE) $(MFLAGS) $(MAKE_OPTS) ONESUBDIR=$$i ONECURDIR=$$curdir IMAKETOP=$$imaketop IMAKEPREFIX=$$imakeprefix $$i/Makefile; \ @@\
+ if [ -d $$i ] ; then \ @@\
+ cd $$i; \ @@\
+ $(MAKE) $(MFLAGS) Makefiles; \ @@\
+ cd $$newtop; \ @@\
+ else \ @@\
+ exit 1; \ @@\
+ fi; \ @@\
+ done
+
+#ifdef UseInstalled
+#define ImakeSubCmdHelper $(IMAKE_CMD)
+#else
+#define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKEPREFIX)$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#endif
+
+#endif /* MakeMakeSubdirs */
+
+
+/*
+ * MakefileSubdirs - generate rules to create Makefiles.
+ */
+#ifndef MakefileSubdirs
+#define MakefileSubdirs(dirs) @@\
+MakeMakeSubdirs(dirs,Makefiles)
+#endif /* MakefileSubdirs */
+
+/*
+ * Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM
+ * to cpp, because that trick does not work on all ANSI C preprocessors.
+ * Delete line numbers from the cpp output (-P is not portable, I guess).
+ * Allow XCOMM to be preceded by whitespace and provide a means of generating
+ * output lines with trailing backslashes.
+ * Allow XHASH to always be substituted, even in cases where XCOMM isn't.
+ */
+#ifndef CppSedMagic
+#define CppSedMagic sed -e '/^# *[0-9][0-9]* *.*$$/d' \
+ -e '/^#line *[0-9][0-9]* *.*$$/d' \
+ -e '/^[ ]*XCOMM$$/s/XCOMM/#/' \
+ -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/#/' \
+ -e '/^[ ]*XHASH/s/XHASH/#/' \
+ -e '/\@\@$$/s/\@\@$$/\\/'
+#endif /* CppSedMagic */
+
+#ifndef CppFileTarget
+#define CppFileTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CPP) CppNoLineInfoOption defs <src | CppSedMagic >$@ @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#endif /* CppFileTarget */
+
+/*
+ * CppScriptTarget - generate rules to create a shell script by running the
+ * input through cpp. If the ExecableScripts configuration parameter is not
+ * set, then make sure that the first line begins with a colon.
+ */
+#ifndef CppScriptTarget
+#if ExecableScripts /* can use #! instead of colon */
+#define CppScriptTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CPP) CppNoLineInfoOption defs <src | CppSedMagic >$@ @@\
+ chmod a+x $@ @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#else
+#define CppScriptTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ echo \: >$@ @@\
+ sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@ @@\
+ chmod a+x $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst)
+#endif /* ExecableScripts */
+#endif /* CppScriptTarget */
+
+
+/*
+ * MakeScriptFromCpp - generate rules to create a script from a file with a
+ * .cpp suffix.
+ */
+#ifndef MakeScriptFromCpp
+#define MakeScriptFromCpp(name,defs) @@\
+CppScriptTarget(name,name.cpp,defs,NullParameter)
+#endif /* MakeScriptFromCpp */
+
+#ifndef CppSourceFile
+#define CppSourceFile(dst,src,defs,deplist) @@\
+CppFileTarget(dst,src,defs,deplist) @@\
+ @@\
+includes:: dst @@\
+ @@\
+depend:: dst
+#endif /* CppSourceFile */
+
+/* Like CppFileTarget, but don't add any default defines */
+#ifndef CppRawFileTarget
+#define CppRawFileTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(RAWCPP) CppNoLineInfoOption defs <src | CppSedMagic >$@ @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#endif /* CppFileTarget */
+
+/*
+ * CppManTarget - preprocess man pages. OS-specific man sections are replaced.
+ */
+#ifndef CppManTarget
+#define CppManTarget(name,defs) @@\
+AllTarget(name.$(MANNEWSUFFIX)) @@\
+ @@\
+name.$(MANNEWSUFFIX): name.$(MANSRCSUFFIX) @@\
+ RemoveFile($@) @@\
+ if test -z "$(PREPROCESSMANPAGES)" ; then \ @@\
+ cd `dirname name` && \ @@\
+ $(LN) `basename name.$(MANSRCSUFFIX)` `basename $@`; \ @@\
+ else \ @@\
+ ClearmakeOSName \
+ $(RAWCPP) CppNoLineInfoOption $(MANDEFS) defs \ @@\
+ < name.$(MANSRCSUFFIX) | CppSedMagic >$@; \ @@\
+ fi @@\
+ @@\
+clean:: @@\
+ RemoveFile(name.$(MANNEWSUFFIX))
+#endif /* CppManTarget */
+
+/*
+ * MakeDirectories - generate rules to create a hierarchy of directories.
+ */
+#ifndef MakeDirectories
+#define MakeDirectories(step,dirs) @@\
+step:: @@\
+ DirFailPrefix@MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in dirs; do if [ -d $(DESTDIR)$$i ]; then \ @@\
+ set +x; else (set -x; $(MKDIRHIER) $(DESTDIR)$$i); fi; \ @@\
+ done
+#endif /* MakeDirectories */
+
+
+/*
+ * AllTarget - generate rules to build necessary things during make all.
+ */
+#ifndef AllTarget
+#define AllTarget(depends) @@\
+all:: depends
+#endif /* AllTarget */
+
+#ifdef DefineOldLibraryRules
+#include <oldlib.rules>
+#endif
+
+#ifndef StaticLibrary
+#define StaticLibrary(libpath,libname) Concat3(libpath,/,LibraryTargetName(libname))
+#endif
+
+/*
+ * MakeMutex - generate mutex rules for parallel make
+ */
+#ifndef MakeMutex
+#ifdef MutexDirective
+#define MakeMutex(targets) @@\
+MutexDirective: targets
+#endif /* MutexDirective */
+#endif /* MakeMutex */
+
+/*
+ * Rules for dynamic modules. These are primarily used by XFree86
+ */
+
+#ifndef LinkBuildModule
+#ifdef UseInstalled
+#define LinkBuildModule(module,subdir) $(_NULLCMD_)
+#else
+#define LinkBuildModule(module,subdir)\
+ MakeDir($(BUILDMODULEDIR)/subdir) @@\
+ RemoveFile($(BUILDMODULEDIR)/subdir/module) @@\
+ @(UP="`$(REVPATH) subdir`"; set -x; \ @@\
+ cd $(BUILDMODULEDIR)/subdir && \ @@\
+ $(LN) $(BUILDMODULETOP)/$${UP}$(CURRENT_DIR)/module .)
+#endif
+#endif /* LinkBuildModule */
+
+#ifndef LinkBuildNamedModule
+#ifdef UseInstalled
+#define LinkBuildNamedModule(module,name,subdir) $(_NULLCMD_)
+#else
+#define LinkBuildNamedModule(module,name,subdir)\
+ MakeDir($(BUILDMODULEDIR)/subdir) @@\
+ RemoveFile($(BUILDMODULEDIR)/subdir/name) @@\
+ @(UP="`$(REVPATH) subdir`"; set -x; \ @@\
+ cd $(BUILDMODULEDIR)/subdir && \ @@\
+ $(LN) $(BUILDMODULETOP)/$${UP}$(CURRENT_DIR)/module name)
+#endif
+#endif /* LinkBuildNamedModule */
+
+/*
+ * ModuleObjectRule
+ */
+#ifndef ModuleObjectRule
+#define ModuleObjectRule() NormalLibraryObjectRule()
+#endif
+
+/*
+ * ObjectModuleTarget - build a module as a single object file
+ */
+#ifndef ObjectModuleTarget
+#if MakeDllModules && DoLoadableServer
+#define ObjectModuleTarget(module,objects) @@\
+DynamicModuleTarget(Concat(module,_drv.so), objects)
+#else
+#define ObjectModuleTarget(module,objects) @@\
+NormalRelocatableTarget(Concat(module,_drv), objects)
+#endif
+#endif
+
+/*
+ * LibraryModuleTarget
+ */
+#ifndef LibraryModuleTarget
+#if MakeDllModules && DoLoadableServer
+#define LibraryModuleTarget(module,objects) @@\
+NormalLibraryTarget(module, objects) @@\
+DynamicModuleTarget(Concat3(lib,module,.so), objects)
+#else
+#define LibraryModuleTarget(module, objects) @@\
+NormalLibraryTarget(module, objects)
+#endif
+#endif
+
+/*
+ * DepLibraryModuleTarget
+ */
+#ifndef DepLibraryModuleTarget
+#if MakeDllModules && DoLoadableServer
+#define DepLibraryModuleTarget(module,deplist,objects) @@\
+NormalDepLibraryTarget(module, deplist, objects) @@\
+DepDynamicModuleTarget(Concat3(lib,module,.so), deplist, objects)
+#else
+#define DepLibraryModuleTarget(module,deplist,objects) @@\
+NormalDepLibraryTarget(module, deplist, objects)
+#endif
+#endif
+
+/*
+ * DynamicModuleTarget - build a module to be dynamically loaded
+ */
+#ifndef DynamicModuleTarget
+#define DynamicModuleTarget(module,modlist) @@\
+AllTarget(module) @@\
+ @@\
+module: modlist @@\
+ RemoveFile($@) @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) $(NOSTDLIB) modlist $(POSTNOSTDLIB) @@\
+ @@\
+clean:: @@\
+ RemoveFile(module)
+#endif /* DynamicModuleTarget */
+
+/*
+ * DepDynamicModuleTarget - build a module to be dynamically loaded
+ */
+#ifndef DepDynamicModuleTarget
+#define DepDynamicModuleTarget(module,deplist,modlist) @@\
+AllTarget(module) @@\
+ @@\
+module: deplist @@\
+ RemoveFile($@) @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) $(NOSTDLIB) modlist $(POSTNOSTDLIB) @@\
+ @@\
+clean:: @@\
+ RemoveFile(module)
+#endif /* DepDynamicModuleTarget */
+
+/*
+ * InstallDynamicModule - install a dynamic module
+ */
+#ifndef InstallDynamicModule
+#define InstallDynamicModule(module,dest,subdir) @@\
+AllTarget(module) @@\
+ LinkBuildModule(module,subdir) @@\
+ @@\
+install:: module @@\
+ MakeDir($(DESTDIR)dest/subdir) @@\
+ $(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir
+#endif
+
+#ifndef InstallDynamicNamedModule
+#define InstallDynamicNamedModule(module,instname,dest,subdir) @@\
+AllTarget(module) @@\
+ LinkBuildNamedModule(module,instname,subdir) @@\
+ @@\
+install:: module @@\
+ MakeDir($(DESTDIR)dest/subdir) @@\
+ $(INSTALL) -c $(INSTDATFLAGS) module $(DESTDIR)dest/subdir/instname
+#endif
+
+/* Shortcuts for installing driver module, one per class */
+#ifndef InstallVideoObjectModule
+#define InstallVideoObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,drivers)
+#endif
+#ifndef InstallInputObjectModule
+#define InstallInputObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,input)
+#endif
+#ifndef InstallExtensionsObjectModule
+#define InstallExtensionsObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,extensions)
+#endif
+#ifndef InstallFontsObjectModule
+#define InstallFontsObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,fonts)
+#endif
+#ifndef InstallMultimediaObjectModule
+#define InstallMultimediaObjectModule(module,dest) @@\
+InstallObjectModule(module,dest,multimedia)
+#endif
+
+#ifndef InstallObjectModule
+#if !DoLoadableServer
+#define InstallObjectModule(module,dest,subdir) /**/
+#else
+#if MakeDllModules
+#define InstallObjectModule(module,dest,subdir) @@\
+InstallDynamicModule(Concat(module,_drv.so),dest,subdir)
+#else
+#define InstallObjectModule(module,dest,subdir) @@\
+InstallDynamicModule(Concat(module,_drv.o),dest,subdir)
+#endif
+#endif
+#endif
+
+#ifndef InstallLibraryModule
+#if !DoLoadableServer
+#define InstallLibraryModule(module,dest,subdir) /**/
+#else
+#if MakeDllModules
+#define InstallLibraryModule(module,dest,subdir) @@\
+InstallDynamicModule(Concat3(lib,module,.so),dest,subdir)
+#else
+#define InstallLibraryModule(module,dest,subdir) @@\
+InstallDynamicModule(ModuleLibraryTargetName(module),dest,subdir)
+#endif
+#endif
+#endif
+
+#ifndef InstallModuleManPage
+#define InstallModuleManPage(module) @@\
+InstallGenManPage(module,$(DRIVERMANDIR),$(DRIVERMANSUFFIX))
+#endif
+
+#ifndef BuildObjectFromLibraryWithPath
+#define BuildObjectFromLibraryWithPath(libpath,libname,objname) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: Concat3(libpath,/lib,libname.a) @@\
+ @$(MKDIRHIER) tmp @@\
+ @$(CP) Concat3(libpath,/lib,libname.a) tmp @@\
+ @(cd tmp; set -x; ArExtCmd Concat(lib,libname.a); \ @@\
+ $(LD) $(LDCOMBINEFLAGS) *.Osuf -o ../$@; \ @@\
+ RemoveFiles(*.Osuf)) @@\
+ @$(RM) -r tmp @@\
+ @@\
+clean:: @@\
+ RemoveFile(objname.Osuf)
+#endif
+
+#ifndef BuildObjectFromLibrary
+#define BuildObjectFromLibrary(libname,objname) BuildObjectFromLibraryWithPath(.,libname,objname)
+#endif
+
+/*
+ * LinkerRuntimeLibraryPathFlag - defined here to be a no-op for systems that
+ * don't need it. Overridden in system-specific config files for systems that
+ * need it, usually with something like "Concat(-R,path)"
+ */
+#ifndef LinkerRuntimeLibraryPathFlag
+# define LinkerRuntimeLibraryPathFlag(path) /* */
+#endif
+
+/* Phony targets - GNU make has a feature to mark a target as phony,
+ * which means that it wont consider that target to be the name of a
+ * file. In general this speeds up make, since it doesn't have to
+ * look for those files when it sets out to create a phony target.
+ * However, on cygwin, this is actually required for correct
+ * operation, since the Win32 filesystems are case insensitive and the
+ * install target conflicts with the INSTALL file present in some
+ * (autotooled) directories.
+ *
+ * We probably don't need the #ifdef protection, since other make
+ * implementations would just consider this a normal rule. Better
+ * safe than sorry, though.
+ */
+#if HasGnuMake
+.PHONY: all interfaces install install.man install.lib install.sdk \
+ depend includes clean
+#endif
diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl
new file mode 100644
index 000000000..26811085d
--- /dev/null
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -0,0 +1,2320 @@
+XCOMM ----------------------------------------------------------------------
+XCOMM Makefile generated from IMAKE_TEMPLATE and INCLUDE_IMAKEFILE
+XCOMM $Xorg: Imake.tmpl,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/Imake.tmpl,v 1.16 2005/11/08 06:33:24 jkj Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM
+XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.155 2003/12/24 18:58:41 dickey Exp $
+XCOMM ----------------------------------------------------------------------
+
+/*
+ * generic imake template
+ */
+
+/*
+ * Modify Imake.cf when adding a new architecture, do not modify this file.
+ * Platform-specific parameters may be set in the appropriate <vendor>.cf
+ * configuration files. Site-specific parameters should be set in the file
+ * site.def. Full rebuilds are recommended if any parameters are changed.
+ * If your C preprocessor does not define any unique symbols, you will need
+ * to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+ * "make World" the first time).
+ */
+
+#define ImakeConfigRelease 6
+
+#define YES 1
+#define NO 0
+
+/* Ensure that "all" is the default target in the Makefile. */
+all::
+
+.SUFFIXES: .i
+
+/* Intercept clean rules for current directory */
+#undef clean
+#define clean cleandir
+
+#include <Imake.cf>
+
+XCOMM -----------------------------------------------------------------------
+XCOMM site-specific configuration parameters that need to come before
+XCOMM the platform-specific parameters - edit site.def to change
+#define BeforeVendorCF
+#include <site.def>
+#undef BeforeVendorCF
+
+#if defined(HasGcc3) && !defined(HasGcc2)
+# define HasGcc2 HasGcc3
+#endif
+#if defined(HasGcc2) && !defined(HasGcc)
+# define HasGcc HasGcc2
+#endif
+
+#ifndef HasCenterLineC
+#define HasCenterLineC NO
+#endif
+#ifndef HasCenterLineCplusplus
+#define HasCenterLineCplusplus NO
+#endif
+
+#ifndef HasClearmake
+# define HasClearmake NO
+#endif
+
+#ifndef ProPoliceSupport
+#define ProPoliceSupport NO
+#endif
+
+/*
+ * ClearmakeOSName - insert the current OS type into the clearmake
+ * build script, so .o files from different platforms cannot be winked in.
+ * If clearmake finds the build script for two .o files is the same, it
+ * will share the .o, even across different architectures. Inserting the
+ * O/S name into the build script in a comment prevents unwanted sharing.
+ * Note the trailing double-@ in the macro: end a line using this macro
+ * with backslash without the double-@ usually used.
+ * Like this:
+ *
+ * #define SomeRule() @@\
+ * something or other @@\
+ * ClearmakeOSName \
+ * something else @@\
+ * and more
+ */
+#ifndef ClearmakeOSName
+# if HasClearmake
+# define ClearmakeOSName @ XCOMM $(OSNAME) @@
+# else
+# define ClearmakeOSName /**/
+# endif
+#endif
+
+#if HasClearmake
+# ifndef MakeCmd
+# define MakeCmd clearmake
+# endif
+#endif
+
+#if HasClearmake
+XCOMM ----------------------------------------------------------------------
+.c.o:
+ ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
+#endif
+
+XCOMM ----------------------------------------------------------------------
+XCOMM platform-specific configuration parameters - edit MacroFile to change
+#include MacroIncludeFile
+
+XCOMM ----------------------------------------------------------------------
+XCOMM site-specific configuration parameters that go after
+XCOMM the platform-specific parameters - edit site.def to change
+#define AfterVendorCF
+#include <site.def>
+#undef AfterVendorCF
+
+/*
+ * defaults for various generic parameters; set in site.def if needed
+ */
+
+/* the following are needed before we can include Imake.rules */
+
+#ifndef NothingOutsideProjectRoot
+#define NothingOutsideProjectRoot NO
+#endif
+
+#ifndef RemoveObsoleteFiles
+#define RemoveObsoleteFiles YES
+#endif
+
+#ifndef HasVarDirectory
+#define HasVarDirectory YES
+#endif
+#ifndef UseEtcX11
+#define UseEtcX11 YES
+#endif
+#ifndef UseInstalledX11
+# define UseInstalledX11 NO
+#endif
+#ifdef UseInstalled
+# undef UseInstalledX11
+# define UseInstalledX11 YES
+#endif
+#if NothingOutsideProjectRoot
+#undef UseEtcX11
+#define UseEtcX11 NO
+#endif
+#ifndef UseSeparateConfDir
+#define UseSeparateConfDir (UseEtcX11 || HasVarDirectory)
+#endif
+#if NothingOutsideProjectRoot
+#undef UseSeparateConfDir
+#define UseSeparateConfDir NO
+#endif
+#ifndef SystemV
+#define SystemV NO /* SYSV (R3) */
+#endif
+#ifndef SystemV4
+#define SystemV4 NO /* SVR4 */
+#endif
+#ifndef HasCodeCenter
+#define HasCodeCenter NO
+#endif
+#ifndef HasSentinel
+#define HasSentinel NO
+#endif
+#ifndef HasPurify
+#define HasPurify NO
+#endif
+#ifndef HasTestCenter
+#define HasTestCenter NO
+#endif
+#ifndef HasGnuMake
+#define HasGnuMake NO
+#endif
+/*
+ * The following fixes a glitch with GNU make -j
+ */
+#ifndef ForceServerRemake
+#define ForceServerRemake HasGnuMake
+#endif
+#ifndef HasBsdMake
+#define HasBsdMake NO
+#endif
+#ifndef HasParallelMake
+#define HasParallelMake NO
+#endif
+#ifndef RemoveTargetProgramByMoving
+#define RemoveTargetProgramByMoving NO
+#endif
+#ifndef DoRanlibCmd
+#if SystemV || SystemV4
+#define DoRanlibCmd NO
+#else
+#define DoRanlibCmd YES
+#endif
+#endif
+#ifndef ExecableScripts
+#if SystemV
+#define ExecableScripts NO
+#else
+#define ExecableScripts YES /* kernel exec() can handle #! */
+#endif
+#endif
+
+#ifndef HasMakefileSafeInclude /* -include or sinclude in a Makefile */
+#if HasClearmake || HasBsdMake
+#define HasMakefileSafeInclude YES
+#else
+#define HasMakefileSafeInclude NO /* see also vendor-specific .cf files */
+#endif
+#endif
+
+#ifndef HasSymLinks
+#define HasSymLinks YES
+#endif
+
+#ifndef HasPerl
+#define HasPerl YES
+#endif
+
+#ifndef HasPerl5
+#define HasPerl5 HasPerl
+#endif
+
+#ifndef PerlCmd
+#define PerlCmd perl
+#endif
+
+#ifndef PerlOptions
+#define PerlOptions /**/
+#endif
+
+#ifndef PerlEnvSetup
+#define PerlEnvSetup env LC_ALL=C
+#endif
+
+#ifndef BuildRman
+#define BuildRman YES
+#endif
+
+#ifndef HasGperf
+#define HasGperf NO
+#endif
+
+#ifndef GperfCmd
+#define GperfCmd gperf
+#endif
+
+#ifndef RmanCmd
+#if BuildRman
+#ifdef UseInstalled /* assume BINDIR in path */
+#define RmanCmd rman
+#else
+#define RmanCmd $(TOP)/config/util/rman
+#endif
+#endif
+#endif
+
+#ifndef RmanOptions
+#if BuildRman
+#define RmanOptions -f HTML
+#endif
+#endif
+
+#ifndef BuildHtmlManPages
+#ifdef RmanCmd
+#define BuildHtmlManPages YES
+#else
+#define BuildHtmlManPages NO
+#endif
+#endif
+/* Can't do this while bootstrapping imake */
+#ifdef BootStrap
+#undef BuildHtmlManPages
+#define BuildHtmlManPages NO
+#endif
+
+#ifndef DontPreprocessManPages
+#ifdef UseInstalled
+#define DontPreprocessManPages YES
+#else
+#define DontPreprocessManPages NO
+#endif
+#endif
+
+#ifndef CompressManPages
+#define CompressManPages NO
+#endif
+
+#ifndef HasGroff
+#define HasGroff NO
+#endif
+#ifndef HasGroffHtml
+#define HasGroffHtml NO
+#endif
+
+#ifndef HasCookieMaker
+#define HasCookieMaker NO
+#endif
+
+#ifndef DoLoadableServer
+#define DoLoadableServer NO
+#endif
+#ifndef MakeDllModules
+#define MakeDllModules NO
+#endif
+#ifndef StripInstalledPrograms
+#define StripInstalledPrograms NO /* leave symbol table just in case */
+#endif
+#ifndef StaticNeedsPicForShared
+#define StaticNeedsPicForShared NO
+#endif
+
+#include <Imake.rules>
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries NO
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 0
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef UnalignedReferencesAllowed
+#define UnalignedReferencesAllowed NO /* if arbitrary deref is okay */
+#endif
+#ifndef AvoidNullMakeCommand
+#if !HasBsdMake
+#define AvoidNullMakeCommand NO
+#else
+#define AvoidNullMakeCommand YES
+#endif
+#endif
+#if AvoidNullMakeCommand
+#ifndef NullMakeCommand
+#define NullMakeCommand @ echo -n
+#endif
+/*
+ * An obscure bug in BSD4.3's original make causes it not to recognize a
+ * macro definition if the macro name starts with a non-alpha and in
+ * column one.
+ */
+ _NULLCMD_ = NullMakeCommand
+#endif
+
+#ifndef CrossCompiling
+#define CrossCompiling NO
+#undef CrossCompileDir
+#endif
+#ifndef BourneShell /* to force shell in makefile */
+#define BourneShell /bin/sh
+#endif
+#ifndef ConstructMFLAGS
+#if SystemV
+#define ConstructMFLAGS YES /* build MFLAGS from MAKEFLAGS */
+#else
+#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
+#endif
+#endif
+
+#ifndef ConstructMAKEFLAGS /* needed on old BSD-based? */
+#define ConstructMAKEFLAGS NO /* build MAKEFLAGS from MFLAGS */
+#endif
+
+#ifndef HasLargeTmp
+#define HasLargeTmp NO /* be paranoid */
+#endif
+
+#ifndef HasMotif
+#define HasMotif NO
+#endif
+#ifndef HasMotif2
+#define HasMotif2 NO /* only if system has working Motif2 or OpenMotif */
+#endif
+#ifndef HasBSDAuth
+#define HasBSDAuth NO
+#endif
+
+#ifndef HasBSD44Sockets
+#define HasBSD44Sockets NO
+#endif
+#ifndef HasSockets
+#define HasSockets YES
+#endif
+#ifndef HasStreams
+#define HasStreams !HasSockets
+#endif
+#ifndef HasDECnet
+#define HasDECnet NO
+#endif
+#ifndef HasPoll
+#if SystemV || SystemV4
+#define HasPoll YES
+#else
+#define HasPoll NO
+#endif
+#endif
+#ifndef HasVFork
+#if SystemV
+#define HasVFork NO /* not yet... */
+#else
+#define HasVFork YES
+#endif
+#endif
+#ifndef HasSetProcTitle
+#define HasSetProcTitle NO
+#endif
+#ifndef HasSetUserContext
+#define HasSetUserContext NO
+#endif
+#ifndef HasLibCrypt
+#define HasLibCrypt NO
+#endif
+#ifndef HasPutenv
+#define HasPutenv NO /* assume not */
+#endif
+/* setenv(3) and unsetenv(3) */
+#ifndef HasSetenv
+#define HasSetenv YES /* assume yes */
+#endif
+#ifndef HasVoidSignalReturn
+#define HasVoidSignalReturn YES /* assume yes */
+#endif
+#ifndef HasBsearch
+#define HasBsearch YES /* assume yes */
+#endif
+#ifndef HasSnprintf
+#define HasSnprintf NO /* assume not */
+#endif
+#ifndef HasStrlcat
+#define HasStrlcat NO /* assume not */
+#endif
+#ifndef HasDlopen
+#define HasDlopen NO /* assume not */
+#endif
+#ifndef HasWeakSymbols
+#define HasWeakSymbols NO /* assume not */
+#endif
+#ifndef HasIssetugid
+#define HasIssetugid NO /* assume not */
+#endif
+#ifndef HasGetresuid
+#define HasGetresuid NO /* assume not */
+#endif
+#ifndef HasMkstemp
+#define HasMkstemp NO /* assume not */
+#endif
+#ifndef HasUsableFileMmap
+#define HasUsableFileMmap NO /* assume not */
+#endif
+#ifndef HasGetIfAddrs
+#define HasGetIfAddrs NO /* assume not */
+#endif
+#ifndef HasStickyDirBit
+#define HasStickyDirBit YES
+#endif
+#ifndef HasFchown
+#define HasFchown YES
+#endif
+#ifndef HasPam
+#define HasPam NO
+#endif
+#ifndef HasPamMisc
+#define HasPamMisc NO
+#endif
+#ifndef HasGetpeereid
+#define HasGetpeereid NO
+#endif
+#ifndef HasGetpeerucred
+#define HasGetpeerucred NO
+#endif
+#ifndef NoStrstr
+#define NoStrstr NO
+#endif
+#ifndef HasShadowPasswd
+#define HasShadowPasswd NO
+#endif
+#ifndef HasBasename
+#define HasBasename YES
+#endif
+#ifndef HasGetopt
+# if !defined(Win32Architecture) && !defined(OS2Architecture)
+# define HasGetopt YES
+# else
+# define HasGetopt NO
+# endif
+#endif
+#ifndef HasGetoptLong
+# define HasGetoptLong NO
+#endif
+/* byte-order defaults */
+#ifndef ByteOrder
+#if defined(VaxArchitecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(MipsArchitecture) && defined(MipselArchitecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(MipsArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(i386Architecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(ia64Architecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(AMD64Architecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(SparcArchitecture) || defined(Sparc64Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(AlphaArchitecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(Mc68000Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(Mc68020Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(Mc88000Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(s390Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(s390xArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(Arm32ebArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(Arm32Architecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(RsArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(PpcArchitecture) || defined(Ppc64Architecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(HPArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(SuperHArchitecture)
+#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(SuperHebArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#endif
+#endif /* ByteOrder */
+X_BYTE_ORDER = ByteOrder
+
+#ifndef HasFortran
+#define HasFortran NO
+#endif
+#ifndef HasGcc2ForCplusplus
+#define HasGcc2ForCplusplus NO
+#endif
+#ifndef HasCplusplus
+#if HasGcc2ForCplusplus
+#define HasCplusplus YES
+#else
+#define HasCplusplus NO
+#endif
+#endif
+#ifndef HasMktemp
+#define HasMktemp NO /* if you have the mktemp command */
+#endif
+#ifndef HasNdbm
+#define HasNdbm NO
+#endif
+#ifndef HasSecureRPC
+#define HasSecureRPC NO /* if you have Secure RPC */
+#endif
+#ifndef HasKrbIV
+#define HasKrbIV NO /* if you have Kerberos IV */
+#endif
+#ifndef HasKrb5
+#define HasKrb5 NO /* if you have Kerberos V5 */
+#endif
+#ifndef HasLatex
+#define HasLatex NO
+#endif
+#ifndef HasShm
+#if SystemV || SystemV4
+#define HasShm YES
+#else
+#define HasShm NO
+#endif
+#endif
+#ifndef HasCbrt
+#define HasCbrt YES
+#endif
+#ifndef HasFfs
+#define HasFfs YES
+#endif
+#ifndef HasZlib
+#define HasZlib YES
+#endif
+#ifndef OsNeedZlibHeaders
+#define OsNeedZlibHeaders !HasZlib
+#endif
+#if !HasZlib /* if OS doesn't have it, we'll build it */
+XCOMM Building your own zlib can be a harmful security risk and is
+XCOMM deprecated; please strongly consider using vendor-supplied packages.
+#undef GzipLibrary /* GzipLibrary was valid only if HasZlib */
+#endif
+#ifndef GzipLibrary /* if OS config didn't define it, assume it's -lz */
+#define GzipLibrary -lz
+#endif
+/* If the system has the Freetype2 library - if NO, the copy in extras is built */
+#ifndef HasFreetype2
+#define HasFreetype2 YES
+#endif
+/* If the system has the Fontconfig library - if NO, the copy in extras is built */
+#ifndef HasFontconfig
+#define HasFontconfig NO
+#endif
+/* If the system has the PNG library - if NO, xcursorgen is not built */
+#ifndef HasLibpng
+#define HasLibpng NO
+#endif
+#if HasKrbIV
+#ifndef KrbIVIncludes
+#define KrbIVIncludes /**/
+#endif
+#ifndef KrbIVLibraries
+#define KrbIVLibraries -lkrb -ldes
+#endif
+#endif
+#if HasKrb5
+#ifndef Krb5Includes
+#define Krb5Includes -I/krb5/include
+#endif
+#ifndef Krb5Libraries
+#define Krb5Libraries -L/krb5/lib -L/usr/isode/lib -lkrb5 -lcrypto -lisode -lcom_err -ldbm
+#endif
+#else
+#undef Krb5Includes
+#define Krb5Includes /**/
+#undef Krb5Libraries
+#define Krb5Libraries /**/
+#endif
+#ifndef UseGnuMalloc
+#define UseGnuMalloc NO
+#endif
+#ifndef GnuMallocLibrary
+#define GnuMallocLibrary -lgmalloc
+#endif
+#ifndef MallocLibraries
+#if UseGnuMalloc
+#define MallocLibraries GnuMallocLibrary
+#else
+#define MallocLibraries /**/
+#endif
+#endif
+#ifndef HasPosixRegex /* Most modern platforms have it */
+#define HasPosixRegex YES
+#endif
+#ifndef RegexLibrary
+#if HasPosixRegex
+#define RegexLibrary /**/
+#else
+#define RegexLibrary -lregex
+#endif
+#endif
+#ifndef HasNCurses
+#define HasNCurses NO
+#endif
+#ifndef NCursesLibName
+#if HasNCurses
+#define NCursesLibName -lncurses
+#else
+#define NCursesLibName
+#endif
+#endif
+#ifdef NCursesLibDir
+NCURSESLIBDIR = NCursesLibDir
+#endif
+#ifdef NCursesIncDir
+NCURSESINCDIR = NCursesIncDir
+#endif
+#ifndef HasGlide2
+#define HasGlide2 NO
+#endif
+#ifndef Glide2IncDir
+#if HasGlide2
+#define Glide2IncDir /usr/include/glide
+#else
+#define Glide2IncDir
+#endif
+#endif
+GLIDE2INCDIR = Glide2IncDir
+#ifndef HasGlide3
+#define HasGlide3 NO
+#endif
+#ifndef Glide3IncDir
+#if HasGlide3
+#define Glide3IncDir /usr/include/glide3
+#else
+#define Glide3IncDir
+#endif
+#endif
+GLIDE3INCDIR = Glide3IncDir
+#ifndef Glide3LibName
+#if HasGlide3
+#define Glide3LibName glide3
+#else
+#define Glide3LibName
+#endif
+#endif
+GLIDE3LIBNAME = Glide3LibName
+#ifndef HasTk
+#define HasTk NO
+#endif
+#ifndef TkLibName
+#if HasTk
+#define TkLibName tk
+#else
+#define TkLibName
+#endif
+#endif
+TKLIBNAME = TkLibName
+#ifndef TkLibDir
+#if HasTk
+#define TkLibDir /usr/local/lib
+#else
+#define TkLibDir
+#endif
+#endif
+TKLIBDIR = TkLibDir
+#ifndef TkIncDir
+#if HasTk
+#define TkIncDir /usr/local/include
+#else
+#define TkIncDir
+#endif
+#endif
+#ifndef TkLibrary
+#ifdef HasTk
+#define TkLibrary Concat(-L,$(TKLIBDIR)) Concat(-l,$(TKLIBNAME))
+#else
+#define TkLibrary
+#endif
+#endif
+#ifndef HasTcl
+#define HasTcl NO
+#endif
+#ifndef TclLibName
+#if HasTcl
+#define TclLibName tcl
+#else
+#define TclLibName
+#endif
+#endif
+TCLLIBNAME = TclLibName
+#ifndef TclLibDir
+#if HasTcl
+#define TclLibDir /usr/local/lib
+#else
+#define TclLibDir
+#endif
+#endif
+TCLIBDIR = TclLibDir
+#ifndef TclIncDir
+#if HasTcl
+#define TclIncDir /usr/local/include
+#else
+#define TclIncDir
+#endif
+#endif
+#ifndef TclLibrary
+#ifdef HasTcl
+#define TclLibrary Concat(-L,$(TCLLIBDIR)) Concat(-l,$(TCLLIBNAME))
+#else
+#define TclLibrary
+#endif
+#endif
+#ifndef HasTsLib
+#define HasTsLib NO
+#endif
+/*
+ * Libtool has two different behaviours for version numbers.
+ * On platforms which support a minor number, the library
+ * version is (version - minor).minor, on those that don't,
+ * the version if version.0. Linux and Darwin support minor
+ * numbers; some BSDs do as well. Set this to YES if libtool
+ * uses minor numbers on your platform.
+ */
+#ifndef LibtoolMinorVersions
+#define LibtoolMinorVersions NO
+#endif
+#ifndef NeedConstPrototypes
+#define NeedConstPrototypes NO
+#endif
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes NO
+#endif
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes NO
+#endif
+#ifndef NeedFunctionPrototypes
+#define NeedFunctionPrototypes (NeedVarargsPrototypes || NeedNestedPrototypes)
+#endif
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes YES /* mix and match ANSI-C, non-ANSI */
+#endif
+
+#ifndef UseCCMakeDepend /* use slow cc -E script */
+#define UseCCMakeDepend NO
+#endif
+#ifndef UseGccMakeDepend /* use slowish but correct gcc -M */
+#define UseGccMakeDepend NO
+#endif
+
+#ifndef CaseSensitiveFileSystem
+#define CaseSensitiveFileSystem YES
+#endif
+
+/* DefaultUsrBin is independent of ProjectRoot.
+ This is a directory where programs will be found even if PATH
+ is not set, for example when coming in remotely via rsh. */
+#ifndef DefaultUsrBin
+#define DefaultUsrBin /usr/bin
+#endif
+
+#ifndef LibDirName
+# define LibDirName lib
+#endif
+
+#ifndef UsrLibDir
+#ifdef ProjectRoot
+#define UsrLibDir Concat3(ProjectRoot,/,LibDirName)
+#ifndef AlternateUsrLibDir
+#define AlternateUsrLibDir YES
+#endif
+#else
+#define UsrLibDir Concat3(/usr,/,LibDirName)
+#ifndef AlternateUsrLibDir
+#define AlternateUsrLibDir NO
+#endif
+#endif
+#else
+#ifndef AlternateUsrLibDir
+#define AlternateUsrLibDir YES
+#endif
+#endif
+#ifndef VarDirectory
+#ifdef ProjectVar
+#define VarDirectory ProjectVar
+#else
+#define VarDirectory /var
+#endif
+#endif
+#ifndef VarLibDir
+#define VarLibDir $(VARDIR)/lib
+#endif
+
+/*
+ * SystemUsrLibDir is independent of ProjectRoot. It is used primarily
+ * to allow links for shared libraries in /usr/lib for compliance to
+ * various standards (e.g., Linux/OpenGL).
+ */
+#ifndef SystemUsrLibDir
+#define SystemUsrLibDir /usr/LibDirName
+#endif
+#ifndef SystemUsrIncDir
+#define SystemUsrIncDir /usr/include
+#endif
+
+#ifndef ShLibDir
+#define ShLibDir UsrLibDir
+#endif
+#ifndef IncRoot
+#ifdef ProjectRoot
+#define IncRoot Concat(ProjectRoot,/include)
+#ifndef AlternateIncRoot
+#define AlternateIncRoot YES
+#endif
+#else
+#define IncRoot /usr/include
+#ifndef AlternateIncRoot
+#define AlternateIncRoot NO
+#endif
+#endif
+#else
+#ifndef AlternateIncRoot
+#define AlternateIncRoot YES
+#endif
+#endif
+#ifndef LintlibDir
+#define LintlibDir $(USRLIBDIR)/lint
+#endif
+#ifndef SystemManDirectory
+#if SystemV4
+#define SystemManDirectory /usr/share/man
+#else
+#define SystemManDirectory /usr/man
+#endif
+#endif
+#ifndef ManDirectoryRoot
+#ifdef ProjectRoot
+#define ManDirectoryRoot Concat(ProjectRoot,/man)
+#else
+#define ManDirectoryRoot SystemManDirectory
+#endif
+#endif
+#ifndef ManPath
+#define ManPath ManDirectoryRoot
+#endif
+#ifndef ManSourcePath
+#define ManSourcePath $(MANPATH)/man
+#endif
+#ifndef ManDir
+#define ManDir $(MANSOURCEPATH)$(MANSUFFIX)
+#endif
+#ifndef LibmanDir
+#define LibmanDir $(MANSOURCEPATH)$(LIBMANSUFFIX)
+#endif
+#ifndef FileManDir
+#define FileManDir $(MANSOURCEPATH)$(FILEMANSUFFIX)
+#endif
+#ifndef MiscManDir
+#define MiscManDir $(MANSOURCEPATH)$(MISCMANSUFFIX)
+#endif
+#ifndef DriverManDir
+#define DriverManDir $(MANSOURCEPATH)$(DRIVERMANSUFFIX)
+#endif
+#ifndef AppLoadDefs
+#define AppLoadDefs -D__apploaddir__=$(XAPPLOADDIR)
+#endif
+#ifndef AppManDefs
+#define AppManDefs -D__appmansuffix__=$(MANSUFFIX)
+#endif
+#ifndef LibManDefs
+#define LibManDefs -D__libmansuffix__=$(LIBMANSUFFIX)
+#endif
+#ifndef FileManDefs
+#define FileManDefs -D__filemansuffix__=$(FILEMANSUFFIX)
+#endif
+#ifndef MiscManDefs
+#define MiscManDefs -D__miscmansuffix__=$(MISCMANSUFFIX)
+#endif
+#ifndef DriverManDefs
+#define DriverManDefs -D__drivermansuffix__=$(DRIVERMANSUFFIX)
+#endif
+#ifndef AdminManDefs
+#define AdminManDefs -D__adminmansuffix__=$(ADMINMANSUFFIX)
+#endif
+#ifndef ProjectManDefs
+#define ProjectManDefs -D__projectroot__=$(PROJECTROOT)
+#endif
+#ifndef XConfigFileManDefs
+#define XConfigFileManDefs -D__xconfigfile__=$(XCONFIGFILE)
+#endif
+#ifndef XConfigDirManDefs
+#define XConfigDirManDefs -D__xconfigdir__=$(XCONFIGDIR)
+#endif
+#ifndef XLogFileManDefs
+#define XLogFileManDefs -D__xlogfile__=$(XLOGFILE)
+#endif
+#ifndef XServerManDefs
+#define XServerManDefs -D__xservername__=$(XSERVERNAME)
+#endif
+
+#ifndef CompressManCmd
+#define CompressManCmd gzip -n
+#endif
+
+#ifndef HtmlIndexCmd
+#if BuildHtmlManPages
+#define HtmlIndexCmd $(MKHTMLINDEX)
+#endif
+#endif
+
+#ifndef LogDirectory
+#if HasVarDirectory
+#define LogDirectory $(VARDIR)/log
+#else
+#define LogDirectory /usr/adm
+#endif
+#endif
+
+#ifndef HasVarRun
+#define HasVarRun NO
+#endif
+
+#ifndef VarRunDirectory
+#if HasVarRun
+#define VarRunDirectory $(VARDIR)/run
+#endif
+#endif
+
+#ifndef HasVarDb
+#define HasVarDb NO
+#endif
+
+#ifndef VarDbDirectory
+#if HasVarDb
+#define VarDbDirectory $(VARDIR)/db
+#endif
+#endif
+
+#ifndef ConfigSrc
+#define ConfigSrc $(TOP)/config
+#endif
+#ifndef DependDir
+#if UseCCMakeDepend || UseGccMakeDepend
+#define DependDir $(CONFIGSRC)/util
+#else
+#define DependDir $(CONFIGSRC)/makedepend
+#endif
+#endif
+#ifndef UNCOMPRESSPATH
+#define UNCOMPRESSPATH /usr/ucb/uncompress /* obsolete */
+#endif
+#ifndef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O
+#endif
+#ifndef OptimizedCplusplusDebugFlags
+#define OptimizedCplusplusDebugFlags OptimizedCDebugFlags
+#endif
+#ifndef DebuggableCDebugFlags
+#define DebuggableCDebugFlags -g
+#endif
+#ifndef DebuggableCplusplusDebugFlags
+#define DebuggableCplusplusDebugFlags DebuggableCDebugFlags
+#endif
+#ifndef ProfiledCDebugFlags
+#define ProfiledCDebugFlags -pg
+#endif
+#ifndef ProfiledCplusplusDebugFlags
+#define ProfiledCplusplusDebugFlags ProfiledCDebugFlags
+#endif
+#ifndef NoOpCDebugFlags
+#define NoOpCDebugFlags /**/
+#endif
+#ifndef DefaultCDebugFlags
+#define DefaultCDebugFlags OptimizedCDebugFlags
+#endif
+#ifndef DefaultCplusplusDebugFlags
+#define DefaultCplusplusDebugFlags OptimizedCplusplusDebugFlags
+#endif
+#ifndef DefaultCCOptions
+#define DefaultCCOptions /* floating point, etc. */
+#endif
+#ifndef DefaultCplusplusOptions
+#define DefaultCplusplusOptions /* floating point, etc. */
+#endif
+#ifndef HardCodeLibdirFlag
+#define HardCodeLibdirFlag /**/
+#endif
+#ifndef NoRConst
+#define NoRConst NO /* YES if const for structs of funcs is bad */
+#endif
+#ifndef InstPgmFlags
+# if CrossCompiling
+# define InstPgmFlags
+# else
+# define InstPgmFlags -s
+# endif
+#endif
+#ifndef InstBinFlags
+#define InstBinFlags -m 0755
+#endif
+#ifndef InstUidFlags
+#define InstUidFlags -m 4711
+#endif
+#ifndef InstLibFlags
+#define InstLibFlags -m 0644
+#endif
+#ifndef InstIncFlags
+#define InstIncFlags -m 0444
+#endif
+#ifndef InstManFlags
+#define InstManFlags -m 0444
+#endif
+#ifndef InstDatFlags
+#define InstDatFlags -m 0444
+#endif
+#ifndef InstKmemFlags /* put -g kmem -m 2711 in site.def... */
+#define InstKmemFlags InstUidFlags
+#endif
+#ifndef ParallelMakeFlags
+#define ParallelMakeFlags /**/
+#endif
+#ifndef ArCmdBase
+#define ArCmdBase ar
+#endif
+#ifndef ArCmd
+#if HasLargeTmp || SystemV4
+#define ArCmd ArCmdBase cq
+#else
+#define ArCmd ArCmdBase clq
+#endif
+#endif
+#ifndef ArAddCmd
+#if HasLargeTmp || SystemV4
+#define ArAddCmd ArCmdBase ru
+#else
+#define ArAddCmd ArCmdBase rul
+#endif
+#endif
+#ifndef ArExtCmd
+#if HasLargeTmp || SystemV4
+#define ArExtCmd ArCmdBase x
+#else
+#define ArExtCmd ArCmdBase xl
+#endif
+#endif
+#ifndef BootstrapCFlags
+#define BootstrapCFlags /**/
+#endif
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+#ifndef HasIntelC
+#define HasIntelC NO
+#endif
+#ifndef HasSunC
+#define HasSunC NO
+#endif
+#ifndef HasBrokenCCForLink
+#define HasBrokenCCForLink NO
+#endif
+#ifndef CcCmd
+#if HasGcc2
+#define CcCmd gcc -fpcc-struct-return
+#else
+#if HasGcc
+#define CcCmd gcc -fstrength-reduce -fpcc-struct-return
+#else
+#if HasCenterLineC
+#define CcCmd clcc
+#else
+#define CcCmd cc
+#endif
+#endif
+#endif
+#endif
+#ifndef CplusplusCmd
+#if HasGcc2ForCplusplus
+#define CplusplusCmd g++
+#else
+#define CplusplusCmd CC
+#endif
+#endif
+#ifndef CplusplusFilt
+# define CplusplusFilt c++filt
+#endif
+#ifndef CplusplusLibC
+#if HasGcc2ForCplusplus
+#define CplusplusLibC -lstdc++
+#else
+#define CplusplusLibC /**/
+#endif
+#endif
+#ifndef CplusplusStandardDefines
+#define CplusplusStandardDefines StandardDefines
+#endif
+#ifndef CplusplusExtraDefines
+#define CplusplusExtraDefines /**/
+#endif
+#ifndef CplusplusExtraIncludes
+#define CplusplusExtraIncludes /**/
+#endif
+#ifndef CplusplusDependIncludes
+#define CplusplusDependIncludes /**/
+#endif
+#ifndef CplusplusOptions
+#define CplusplusOptions DefaultCplusplusOptions
+#endif
+#ifndef CplusplusSpecialOptions
+#define CplusplusSpecialOptions /**/
+#endif
+#if HasFortran
+#ifndef FortranCmd
+#define FortranCmd f77
+#endif
+#ifndef FortranFlags
+#define FortranFlags /**/
+#endif
+#ifndef FortranDebugFlags /* for -O or -g */
+#define FortranDebugFlags /**/
+#endif
+#endif
+#ifndef AsCmd
+#define AsCmd as
+#endif
+#ifndef AsmDefines
+#define AsmDefines /**/
+#endif
+#ifndef CompressCmd
+#define CompressCmd compress
+#endif
+#ifndef GzipCmd
+#define GzipCmd gzip
+#endif
+#ifndef CppCmd
+#define CppCmd /LibDirName/cpp
+#endif
+#ifndef RawCppCmd
+#define RawCppCmd CppCmd -undef
+#endif
+#ifndef CppNoLineInfoOption
+#define CppNoLineInfoOption /**/
+#endif
+#ifndef PreProcessCmd
+#define PreProcessCmd CcCmd -E
+#endif
+#ifndef InstallCmd /* hack should be in project */
+#if SystemV || SystemV4
+#ifdef UseInstalled /* assume BINDIR in path */
+#define InstallCmd bsdinst
+#else
+#define InstallCmd $(SHELL) $(CONFIGSRC)/util/bsdinst.sh
+#endif
+#else
+#define InstallCmd install
+#endif
+#endif
+#ifndef InstallFlags
+#define InstallFlags -c
+#endif
+#ifndef StripCmd
+#define StripCmd strip
+#endif
+#ifndef LdCmd
+#define LdCmd ld
+#endif
+#ifndef M4Cmd
+#define M4Cmd m4
+#endif
+#ifndef M4Flags
+#define M4Flags /**/
+#endif
+#ifndef LexCmd
+#define LexCmd lex
+#endif
+#ifndef LexLib
+#define LexLib -ll
+#endif
+#ifndef HasFlex
+#define HasFlex NO
+#endif
+#ifndef YaccCmd
+#define YaccCmd yacc
+#endif
+#ifndef CplusplusYaccCmd
+#define CplusplusYaccCmd YaccCmd
+#endif
+#ifndef LintCmd
+#define LintCmd lint
+#endif
+#ifndef LintLibFlag
+#if SystemV || SystemV4
+#define LintLibFlag -o
+#else
+#define LintLibFlag -C
+#endif
+#endif
+#ifndef LintOpts
+#if SystemV || SystemV4
+#define LintOpts -bh
+#else
+#define LintOpts -axz
+#endif
+#endif
+#ifndef CpCmd
+#define CpCmd cp
+#endif
+#ifndef LnCmd /* can use cp instead of ln if necessary */
+#if HasSymLinks
+#define LnCmd ln -s
+#else
+#define LnCmd ln
+#endif
+#endif
+#ifndef MakeCmd
+#define MakeCmd make
+#endif
+#ifndef MvCmd
+#define MvCmd mv -f
+#endif
+#ifndef RanlibCmd
+#define RanlibCmd ranlib
+#endif
+#ifndef RanlibInstFlags
+#define RanlibInstFlags /**/
+#endif
+#ifndef RmCmd
+#define RmCmd rm -f
+#endif
+
+/*
+ * Module cross-compile stuff. By default they are defined to be exactly the
+ * same as the non-module versions.
+ */
+#ifndef ModuleCcCmd
+#define ModuleCcCmd CcCmd
+#endif
+#ifndef ModuleCppCmd
+#define ModuleCppCmd CppCmd
+#endif
+#ifndef ModuleCFlags
+#define ModuleCFlags $(CFLAGS)
+#endif
+#ifndef ModuleAsCmd
+#define ModuleAsCmd AsCmd
+#endif
+#ifndef ModuleAsFlags
+#define ModuleAsFlags /**/
+#endif
+#ifndef ModuleLdCmd
+#define ModuleLdCmd LdCmd
+#endif
+#ifndef ModuleLdFlags
+#define ModuleLdFlags /**/
+#endif
+#ifndef ModuleLdCombineFlags
+#define ModuleLdCombineFlags LdCombineFlags
+#endif
+#ifndef ModuleArCmd
+#define ModuleArCmd ArCmd
+#endif
+#ifndef NeedModuleRanlib
+#define NeedModuleRanlib NO
+#endif
+#ifndef ModuleRanlibCmd
+#define ModuleRanlibCmd RanlibCmd
+#endif
+
+#ifndef HostCcCmd
+#define HostCcCmd cc
+#endif
+#ifndef StandardIncludes /* for platform-specifics */
+#define StandardIncludes /**/
+#endif
+#ifndef StandardDefines
+#if SystemV
+#define StandardDefines -DSYSV
+#else
+#if SystemV4
+#define StandardDefines -DSVR4
+#else
+#define StandardDefines /**/
+#endif
+#endif
+#endif
+#ifndef StandardCppOptions
+#define StandardCppOptions /**/
+#endif
+#ifndef StandardCppDefines
+#define StandardCppDefines StandardCppOptions StandardDefines
+#endif
+#ifndef Malloc0ReturnsNull
+#if UseGnuMalloc
+#define Malloc0ReturnsNull YES
+#else
+#define Malloc0ReturnsNull NO
+#endif
+#endif
+#if Malloc0ReturnsNull
+#ifndef Malloc0ReturnsNullDefines
+#define Malloc0ReturnsNullDefines -DMALLOC_0_RETURNS_NULL
+#endif
+#endif
+#ifndef ToolkitStringsABIOptions
+#define ToolkitStringsABIOptions /**/
+#endif
+#ifndef NdbmDefines
+#if HasNdbm
+#define NdbmDefines -DNDBM
+#else
+#define NdbmDefines /**/
+#endif
+#endif
+#ifndef HasLdRunPath
+#define HasLdRunPath NO
+#endif
+#ifndef LdPreLib
+# if !defined(UseInstalled)
+# define LdPreLib -L$(BUILDLIBDIR)
+# else
+# if AlternateUsrLibDir
+# define LdPreLib -L$(USRLIBDIR)
+# else
+# define LdPreLib /**/
+# endif
+#endif
+#endif
+#ifndef LdPostLib
+#if !defined(UseInstalled) && AlternateUsrLibDir && !HasLdRunPath && !defined(CrossCompileDir)
+#define LdPostLib -L$(USRLIBDIR)
+#else
+#define LdPostLib /**/
+#endif
+#endif
+#ifndef MathLibrary
+#define MathLibrary -lm
+#endif
+#ifndef DBMLibrary
+#define DBMLibrary -ldbm
+#endif
+#ifndef DlLibrary
+#define DlLibrary -ldl
+#endif
+#ifndef ExtraLibraries
+#if SystemV4
+#if HasSockets
+#define ExtraLibraries -lsocket -lnsl -lw
+#else
+#define ExtraLibraries -lnsl -lw
+#endif
+#else
+#define ExtraLibraries /**/
+#endif
+#endif
+#ifndef ExtraLoadOptions
+#define ExtraLoadOptions /**/
+#endif
+#ifndef ExtraLoadFlags
+#define ExtraLoadFlags /**/
+#endif
+#ifndef LdCombineFlags
+#if SystemV4
+#define LdCombineFlags -r
+#else
+#define LdCombineFlags -X -r
+#endif
+#endif
+#ifndef LdStripFlags
+#define LdStripFlags -x
+#endif
+#ifndef TagsCmd
+#define TagsCmd ctags
+#endif
+#ifndef LoaderLibPrefix
+#define LoaderLibPrefix /**/
+#endif
+#ifndef ImakeCmd
+#ifdef UseInstalled /* assume BINDIR in path */
+#define ImakeCmd imake
+#else
+#define ImakeCmd $(IMAKESRC)/imake
+#endif
+#endif
+#ifndef ImakeWarningFlags
+#define ImakeWarningFlags /* Nothing */
+#endif
+#ifndef DependCmd
+#if UseGccMakeDepend
+#ifdef UseInstalled /* assume BINDIR in path */
+#define DependCmd gccmakedep
+#else
+#define DependCmd $(DEPENDSRC)/gccmakedep
+#endif
+#elif UseCCMakeDepend
+#ifdef UseInstalled /* assume BINDIR in path */
+#define DependCmd ccmakedep
+#else
+#define DependCmd $(DEPENDSRC)/ccmakedep
+#endif
+#else
+#ifdef UseInstalled /* assume BINDIR in path */
+#define DependCmd makedepend
+#else
+#define DependCmd $(DEPENDSRC)/makedepend
+#endif
+#endif
+#endif
+#ifndef DependDefines
+# if UseCCMakeDepend || UseGccMakeDepend
+# define DependDefines /**/
+# else
+# define DependDefines -DUSE_MAKEDEPEND
+# endif
+#endif
+#ifndef DependFlags
+#define DependFlags /**/
+#endif
+#ifndef DependFileName
+#if !HasBsdMake
+#define DependFileName Makefile.dep
+#else
+#define DependFileName .depend
+#endif
+#endif
+#ifndef ExportListCmd
+# ifndef ExportListGenSource
+# define ExportListCmd /**/
+# elif !defined(UseInstalled)
+# define ExportListCmd $(CONFIGSRC)/util/exportlistgen
+# else
+# define ExportListCmd exportlistgen
+# endif
+#endif
+#ifndef MkdirHierCmd
+#ifdef UseInstalled /* assume BINDIR in path */
+#define MkdirHierCmd mkdirhier
+#else
+#define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh
+#endif
+#endif
+#ifndef RevPathCmd
+#ifdef UseInstalled /* assume BINDIR in path */
+#define RevPathCmd revpath
+#else
+#define RevPathCmd $(CONFIGSRC)/util/revpath
+#endif
+#endif
+#ifndef TroffCmd
+#if HasGroff
+#define TroffCmd groff -Tps
+#else
+#define TroffCmd troff -Tps
+#endif
+#endif
+#ifndef NroffCmd
+#define NroffCmd nroff
+#endif
+#ifndef HTMLroffCmd
+#if HasGroff && HasGroffHtml
+#define HTMLroffCmd groff -Thtml
+#endif
+#endif
+#ifdef HTMLroffCmd
+#ifndef DocFilesToClean
+#define DocFilesToClean grohtml*.png *-auto-*.png
+#endif
+#endif
+#ifndef MsMacros
+#define MsMacros -ms
+#endif
+#ifndef ManMacros
+#define ManMacros -man
+#endif
+#ifndef TblCmd
+#define TblCmd tbl
+#endif
+#ifndef EqnCmd
+#define EqnCmd eqn
+#endif
+#ifndef NeqnCmd
+#define NeqnCmd neqn
+#endif
+#ifndef ColCmd
+#define ColCmd col
+#endif
+#ifndef ColFlags
+#define ColFlags -b
+#endif
+#ifndef DvipsCmd
+#define DvipsCmd dvips
+#endif
+#ifndef LatexCmd
+#define LatexCmd latex
+#endif
+#ifndef HasPdfLatex
+#define HasPdfLatex NO
+#endif
+#ifndef PdfLatexCmd
+#define PdfLatexCmd pdflatex
+#endif
+#ifndef GhostScriptCmd
+#define GhostScriptCmd gs
+#endif
+#ifndef HasGhostPCL
+#define HasGhostPCL NO
+#endif
+#ifndef HasGhostScript
+#define HasGhostScript NO
+#endif
+#ifndef BuildPDFdocs
+#define BuildPDFdocs (HasGhostScript)
+#endif
+#if BuildPDFdocs
+#define PsToPdfCmd GhostScriptCmd -q -sOutputFile=- -sDEVICE=pdfwrite -dSAFER -dNOPAUSE -
+#endif
+#if HasSentinel
+#ifndef SentinelCmd
+#define SentinelCmd sentinel
+#endif
+#ifndef SentinelOptions
+#define SentinelOptions /**/
+#endif
+#endif
+#if HasPurify
+#ifndef PurifyCmd
+#define PurifyCmd purify
+#endif
+#ifndef PurifyOptions
+#define PurifyOptions /**/
+#endif
+#endif
+#if HasTestCenter
+#ifndef ProofCmd
+#define ProofCmd proof
+#endif
+#ifndef ProofOptions
+#define ProofOptions /**/
+#endif
+#endif
+#ifndef PathSeparator
+#define PathSeparator /
+#endif
+#ifndef Osuf
+#define Osuf o
+#endif
+#ifndef CCsuf
+#define CCsuf cc
+#endif
+#ifndef SHsuf
+#define SHsuf sh
+#endif
+#ifndef ManSuffix
+#define ManSuffix n /* use just one tab or cpp will die */
+#endif
+#ifndef LibManSuffix
+#define LibManSuffix 3 /* use just one tab or cpp will die */
+#endif
+#ifndef FileManSuffix
+#if SystemV || SystemV4 || defined(OSF1Architecture)
+#define FileManSuffix 4 /* use just one tab or cpp will die */
+#else
+#define FileManSuffix 5 /* use just one tab or cpp will die */
+#endif
+#endif
+#ifndef MiscManSuffix
+#if SystemV || SystemV4 || defined(OSF1Architecture)
+#define MiscManSuffix 5 /* use just one tab or cpp will die */
+#else
+#define MiscManSuffix 7 /* use just one tab or cpp will die */
+#endif
+#endif
+#ifndef DriverManSuffix
+#if SystemV || SystemV4 || defined(OSF1Architecture)
+#define DriverManSuffix 7 /* use just one tab or cpp will die */
+#else
+#define DriverManSuffix 4 /* use just one tab or cpp will die */
+#endif
+#endif
+#ifndef AdminManSuffix
+#if SystemV || SystemV4
+#define AdminManSuffix 1m /* use just one tab or cpp will die */
+#else
+#define AdminManSuffix 8 /* use just one tab or cpp will die */
+#endif
+#endif
+#ifndef ExpandManNames
+#if SystemV
+#define ExpandManNames NO
+#else
+#define ExpandManNames YES
+#endif
+#endif
+#ifndef ManSrcSuffix
+#define ManSrcSuffix man
+#endif
+#ifndef ManNewSuffix
+#define ManNewSuffix _man
+#endif
+#ifndef TOPDIR
+#define TOPDIR .
+#endif
+#ifndef CURDIR
+#define CURDIR .
+#endif
+#ifndef SiteIConfigFiles
+#define SiteIConfigFiles /**/
+#endif
+#ifndef OtherIConfigFiles
+#define OtherIConfigFiles /**/
+#endif
+#ifndef ExtraFilesToClean
+#define ExtraFilesToClean /**/
+#endif
+#ifndef DocFilesToClean
+#define DocFilesToClean /**/
+#endif
+#ifndef FilesToClean
+#define FilesToClean *.CKP *.ln *.BAK *.bak *.Osuf core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+#endif
+
+#ifdef CrossCompileDir
+# ifndef StripPath
+# define StripPath(x) `echo x|sed "s%.*/%%"`
+# endif
+# ifndef CrossArCmd
+# define CrossArCmd Concat3(CrossCompileDir,/,StripPath(ArCmd))
+# endif
+# ifndef CrossCcCmd
+# define CrossCcCmd Concat3(CrossCompileDir,/,StripPath(CcCmd))
+# endif
+# ifndef CrossAsCmd
+# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
+# endif
+# ifdef HasFortran
+# ifndef CrossFortranCmd
+# define CrossFortranCmd Concat3(CrossCompileDir,/,StripPath(FortranCmd))
+# endif
+# endif
+# ifndef CrossCplusplusCmd
+# define CrossCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
+# endif
+# ifndef CrossCppCmd
+# define CrossCppCmd Concat3(CrossCompileDir,/,StripPath(CppCmd))
+# endif
+# ifndef CrossRawCppCmdCmd
+# define CrossRawCppCmd Concat3(CrossCompileDir,/,StripPath(RawCppCmd))
+# endif
+# ifndef CrossPreProcessCmd
+# define CrossPreProcessCmd Concat3(CrossCompileDir,/,StripPath(PreProcessCmd))
+# endif
+# ifndef CrossAsCmd
+# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
+# endif
+# ifndef CrossLdCmd
+# define CrossLdCmd Concat3(CrossCompileDir,/,StripPath(LdCmd))
+# endif
+# ifndef CrossModuleLdCmd
+# define CrossModuleLdCmd CrossLdCmd
+# endif
+# ifndef CrossLintCmd
+# define CrossLintCmd Concat3(CrossCompileDir,/,StripPath(LintCmd))
+# endif
+# ifndef CrossRanlibCmd
+# define CrossRanlibCmd Concat3(CrossCompileDir,/,StripPath(RanlibCmd))
+# endif
+# ifndef CrossModuleCcCmd
+# define CrossModuleCcCmd Concat3(CrossCompileDir,/,StripPath(ModuleCcCmd))
+# endif
+# ifndef CrossAsCmd
+# define CrossAsCmd Concat3(CrossCompileDir,/,StripPath(AsCmd))
+# endif
+# ifndef CrossStripCmd
+# define CrossStripCmd Concat3(CrossCompileDir,/,StripPath(StripCmd))
+# endif
+#endif
+
+ PATHSEP = PathSeparator
+ SHELL = BourneShell
+
+ TOP = TOPDIR
+ CURRENT_DIR = CURDIR
+
+ IMAKE = ImakeCmd
+ DEPEND = DependCmd
+ MKDIRHIER = MkdirHierCmd
+ REVPATH = RevPathCmd
+ EXPORTLISTGEN = ExportListCmd
+ RMAN = RmanCmd
+ RMANBASENAME = HostProgramTargetName(rman)
+ RMANOPTIONS = RmanOptions
+ CONFIGSRC = ConfigSrc
+ IMAKESRC = $(CONFIGSRC)/imake
+ DEPENDSRC = DependDir
+
+ INCROOT = IncRoot /* base of where to put header files */
+ USRLIBDIR = UsrLibDir /* nonshared libraries */
+ VARDIR = VarDirectory /* usually /var */
+ VARLIBDIR = VarLibDir /* xdm runtime files */
+ SYSTEMUSRLIBDIR = SystemUsrLibDir /* system's "/usr/lib" */
+ SYSTEMUSRINCDIR = SystemUsrIncDir /* system's "/usr/include" */
+ SHLIBDIR = ShLibDir /* shared libraries */
+ LINTLIBDIR = LintlibDir /* lint libraries */
+ MANPATH = ManPath /* top of manual page tree */
+ MANSOURCEPATH = ManSourcePath /* prefix for man page sources */
+ MANDIR = ManDir /* man pages for commands */
+ LIBMANDIR = LibmanDir /* man pages for library routines */
+ FILEMANDIR = FileManDir /* man pages for config files */
+ MISCMANDIR = MiscManDir /* man pages for miscellaneous files */
+ DRIVERMANDIR = DriverManDir /* man pages for drivers */
+ LOGDIRECTORY = LogDirectory /* OS location of log files */
+#ifdef VarRunDirectory
+ VARRUNDIR = VarRunDirectory /* OS location of PID files */
+#endif
+#ifdef VarDbDirectory
+ VARDBDIR = VarDbDirectory /* OS location of db/state files */
+#endif
+#ifdef CrossCompileDir
+ AR = CrossArCmd
+#else
+ AR = ArCmd
+#endif
+XCOMM Nice try but useless: make will inherit BOOTSTRAPCFLAGS
+XCOMM from top Makefile
+ BOOTSTRAPCFLAGS = BootstrapCFlags /* set if cpp does not have uniq sym */
+#ifdef CrossCompileDir
+ CC = CrossCcCmd
+ AS = CrossAsCmd
+#else
+ CC = CcCmd
+ AS = AsCmd
+#endif
+#if HasFortran
+# ifdef CrossCompileDir
+ FC = CrossFortranCmd
+# else
+ FC = FortranCmd
+# endif
+ FDEBUGFLAGS = FortranDebugFlags
+ FCFLAGS = FortranFlags $(FDEBUGFLAGS)
+#endif
+#if HasCplusplus
+
+.SUFFIXES: Concat(.,CCsuf)
+
+#ifdef CrossCompileDir
+ CXX = CrossCplusplusCmd
+#else
+ CXX = CplusplusCmd
+#endif
+ CXXFILT = CplusplusFilt
+#ifdef CplusplusLibCDir
+ CXXLIBDIR = CplusplusLibCDir
+ CXXLIB = -L$(CXXLIBDIR) CplusplusLibC
+#else
+ CXXLIB = CplusplusLibC
+#endif
+
+ CXXDEBUGFLAGS = DefaultCplusplusDebugFlags
+CXXDEPENDINCLUDES = CplusplusDependIncludes
+ CXXEXTRA_DEFINES = CplusplusExtraDefines
+CXXEXTRA_INCLUDES = CplusplusExtraIncludes
+ CXXSTD_DEFINES = CplusplusStandardDefines $(CXXPROJECT_DEFINES)
+ CXXOPTIONS = CplusplusOptions
+ CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES)
+ CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES)
+ CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
+#endif
+ COMPRESS = CompressCmd
+ GZIPCMD = GzipCmd
+#ifdef CrossCompileDir
+ CPP = CrossCppCmd $(STD_CPP_DEFINES)
+ RAWCPP = CrossRawCppCmd $(STD_CPP_OPTIONS)
+ PREPROCESSCMD = CrossPreProcessCmd $(STD_CPP_DEFINES)
+#else
+ CPP = CppCmd $(STD_CPP_DEFINES) /* simple filters */
+ RAWCPP = RawCppCmd $(STD_CPP_OPTIONS)
+ PREPROCESSCMD = PreProcessCmd $(STD_CPP_DEFINES) /* prefered; mdep */
+#endif
+ INSTALL = InstallCmd
+ INSTALLFLAGS = InstallFlags
+#ifdef CrossCompileDir
+ LD = CrossLdCmd
+#else
+ LD = LdCmd
+#endif
+ LEX = LexCmd
+ M4 = M4Cmd
+ M4FLAGS = M4Flags
+ LEXLIB = LexLib
+ YACC = YaccCmd
+ CCYACC = CplusplusYaccCmd
+#ifdef CrossCompileDir
+ LINT = CrossLintCmd
+#else
+ LINT = LintCmd
+#endif
+ LINTLIBFLAG = LintLibFlag
+ LINTOPTS = LintOpts
+ LN = LnCmd
+ MAKE = MakeCmd
+ MV = MvCmd
+ CP = CpCmd
+#if DoRanlibCmd
+#ifdef CrossCompileDir
+ RANLIB = CrossCompileDir/RanlibCmd
+#else
+ RANLIB = RanlibCmd
+#endif
+ RANLIBINSTFLAGS = RanlibInstFlags
+#endif
+ RM = RmCmd
+ PERL = PerlCmd
+ PERLOPTS = PerlOptions
+ PERLENVSETUP = PerlEnvSetup
+ MANSUFFIX = ManSuffix /* suffix for command man pages */
+ LIBMANSUFFIX = LibManSuffix /* suffix for library man pages */
+ FILEMANSUFFIX = FileManSuffix /* suffix for file format man pages */
+ MISCMANSUFFIX = MiscManSuffix /* suffix for misc man pages */
+ DRIVERMANSUFFIX = DriverManSuffix /* suffix for driver man pages */
+ ADMINMANSUFFIX = AdminManSuffix /* suffix for admin command man pages */
+ MANSRCSUFFIX = ManSrcSuffix /* suffix for man page source */
+ MANNEWSUFFIX = ManNewSuffix /* suffix for preprocessed man source */
+ MANDEFS = AppLoadDefs AppManDefs FileManDefs LibManDefs MiscManDefs DriverManDefs AdminManDefs ProjectManDefs XConfigFileManDefs XConfigDirManDefs XLogFileManDefs XServerManDefs $(XORGMANDEFS) $(VENDORMANDEFS)
+
+ COMPRESSMANCMD = CompressManCmd
+
+ TROFF = TroffCmd
+ NROFF = NroffCmd
+#ifdef HTMLroffCmd
+ HTMLROFF = HTMLroffCmd
+#endif
+#ifdef PsToPdfCmd
+ PSTOPDFCMD = PsToPdfCmd
+#endif
+ MSMACROS = MsMacros
+ MANMACROS = ManMacros
+ TBL = TblCmd
+ EQN = EqnCmd
+ NEQN = NeqnCmd
+ COL = ColCmd
+ COLFLAGS = ColFlags
+#ifdef CrossCompileDir
+ MODCC = CrossModuleCcCmd
+#else
+ MODCC = ModuleCcCmd
+#endif
+ MODCPP = ModuleCppCmd
+ MODCFLAGS = ModuleCFlags
+ MODAS = ModuleAsCmd
+ MODASFLAGS = ModuleAsFlags
+#ifdef CrossCompileDir
+ MODLD = CrossModuleLdCmd
+#else
+ MODLD = ModuleLdCmd
+#endif
+ MODLDFLAGS = ModuleLdFlags
+MODLDCOMBINEFLAGS = ModuleLdCombineFlags
+ MODAR = ModuleArCmd
+#ifdef CrossCompileDir
+ MODRANLIB = CrossCompileDir/ModuleRanlibCmd
+#else
+ MODRANLIB = ModuleRanlibCmd
+#endif
+#if HasLatex
+ DVIPS = DvipsCmd
+ LATEX = LatexCmd
+#endif
+#if HasPdfLatex
+ PDFLATEXCMD = PdfLatexCmd
+#endif
+#if HasSentinel
+ SENTINEL = SentinelCmd
+ SENTINELOPTIONS = SentinelOptions
+#endif
+#if HasPurify
+ PURIFY = PurifyCmd
+ PURIFYOPTIONS = PurifyOptions
+#endif
+#if HasTestCenter
+ PROOF = ProofCmd
+ PROOFOPTIONS = ProofOptions
+#endif
+#if CrossCompiling
+ HOST_CC = HostCcCmd
+#endif
+ STD_INCLUDES = StandardIncludes
+ STD_CPP_OPTIONS = StandardCppOptions
+ STD_CPP_DEFINES = StandardCppOptions StandardCppDefines $(PROJECT_DEFINES)
+ STD_DEFINES = StandardDefines $(PROJECT_DEFINES)
+ EXTRA_LOAD_FLAGS = ExtraLoadFlags
+ EXTRA_LDOPTIONS = ExtraLoadOptions
+ EXTRA_LIBRARIES = MallocLibraries ExtraLibraries Krb5Libraries
+ TAGS = TagsCmd
+#if ConstructMFLAGS
+ MFLAGS = -$(MAKEFLAGS)
+#endif
+#if ConstructMAKEFLAGS
+ MAKEFLAGS = $(MFLAGS)
+#endif
+ PARALLELMFLAGS = ParallelMakeFlags
+#if HasSharedLibraries
+ SHAREDCODEDEF = SharedCodeDef
+ SHLIBDEF = SharedLibraryDef
+#ifdef SharedLibraryLoadFlags
+ SHLIBLDFLAGS = SharedLibraryLoadFlags $(SHLIBGLOBALSFLAGS)
+#if HasGcc
+ NOSTDLIB = -nostdlib
+ POSTNOSTDLIB = -Wl,-Bstatic -lgcc -Wl,-Bdynamic
+#elif HasIntelC
+ NOSTDLIB = -nostdlib
+ POSTNOSTDLIB =
+#elif HasSunC
+ NOSTDLIB = -xnolib
+ POSTNOSTDLIB =
+#endif
+#endif
+/*
+ * Here we set up flags needed to produce position-independent code
+ * when doing C and C++ compilation. The default if you specify C
+ * PIC flags without also specifying C++ PIC flags is to assume that
+ * the C flags work for both. If your C++ compiler requires different
+ * flags, specify them explicitly in PositionIndependentCplusplusFlags.
+ */
+#ifdef PositionIndependentCFlags
+ PICFLAGS = PositionIndependentCFlags
+#endif
+#ifdef PositionIndependentCplusplusFlags
+ CXXPICFLAGS = PositionIndependentCplusplusFlags
+#else
+#ifdef PositionIndependentCFlags
+ CXXPICFLAGS = PositionIndependentCFlags
+#endif
+#endif
+#endif
+#if !HasVoidSignalReturn
+ SIGNAL_DEFINES = -DSIGNALRETURNSINT
+#endif
+/*
+ * The following supports forcing of function prototypes
+ */
+#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes && NeedNestedPrototypes
+#define _funcprotodef -DFUNCPROTO=15
+#else
+#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedNestedPrototypes
+#define _funcprotodef -DFUNCPROTO=11
+#else
+#if NeedFunctionPrototypes && NeedNestedPrototypes
+#define _funcprotodef -DFUNCPROTO=9
+#else
+#if NeedFunctionPrototypes && NeedVarargsPrototypes && NeedConstPrototypes
+#define _funcprotodef -DFUNCPROTO=7
+#else
+#if NeedFunctionPrototypes && NeedConstPrototypes
+#define _funcprotodef -DFUNCPROTO=5
+#else
+#if NeedFunctionPrototypes && NeedVarargsPrototypes
+#define _funcprotodef -DFUNCPROTO=3
+#else
+#if NeedFunctionPrototypes
+#define _funcprotodef -DFUNCPROTO
+#else
+#define _funcprotodef /**/
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+#endif
+#if NeedWidePrototypes
+#define _wideprotodef /**/
+#else
+#define _wideprotodef -DNARROWPROTO
+#endif
+ PROTO_DEFINES = _funcprotodef _wideprotodef
+#undef _funcprotodef
+#undef _wideprotodef
+
+#if StripInstalledPrograms
+ INSTPGMFLAGS = InstPgmFlags /* install flags for stripping */
+#else
+ INSTPGMFLAGS =
+#endif
+ INSTBINFLAGS = InstBinFlags /* install flags for programs */
+ INSTUIDFLAGS = InstUidFlags /* install flags for setuid programs */
+ INSTLIBFLAGS = InstLibFlags /* install flags for libraries */
+ INSTINCFLAGS = InstIncFlags /* install flags for headers */
+ INSTMANFLAGS = InstManFlags /* install flags for man pages */
+ INSTDATFLAGS = InstDatFlags /* install flags for data files */
+ INSTKMEMFLAGS = InstKmemFlags /* install flags for /dev/kmem progs */
+
+#ifdef ProjectRoot
+ PROJECTROOT = ProjectRoot
+#endif
+#ifdef UseInstalled
+# if AlternateIncRoot
+# define TopInclude -I$(INCROOT)
+# else
+# define TopInclude /**/
+# endif
+#else
+# define TopInclude -I$(TOP)
+#endif
+
+ CDEBUGFLAGS = DefaultCDebugFlags
+ CCOPTIONS = DefaultCCOptions /* to distinguish from param flags */
+/*
+ * STD_INCLUDES contains system-specific includes
+ * TOP_INCLUDES specifies how to get to /usr/include or its build substitute
+ * EXTRA_INCLUDES contains project-specific includes set in project incfiles
+ * INCLUDES contains client-specific includes set in Imakefile
+ * LOCAL_LDFLAGS contains client-specific ld flags flags set in Imakefile
+ */
+ ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
+ ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
+ CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
+ LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
+ LDPRELIB = LdPreLib $(INSTALLED_LIBS)
+ LDPOSTLIB = LdPostLib
+ LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
+ CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS)
+
+ LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+#if HasBrokenCCForLink
+ CCLINK = LdCmd
+#else
+#if AlternateUsrLibDir && HasLdRunPath
+ CCENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
+ CCLINK = $(CCENVSETUP) $(CC)
+#else
+ CCLINK = $(CC)
+#endif
+#endif
+#if AlternateUsrLibDir && HasLdRunPath
+ CXXENVSETUP = LD_RUN_PATH=$(USRLIBDIRPATH)
+ CXXLINK = $(CXXENVSETUP) $(CXX)
+#else
+ CXXLINK = $(CXX)
+#endif
+ LDSTRIPFLAGS = LdStripFlags
+ LDCOMBINEFLAGS = LdCombineFlags
+ DEPENDFLAGS = DependFlags
+ DEPEND_DEFINES = DependDefines
+
+XCOMM Not sure this belongs here
+ TKLIBDIR = TkLibDir
+ TKINCDIR = TkIncDir
+ TKLIBNAME = TkLibName
+ TKLIBRARY = TkLibrary
+ TCLLIBDIR = TclLibDir
+ TCLINCDIR = TclIncDir
+ TCLLIBNAME = TclLibName
+ TCLLIBRARY = TclLibrary
+
+ MACROFILE = MacroFile
+ RM_CMD = $(RM)
+
+ IMAKE_DEFINES = /* leave blank, for command line use only */
+ IMAKE_WARNINGS = ImakeWarningFlags
+#ifdef UseInstalled
+ IRULESRC = $(CONFIGDIR) /* used in rules file */
+ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES) \
+ $(IMAKE_WARNINGS)
+#else
+ IRULESRC = $(CONFIGSRC)/cf
+ IMAKE_CMD = $(IMAKE) -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#endif
+#if !HasClearmake
+ /* clearmake records relevant defines and flags in the build script,
+ so it knows when they change and we don't need this coarser-level
+ dependency. We also don't want it, since it prevents sharing if
+ even one config file, say site.def or host.def, changes. */
+ ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \
+ $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \
+ OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES)
+#endif
+
+#ifndef TopLevelProject
+# define TopLevelProject X11
+#endif
+#ifndef ProjectRulesFile
+# define ProjectRulesFile Concat3(<,TopLevelProject,.rules>)
+#endif
+#include ProjectRulesFile
+#ifndef LocalRulesFile
+/* need this to make ANSI-style preprocessors happy */
+#define LocalRulesFile <noop.rules>
+#endif
+#include LocalRulesFile
+
+/*
+ * get project-specific configuration and rules
+ */
+#ifndef ProjectTmplFile
+#define ProjectTmplFile Concat3(<,TopLevelProject,.tmpl>)
+#endif
+#include ProjectTmplFile
+#ifndef LocalTmplFile
+/* need this to make ANSI-style preprocessors happy */
+#define LocalTmplFile <noop.rules>
+#endif
+#include LocalTmplFile
+
+#if !BuildLibraries && AlternateIncRoot && !defined(CrossCompileDir)
+INSTALLED_INCLUDES = -I$(INCROOT)
+#endif
+
+#if !defined(UseInstalled) && !BuildLibraries && AlternateUsrLibDir && !defined(CrossCompileDir)
+INSTALLED_LIBS = -L$(USRLIBDIR)
+#endif
+
+#ifdef FixupLibReferences
+FixupLibReferences()
+#endif
+
+/* ConfigDir comes from X11.tmpl */
+ CONFIGDIR = ConfigDir /* build configuration information */
+#if HasClearmake
+ OSNAME = OSName
+#endif
+ USRLIBDIRPATH = UsrLibDirPath
+ LDPRELIBS = LdPreLibs $(INSTALLED_LIBS)
+ LDPOSTLIBS = LdPostLibs
+ TOP_INCLUDES = TopIncludes
+ PROJECT_DEFINES = ProjectDefines
+ VENDOR_DEFINES = VendorDefines
+#if HasCplusplus
+CXXPROJECT_DEFINES = CplusplusProjectDefines
+#endif
+
+XCOMM ----------------------------------------------------------------------
+XCOMM start of Imakefile
+#include INCLUDE_IMAKEFILE
+
+XCOMM ----------------------------------------------------------------------
+XCOMM common rules for all Makefiles - do not edit
+
+.c.i:
+ CPPOnlyCompile($*.c,$(_NOOP_))
+
+.SUFFIXES: .ii
+
+.cc.ii:
+ CPPOnlyCompile($*.cc,$(_NOOP_))
+
+.SUFFIXES: .s
+
+.c.s:
+ CompileCToAsm($(_NOOP_))
+
+.cc.s:
+ CompileCplusplusToAsm($(_NOOP_))
+
+/*
+ * These need to be here so that rules in Imakefile occur first; the blank
+ * emptyrule is to make sure that an empty Imakefile does not default to make
+ * clean.
+ */
+emptyrule::
+
+CleanTarget()
+
+#ifndef IHaveSpecialMakefileTarget
+MakefileTarget()
+#endif
+
+#if BuildHtmlManPages
+RmanDependency()
+#endif
+
+TagsTarget()
+#ifdef MakefileAdditions
+MakefileAdditions()
+#endif
+
+CenterLoadTarget(debug_src,$(SRCS),NullParameter,$(ALLDEFINES))
+
+CenterLoadTarget(debug_obj,$(OBJS),NullParameter,$(ALLDEFINES))
+
+ManKeywordsTarget($(MANPATH))
+
+HtmlManIndex
+
+/* Generate the "real" clean rules */
+#undef clean
+
+clean:: cleandir
+
+distclean:: cleandir
+
+#ifdef IHaveSubdirs
+XCOMM ----------------------------------------------------------------------
+XCOMM rules for building in SUBDIRS - do not edit
+
+InstallSubdirs($(SUBDIRS))
+InstallManSubdirs($(SUBDIRS))
+InstallDriverSDKSubdirs($(SUBDIRS))
+CleanSubdirs($(SUBDIRS))
+TagSubdirs($(SUBDIRS))
+MakefileSubdirs($(SUBDIRS))
+IncludesSubdirs($(SUBDIRS))
+
+/* "distclean" subdirectories */
+#undef BootstrapCleanSubdirs
+#define BootstrapCleanSubdirs /**/
+#define clean distclean
+CleanSubdirs($(SUBDIRS))
+#undef clean
+
+#endif
+
+#if !DontPreprocessManPages || defined(PreprocessManPages)
+ PREPROCESSMANPAGES = true
+#endif
+/* must be after all install.man rules that install anything */
+#ifndef MakeManKeywords
+#define MakeManKeywords NO
+#endif
+#if MakeManKeywords /* typically only at top level */
+install.man:: man_keywords
+#endif
+
+/* must be after all install.man rules that install anything */
+#ifndef MakeHtmlManIndex
+#define MakeHtmlManIndex NO
+#endif
+#if MakeHtmlManIndex /* typically only at top level */
+install.man:: html_index
+#endif
+
+#ifndef IHaveSubdirs
+XCOMM ----------------------------------------------------------------------
+XCOMM empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+ @echo "install in $(CURRENT_DIR) done"
+
+install.man::
+ @echo "install.man in $(CURRENT_DIR) done"
+
+install.sdk::
+ @echo "install.sdk in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+depend::
+
+#endif /* if subdirectory rules are needed */
+
+#ifndef IHaveSpecialMakefileTarget
+/* "distclean" also removes the Makefile and the depend file */
+distclean::
+ RemoveFiles(Makefile DependFileName)
+#endif
+
+XCOMM ----------------------------------------------------------------------
+XCOMM dependencies generated by makedepend
+IncludeMakefile(DependFileName)
diff --git a/nx-X11/config/cf/Imakefile b/nx-X11/config/cf/Imakefile
new file mode 100644
index 000000000..2eb7e995c
--- /dev/null
+++ b/nx-X11/config/cf/Imakefile
@@ -0,0 +1,173 @@
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/Imakefile,v 3.29 2002/10/16 14:07:49 tsi Exp $
+
+XCOMM Some compilers generate fatal errors if an -L directory does
+XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
+ LDPRELIB =
+ LDPRELIBS =
+
+#ifdef LocalConfigFiles
+LOCALFILES = LocalConfigFiles
+#endif
+
+#ifndef InstallEmptyHostDef
+HOSTDEFFILES = \
+host.def
+#endif
+
+#if defined(XFree86Version) || defined(XorgVersion)
+VERSIONDEFFILES = \
+date.def \
+version.def
+#endif
+
+DEFFILES = \
+xf86site.def \
+xorgsite.def \
+$(VERSIONDEFFILES) \
+$(HOSTDEFFILES) \
+site.def \
+xorgversion.def
+
+RULEFILES = \
+Imake.rules \
+Motif.rules \
+Win32.rules \
+X11.rules \
+bsdLib.rules \
+cde.rules \
+cygwin.rules \
+mingw.rules \
+darwinLib.rules \
+gnuLib.rules \
+hpLib.rules \
+ibmLib.rules \
+lnxLib.rules \
+lnxdoc.rules \
+necLib.rules \
+noop.rules \
+nto.rules \
+oldlib.rules \
+os2.rules \
+os2Lib.rules \
+os2Lib.rules \
+osfLib.rules \
+scoLib.rules \
+sgiLib.rules \
+sunLib.rules \
+sv3Lib.rules \
+sv4Lib.rules \
+QNX4.rules \
+xf86.rules
+
+TMPLFILES = \
+Imake.tmpl \
+Library.tmpl \
+Motif.tmpl \
+Server.tmpl \
+ServerLib.tmpl \
+Threads.tmpl \
+WinLib.tmpl \
+X11.tmpl \
+bsdLib.tmpl \
+cde.tmpl \
+cygwin.tmpl \
+mingw.tmpl \
+darwinLib.tmpl \
+hpLib.tmpl \
+gnuLib.tmpl \
+ibmLib.tmpl \
+lnxLib.tmpl \
+lnxdoc.tmpl \
+necLib.tmpl \
+os2Lib.tmpl \
+osfLib.tmpl \
+sgiLib.tmpl \
+sunLib.tmpl \
+sv3Lib.tmpl \
+sv4Lib.tmpl \
+xf86.tmpl \
+xorg.tmpl
+
+CFFILES = \
+Imake.cf \
+Amoeba.cf \
+DGUX.cf \
+DragonFly.cf \
+FreeBSD.cf \
+Mips.cf \
+NetBSD.cf \
+OpenBSD.cf \
+Oki.cf \
+cygwin.cf \
+mingw.cf \
+Win32.cf \
+apollo.cf \
+bsd.cf \
+bsdi.cf \
+convex.cf \
+cray.cf \
+fujitsu.cf \
+generic.cf \
+gnu.cf \
+hp.cf \
+ibm.cf \
+isc.cf \
+linux.cf \
+luna.cf \
+macII.cf \
+mach.cf \
+minix.cf \
+moto.cf \
+ncr.cf \
+nec.cf \
+nto.cf \
+os2.cf \
+osf1.cf \
+pegasus.cf \
+sco.cf \
+sco5.cf \
+sequent.cf \
+sgi.cf \
+sony.cf \
+sun.cf \
+svr3.cf \
+svr4.cf \
+ultrix.cf \
+usl.cf \
+lynx.cf \
+x386.cf \
+QNX4.cf \
+darwin.cf \
+xfree86.cf \
+xorg.cf
+
+INSTFILES = $(RULEFILES) $(TMPLFILES) $(DEFFILES) $(CFFILES) $(LOCALFILES)
+
+all::
+
+#if BuildLibraries
+InstallMultipleDestFlags(install,$(INSTFILES),$(CONFIGDIR),$(INSTDATFLAGS))
+#endif
+
+InstallDriverSDKMultipleDestFlags($(INSTFILES),$(DRIVERSDKDIR)/config/cf,$(INSTDATFLAGS))
+
+#ifdef InstallEmptyHostDef
+install::
+ @(TMP=/tmp/tmp.$$$$; \
+ RemoveFile($${TMP}); \
+ echo "" > $${TMP}; \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $${TMP} \
+ $(DESTDIR)$(CONFIGDIR)/host.def; \
+ RemoveFile($${TMP}))
+
+#if defined(XFree86Version) || defined(XorgVersion)
+install.sdk::
+ @(TMP=/tmp/tmp.$$$$; \
+ RemoveFile($${TMP}); \
+ echo "" > $${TMP}; \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $${TMP} \
+ $(DESTDIR)$(DRIVERSDKDIR)/config/cf/host.def; \
+ RemoveFile($${TMP}))
+#endif
+#endif
diff --git a/nx-X11/config/cf/Library.tmpl b/nx-X11/config/cf/Library.tmpl
new file mode 100644
index 000000000..95a9207fb
--- /dev/null
+++ b/nx-X11/config/cf/Library.tmpl
@@ -0,0 +1,582 @@
+/*
+ * Library imakefile info - this contains any special redefinitions, etc.
+ * that Imakefiles in the various library subtrees will need.
+ *
+ * Before including this, you must set the following boolean variables:
+ * DoNormalLib, DoSharedLib, DoDebugLib, DoProfileLib
+ *
+ * To get automatic generation of standard rules, also set the variables:
+ * LibName, SoRev, HasSharedData, and optionally HugeLibrary and IncSubdir.
+ *
+ * To suppress installation of the library define LibInstall NO.
+ * To suppress creating (and installing) the library define LibCreate NO.
+ * To suppress installing headers define LibHeaders NO.
+ * Define LargePICTable YES if large (32-bit) PIC tables are needed.
+ */
+
+XCOMM $Xorg: Library.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+
+
+
+XCOMM $XFree86: xc/config/cf/Library.tmpl,v 3.23tsi Exp $
+
+#ifndef DoNormalLib
+#define DoNormalLib NO
+#endif
+#ifndef DoSharedLib
+#define DoSharedLib NO
+#endif
+#ifndef DoDebugLib
+#define DoDebugLib NO
+#endif
+#ifndef DoProfileLib
+#define DoProfileLib NO
+#endif
+#ifndef DoExtraLib
+#define DoExtraLib NO
+#endif
+
+#ifndef HasSharedData
+#define HasSharedData NO
+#endif
+#ifndef HugeLibrary
+#define HugeLibrary NO
+#endif
+
+#ifndef ShlibBindGlobals
+#define ShlibBindGlobals NO
+#endif
+
+#if ShlibBindGlobals && defined(ShlibGlobalsFlags)
+SHLIBGLOBALSFLAGS = ShlibGlobalsFlags
+#endif
+
+#ifndef LibraryCplusplusOptions
+# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
+# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
+# else
+# define LibraryCplusplusOptions DefaultCplusplusOptions
+# endif
+#endif
+#ifndef LibraryDefines
+# define LibraryDefines StandardDefines
+#endif
+#ifndef LibraryDebugOpt
+# define LibraryDebugOpt /**/
+#endif
+/* Note: Changing LibraryCDebugFlags has no effect because CDEBUGFLAGS is over-
+ ridden by PassCDebugFlags in the parent Makefile or toplevel xmakefile. */
+#ifndef LibraryCDebugFlags
+# define LibraryCDebugFlags DefaultCDebugFlags
+#endif
+#ifndef LibraryCplusplusDebugFlags
+# define LibraryCplusplusDebugFlags DefaultCplusplusDebugFlags
+#endif
+#ifndef SeparateSharedCompile
+# define SeparateSharedCompile YES
+#endif
+
+#ifdef CrossCompileDir
+# ifndef StripPath
+# define StripPath(x) `echo x|sed "s%.*/%%"`
+# endif
+#endif
+
+#ifndef CplusplusSource
+# ifndef LibraryCcCmd
+# if DoSharedLib && defined(SharedLibraryCcCmd)
+# define LibraryCcCmd SharedLibraryCcCmd
+# else
+# define LibraryCcCmd CcCmd
+# endif
+# endif
+# ifndef LibraryCCOptions
+# if DoSharedLib && defined(SharedLibraryCCOptions)
+# define LibraryCCOptions SharedLibraryCCOptions
+# else
+# define LibraryCCOptions DefaultCCOptions
+# endif
+# endif
+
+#ifdef CrossCompileDir
+# ifndef CrossLibraryCcCmd
+# define CrossLibraryCcCmd Concat3(CrossCompileDir,/,StripPath(LibraryCcCmd))
+# endif
+#endif
+
+#ifdef CrossCompileDir
+ CC = CrossLibraryCcCmd
+#else
+ CC = LibraryCcCmd
+#endif
+ CCOPTIONS = LibraryCCOptions
+STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
+CDEBUGFLAGS = LibraryCDebugFlags
+CLIBDEBUGFLAGS = LibraryDebugOpt
+ CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
+# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)
+ PICFLAGS = LargePositionIndependentCFlags
+# endif
+#else
+# ifndef CrossCompileDir
+# ifndef LibraryCplusplusCmd
+# if DoSharedLib && defined(SharedLibraryCplusplusCmd)
+# define LibraryCplusplusCmd SharedLibraryCplusplusCmd
+# else
+# define LibraryCplusplusCmd CplusplusCmd
+# endif
+# endif
+# else
+# ifndef CrossLibraryCplusplusCmd
+# if DoSharedLib && defined(SharedLibraryCplusplusCmd)
+# define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(SharedLibraryCplusplusCmd))
+# else
+# define CrossLibraryCplusplusCmd Concat3(CrossCompileDir,/,StripPath(CplusplusCmd))
+# endif
+# endif
+# endif
+
+# ifndef LibraryCplusplusOptions
+# if DoSharedLib && defined(SharedLibraryCplusplusOptions)
+# define LibraryCplusplusOptions SharedLibraryCplusplusOptions
+# else
+# define LibraryCplusplusOptions DefaultCplusplusOptions
+# endif
+# endif
+
+#ifdef CrossCompileDir
+ CXX = CrossLibraryCplusplusCmd
+#else
+ CXX = LibraryCplusplusCmd
+#endif
+ CXXOPTIONS = LibraryCplusplusOptions
+ STD_DEFINES = LibraryDefines $(PROJECT_DEFINES)
+CXXDEBUGFLAGS = LibraryCplusplusDebugFlags
+CXXLIBDEBUGFLAGS = LibraryDebugOpt
+ CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXLIBDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
+# if defined(LargePICTable) && LargePICTable
+# ifdef LargePositionIndependentCplusplusFlags
+ CXXPICFLAGS = LargePositionIndependentCplusplusFlags
+# elif defined(LargePositionIndependentCFlags)
+ CXXPICFLAGS = LargePositionIndependentCFlags
+# endif
+# endif
+#endif
+
+#ifdef LibraryMTDefines
+LIB_MT_DEFINES = LibraryMTDefines
+#endif
+
+#if defined(IHaveSubdirs) && HasSymLinks && !defined(NoLibSubdirs)
+#define _LibMkdir LibMkdirLinkSubdirs
+#else
+#define _LibMkdir LibMkdir
+#endif
+
+#if DoDebugLib
+# define _DebuggedLibMkdir() _LibMkdir(debugger)
+# define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
+# define _DebuggedObjCplusplusCompile(options) DebuggedLibObjCplusplusCompile(options)
+# define _DebuggedCleanDir() LibCleanDir(debugger)
+#else
+# define _DebuggedLibMkdir() $(_NULLCMD_)
+# define _DebuggedObjCompile(options) $(_NULLCMD_)
+# define _DebuggedObjCplusplusCompile(options) $(_NULLCMD_)
+# define _DebuggedCleanDir() $(_NULLCMD_)
+#endif
+
+#if DoProfileLib
+# define _ProfiledLibMkdir() _LibMkdir(profiled)
+# define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
+# define _ProfiledObjCplusplusCompile(options) ProfiledLibObjCplusplusCompile(options)
+# define _ProfiledCleanDir() LibCleanDir(profiled)
+#else
+# define _ProfiledLibMkdir() $(_NULLCMD_)
+# define _ProfiledObjCompile(options) $(_NULLCMD_)
+# define _ProfiledObjCplusplusCompile(options) $(_NULLCMD_)
+# define _ProfiledCleanDir() $(_NULLCMD_)
+#endif
+
+#if !DoNormalLib
+# define _NormalLibMkdir() $(_NULLCMD_)
+# define _NormalObjCompile(options) $(_NULLCMD_)
+# define _NormalObjCplusplusCompile(options) $(_NULLCMD_)
+# define _NormalCleanDir() $(_NULLCMD_)
+#else
+# if DoSharedLib && SeparateSharedCompile
+# define _NormalLibMkdir() _LibMkdir(unshared)
+# define _NormalObjCompile(options) UnsharedLibObjCompile(options)
+# define _NormalObjCplusplusCompile(options) UnsharedLibObjCplusplusCompile(options)
+# define _NormalCleanDir() LibCleanDir(unshared)
+# else
+# define _NormalLibMkdir() $(_NULLCMD_)
+# if !DoSharedLib && defined(IncludeSharedObjectInNormalLib)
+# define _NormalObjCompile(options) NormalRelocLibObjCompile(options)
+# else
+# define _NormalObjCompile(options) NormalLibObjCompile(options)
+# endif
+# define _NormalObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
+# define _NormalCleanDir() $(_NULLCMD_)
+# endif
+#endif
+
+#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
+# define _SharedObjCompile(options) $(_NULLCMD_)
+# define _SharedObjCplusplusCompile(options) $(_NULLCMD_)
+#else
+# if SeparateSharedCompile
+# define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
+# define _SharedObjCplusplusCompile(options) NormalSharedLibObjCplusplusCompile(options)
+#else
+# define _SharedObjCompile(options) NormalLibObjCompile(options)
+# define _SharedObjCplusplusCompile(options) NormalLibObjCplusplusCompile(options)
+#endif
+#endif
+
+#ifndef LibInstallBuild
+#define LibInstallBuild NO
+#endif
+
+#if DoExtraLib && defined(ExtraLibRules)
+# define _ExtraLibMkdir() ExtraLibMkdir()
+# define _ExtraObjCompile(options) ExtraObjCompile(options)
+# define _ExtraObjCplusplusCompile(options) ExtraObjCplusplusCompile(options)
+# define _ExtraCleanDir() ExtraCleanDir()
+#else
+# define _ExtraLibMkdir() $(_NULLCMD_)
+# define _ExtraObjCompile(options) $(_NULLCMD_)
+# define _ExtraObjCplusplusCompile(options) $(_NULLCMD_)
+# define _ExtraCleanDir() $(_NULLCMD_)
+#endif
+
+#ifndef CplusplusSource
+# define SRCsuf c
+# define Isuf i
+#else
+# define SRCsuf CCsuf
+# define Isuf ii
+# ifdef SunArchitecture
+.SUFFIXES: Concat(.,CCsuf)
+# endif
+#endif
+
+#define _CompileObj(target, options) @@\
+target @@\
+ _DebuggedObjCompile(options) @@\
+ _ProfiledObjCompile(options) @@\
+ _NormalObjCompile(options) @@\
+ _ExtraObjCompile(options) @@\
+ _SharedObjCompile(options)
+
+#ifndef SeparateSharedCompile
+# define _CompileObjSeparateOpts(target,staticopts,sharedopts) \
+ _CompileObj(target,sharedopts)
+#else
+# define _CompileObjSeparateOpts(target,staticopts,sharedopts) @@\
+target @@\
+ _DebuggedObjCompile(staticopts) @@\
+ _ProfiledObjCompile(staticopts) @@\
+ _NormalObjCompile(staticopts) @@\
+ _ExtraObjCompile(staticopts) @@\
+ _SharedObjCompile(sharedopts)
+#endif
+
+#ifdef CplusplusSource
+# define _CompileObjCplusplus(target, options) @@\
+target @@\
+ _DebuggedObjCplusplusCompile(options) @@\
+ _ProfiledObjCplusplusCompile(options) @@\
+ _NormalObjCplusplusCompile(options) @@\
+ _ExtraObjCplusplusCompile(options) @@\
+ _SharedObjCplusplusCompile(options)
+#else
+# define _CompileObjCplusplus(target, options)
+#endif
+
+#ifndef LibraryObjectRule
+# define LibraryObjectRule() @@\
+all:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _NormalLibMkdir() @@\
+ _ExtraLibMkdir() @@\
+ @@\
+includes:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _NormalLibMkdir() @@\
+ _ExtraLibMkdir() @@\
+ @@\
+_CompileObj(.c.Osuf:,$(_NOOP_)) @@\
+_CompileObjCplusplus(.SRCsuf.Osuf:,$(_NOOP_)) @@\
+ @@\
+clean:: @@\
+ _DebuggedCleanDir() @@\
+ _ProfiledCleanDir() @@\
+ _NormalCleanDir() @@\
+ _ExtraCleanDir() @@\
+
+#endif /* LibraryObjectRule */
+
+#ifndef SpecialLibObjectRule
+# define SpecialLibObjectRule(objs,depends,options) @@\
+_CompileObj(objs: depends,options)
+#endif /* SpecialLibObjectRule */
+
+#ifndef SpecialCLibObjectRule
+# define SpecialCLibObjectRule(basename,depends,options) @@\
+_CompileObj(basename.Osuf: basename.SRCsuf depends,options) @@\
+ @@\
+basename.Isuf: basename.SRCsuf depends @@\
+ CPPOnlyCompile(basename.SRCsuf,options) @@\
+ @@\
+CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
+#endif /* SpecialCLibObjectRule */
+
+#ifndef SpecialCLibObjectRuleSeparateOpts
+# define SpecialCLibObjectRuleSeparateOpts(basename,depends,staticopts,shopts) @@\
+_CompileObjSeparateOpts(basename.Osuf: basename.SRCsuf depends,staticopts,shopts) @@\
+ @@\
+basename.Isuf: basename.SRCsuf depends @@\
+ CPPOnlyCompile(basename.SRCsuf,sharedopts) @@\
+ @@\
+CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
+#endif /* SpecialCLibObjectRuleSepareateOpts */
+
+#ifndef SpecialCplusplusLibObjectRule
+# define SpecialCplusplusLibObjectRule(basename,depends,options) @@\
+_CompileObjCplusplus(basename.Osuf: basename.SRCsuf depends,options) @@\
+ @@\
+CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
+#endif /* SpecialCplusplusLibObjectRule */
+
+/*
+ * ToolkitMakeStrings generates a string-table, i.e., a C source
+ * file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
+ * and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
+ *
+ * The 'files' argument is the list of files that will be produced by
+ * this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
+ * and for Motif they would be "XmStrDefs.c XmStrDefs.h".
+ *
+ * The 'source' argument is the string-list file to be parsed, e.g., in
+ * Xt that would be "util/string.list". For Motif 2.0 it would be
+ * "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
+ * "util/xmstring.list".
+ *
+ * The 'options' argument is passed by the library's Imakefile, see the
+ * Xt Imakefile for an example. Typically this would be nothing, -intelabi,
+ * or -sparcabi; there are other choices, but these are typical.
+ *
+ * The 'depends' argument names additional files the target files
+ * depend on. It should name the #ctmpl and #htmpl files from the
+ * 'source' file.
+ *
+ * The 'dest' argument is the C source output file. For Xt this should
+ * be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
+ *
+ * Headers are generated and named according to data in the 'source'
+ * file.
+ */
+/*
+ * The NoCmpScript
+ * prevents clearmake from trying to remake makestrs if it exists.
+ * Including both $(MAKESTRS) and $(MAKESTRS).o as primary targets
+ * prevents clearmake from trying to recompile makestrs from here.
+ * We have includes, not files, depend on makestrs to try to get
+ * clearmake to wink in the files. Bug in clearmake 2.0.2?
+ */
+
+#ifndef MakeStringsDependency
+# ifndef UseInstalled
+# define MakeStringsDependency @@\
+MAKESTRS = $(CONFIGSRC)/util/makestrs @@\
+NoCmpScript(HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf) @@\
+ @@\
+HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf: @@\
+ cd $(CONFIGSRC)/util && $(MAKE) HostProgramTargetName(makestrs) @@\
+ @@\
+includes:: HostProgramTargetName($(MAKESTRS))
+# else
+# define MakeStringsDependency /**/
+# endif
+#endif
+
+#ifndef ToolkitMakeStrings
+# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
+# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
+files: source depends @@\
+ RemoveFiles(files) @@\
+ RunProgram(MAKESTRS,options < source > dest) @@\
+ @@\
+AllTarget(files) @@\
+ @@\
+includes:: files @@\
+ @@\
+depend:: files @@\
+ @@\
+clean:: @@\
+ RemoveFiles(files)
+# else
+# define ToolkitMakeStrings(files,source,options,depends,dest) @@\
+MakeStringsDependency @@\
+ @@\
+files: source depends @@\
+ RemoveFiles(files) @@\
+ RunProgram(MAKESTRS,options < source > dest) @@\
+ @@\
+AllTarget(files) @@\
+ @@\
+includes:: files @@\
+ @@\
+depend:: files @@\
+ @@\
+clean:: @@\
+ RemoveFiles(files)
+# endif
+#endif /* ToolkitMakeStrings */
+
+#ifdef LibName
+
+LIBNAME = LibName
+
+# if defined(LibTookitMakeStringsDependency) && LibTookitMakeStringsDependency
+/*
+ * Do ToolkitMakeStrings() before BuildIncludes so makestrs is still
+ * built first, even if the generated header will be installed.
+ */
+MakeStringsDependency
+# endif
+
+LibraryObjectRule()
+
+# undef _LinkBuildLibrary
+# if !defined(LibInstall) || LibInstall || LibInstallBuild
+# define _LinkBuildLibrary(lib) LinkBuildLibrary(lib)
+# else
+# define _LinkBuildLibrary(lib) $(_NULLCMD_)
+# endif
+
+# if defined(LibBuild) && !LibBuild
+# define LibCreate NO
+# endif
+
+# if !defined(LibCreate) || LibCreate
+# if DoSharedLib
+# if HugeLibrary && defined(SharedLibraryTarget3)
+SharedLibraryTarget3($(LIBNAME),$(SoRev),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRASHAREDOBJS),.,.)
+# else
+# if defined(SharedLibtoolRev) && defined(SharedLibtoolLibraryTarget)
+SharedLibtoolLibraryTarget($(LIBNAME),SharedLibtoolRev,$(OBJS) $(EXTRASHAREDOBJS),.,.)
+# else
+SharedLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRASHAREDOBJS),.,.)
+# endif
+# endif
+# if !defined(LibInstall) || LibInstall
+# if defined(SharedLibtoolRev) && defined(InstallSharedLibtoolLibrary)
+InstallSharedLibtoolLibrary($(LIBNAME),SharedLibtoolRev,$(SHLIBDIR))
+# else
+InstallSharedLibrary($(LIBNAME),$(SoRev),$(SHLIBDIR))
+# endif
+# endif
+# if HasSharedData
+SharedLibraryDataTarget($(LIBNAME),$(SoRev),$(UNSHAREDOBJS))
+# if !defined(LibInstall) || LibInstall
+InstallSharedLibraryData($(LIBNAME),$(SoRev),$(SHLIBDIR))
+# endif
+# endif
+# endif
+# if DoNormalLib
+# if HugeLibrary
+# if DoSharedLib && SeparateSharedCompile
+UnsharedLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS),unshared,..)
+# else
+NormalLibraryTarget3($(LIBNAME),$(OBJS1),$(OBJS2),$(OBJS3) $(EXTRAUNSHAREDOBJS))
+# endif
+# else
+# if DoSharedLib && SeparateSharedCompile
+UnsharedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS),unshared,..)
+# else
+NormalLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
+# endif
+# endif
+# if !defined(LibInstall) || LibInstall
+InstallLibrary($(LIBNAME),$(USRLIBDIR))
+# endif
+# endif
+# if DoProfileLib
+ProfiledLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
+# if !defined(LibInstall) || LibInstall
+InstallLibrary($(LIBNAME)_p,$(USRLIBDIR))
+# endif
+# endif
+# if DoDebugLib
+DebuggedLibraryTarget($(LIBNAME),$(OBJS) $(EXTRAUNSHAREDOBJS))
+# if !defined(LibInstall) || LibInstall
+InstallLibrary($(LIBNAME)_d,$(USRLIBDIR))
+# endif
+# endif
+# if DoExtraLib && defined(ExtraLibRules)
+ExtraLibraryTarget($(LIBNAME),$(SoRev),$(OBJS) $(EXTRAUNSHAREDOBJS))
+# if !defined(LibInstall) || LibInstall
+ExtraInstallLibrary($(LIBNAME),$(SoRev))
+# endif
+# endif
+
+LintLibraryTarget($(LIBNAME),$(SRCS))
+# if !defined(LibInstall) || LibInstall
+InstallLintLibrary($(LIBNAME),$(LINTLIBDIR))
+# endif
+# else /* not LibCreate */
+# if LibBuild
+# if HugeLibrary
+AllTarget($(OBJS1))
+AllTarget($(OBJS2))
+AllTarget($(OBJS3))
+# else
+AllTarget($(OBJS))
+# endif
+# if DoSharedLib
+AllTarget($(EXTRASHAREDOBJS))
+# endif
+# if DoNormalLib
+AllTarget($(EXTRAUNSHAREDOBJS))
+# endif
+# endif /* LibBuild */
+# endif /* LibCreate */
+# ifdef IncSubdir
+# ifdef IncSubSubdir
+# if !defined(LibHeaders) || LibHeaders
+BuildIncludes($(HEADERS),IncSubdir/IncSubSubdir,../..)
+# if BuildLibraries
+InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir/IncSubSubdir,$(INSTINCFLAGS))
+# endif
+# endif
+# else
+# if !defined(LibHeaders) || LibHeaders
+BuildIncludes($(HEADERS),IncSubdir,..)
+# if BuildLibraries
+InstallMultipleFlags($(HEADERS),$(INCDIR)/IncSubdir,$(INSTINCFLAGS))
+# endif
+# endif
+# endif
+# else
+# ifndef CplusplusSource
+# if !defined(LibHeaders) || LibHeaders
+BuildIncludesTop($(HEADERS))
+# if BuildLibraries
+InstallMultipleFlags($(HEADERS),$(INCDIR),$(INSTINCFLAGS))
+# endif
+# endif
+# endif
+# endif
+
+NormalLintTarget($(SRCS))
+#endif /* defined(LibName) */
+
+#ifdef NoSoSymlink
+SOSYMLINK = false
+#else
+SOSYMLINK = true
+#endif
diff --git a/nx-X11/config/cf/Mips.cf b/nx-X11/config/cf/Mips.cf
new file mode 100644
index 000000000..cf0446510
--- /dev/null
+++ b/nx-X11/config/cf/Mips.cf
@@ -0,0 +1,72 @@
+/*
+ * Set version numbers before making makefiles.
+ *
+ * X11r5 only builds using the berkeley libraries and compiler. Make
+ * sure your path includes /bsd43/bin before /bin/ or /usr/bin.
+ */
+
+#ifndef OSName
+#define OSName RISCOS
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 50
+#endif
+
+XCOMM platform: $Xorg: Mips.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+XCOMM operating system: OSName
+
+/***************************************************************************
+ * Platform-specific parameters *
+ ***************************************************************************/
+
+#define HasVoidSignalReturn NO
+#define SetTtyGroup YES
+#define UnalignedReferencesAllowed NO /* if arbitrary deref okay */
+#define HasBsearch NO
+
+#define MipsArchitecture
+#define MakeEnv -e
+
+#define DefaultCCOptions -signed -systype bsd43 -Olimit 2000 -Wf,-XNd8400,-XNp12000
+#define StandardDefines -DMips -DBSD43
+#define PostIncDir /usr/include/bsd43
+#define ExtraLibraries -lmld
+#define ArCmd ar clr
+#define BootstrapCFlags -DMips
+#define InstallCmd /etc/mipsinstall -f
+#define MakeCmd make MakeEnv
+#define DoRanlibCmd NO
+#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+
+/***************************************************************************
+ * *
+ * DEFINE PARAMETERS FOR BUILDING *
+ * *
+ ***************************************************************************/
+
+#define XmipsServer YES
+
+/***************************************************************************
+ * *
+ * OVERRIDE ANY CONFIGURATION PARAMETERS FROM Imake.tmpl *
+ * *
+ ***************************************************************************/
+
+#define SpecialMalloc NO
+
+#define PrimaryScreenResolution 110
+
+#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
+
+#define DefaultUserPath /usr/net:/bin:/usr/bin:$(BINDIR):/usr/ucb
+#define DefaultSystemPath /usr/net:/bin:/usr/bin:/etc:$(BINDIR):/usr/ucb
+
+/* mips manuals are really complicated. This certainly won't work. */
+
+#define ManDirectoryRoot /man/cat
+#define ManSourcePath $(MANPATH)/man
+
+#define InstKmemFlags -g sys -m 2711
diff --git a/nx-X11/config/cf/Motif.rules b/nx-X11/config/cf/Motif.rules
new file mode 100644
index 000000000..283ce6ca6
--- /dev/null
+++ b/nx-X11/config/cf/Motif.rules
@@ -0,0 +1,709 @@
+/*
+ * @OSF_COPYRIGHT@
+ * COPYRIGHT NOTICE
+ * Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
+ * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
+ * the full copyright text.
+ *
+ * (c) Copyright 1996 Digital Equipment Corporation.
+ * (c) Copyright 1996 Hewlett-Packard Company.
+ * (c) Copyright 1996 International Business Machines Corp.
+ * (c) Copyright 1996 Sun Microsystems, Inc.
+ * (c) Copyright 1996 Novell, Inc.
+ * (c) Copyright 1996 FUJITSU LIMITED.
+ * (c) Copyright 1996 Hitachi.
+ */
+XCOMM $Xorg: Motif.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+/* Note whether we are the top level project. */
+#ifndef SeenTopLevelProject
+# define SeenTopLevelProject YES
+# define MotifIsTopLevelProject YES
+#else
+# define MotifIsTopLevelProject NO
+#endif
+
+/* Include the X11 project rules file. */
+#include <X11.rules>
+
+
+/* Use the in-tree Motif by default. */
+#ifndef UseInstalledMotif
+# define UseInstalledMotif NO
+#endif
+#ifdef UseInstalled
+# undef UseInstalledMotif
+# define UseInstalledMotif YES
+#endif
+
+#ifndef ImportMotif
+# ifdef UseImports
+# define ImportMotif YES
+# else
+# define ImportMotif NO
+# endif
+#endif
+#if UseInstalledMotif
+# undef ImportMotif
+# define ImportMotif NO
+#endif
+
+#ifndef MSimpleProgramTarget
+#define MSimpleProgramTarget(program) @@\
+AllTarget(program) @@\
+ @@\
+program: program.o $(DEPS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean:: @@\
+ $(RM) program
+#endif
+
+#ifndef MSimpleUilTarget
+#define MSimpleUilTarget(program) @@\
+MSimpleProgramTarget(program) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+ @@\
+MSimpleUidTarget(program)
+#endif
+
+/*
+ * UILFLAGS contains site/vendor-specific flags
+ * defined by UilFlags, which supposed to be set in *.cf or
+ * site.def files.
+ * LOCAL_UILFLAGS(_n) contains client-specific uil flags set in Imakefile
+ */
+
+#ifndef MSimpleUidTarget
+#define MSimpleUidTarget(program) @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: program.uil $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MSimpleUidLocaleTarget
+#define MSimpleUidLocaleTarget(program,locale) @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: program.uil $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(LIBDIR)/locale/uid) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_1
+#define MComplexUidTarget_1(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS1) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_1) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_2
+#define MComplexUidTarget_2(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS2) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_2) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_3
+#define MComplexUidTarget_3(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS3) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_3) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_4
+#define MComplexUidTarget_4(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS4) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_4) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_5
+#define MComplexUidTarget_5(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS5) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_5) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_6
+#define MComplexUidTarget_6(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS6) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_6) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_7
+#define MComplexUidTarget_7(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS7) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_7) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_8
+#define MComplexUidTarget_8(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS8) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_8) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_9
+#define MComplexUidTarget_9(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS9) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_9) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexUidTarget_10
+#define MComplexUidTarget_10(program) @@\
+ @@\
+AllTarget(program.uid) @@\
+ @@\
+program.uid: $(UILS10) $(DEPUIL) @@\
+ RemoveTargetProgram($@) @@\
+ $(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_10) -o $@ program.uil $(UIL_INCLUDES) @@\
+ @@\
+InstallNonExecFile(program.uid,$(UIDDIR)) @@\
+ @@\
+clean:: @@\
+ $(RM) program.uid
+#endif
+
+#ifndef MComplexProgramTarget
+#define MComplexProgramTarget(program,locallib,syslib) @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+ @@\
+install.man:: @@\
+ @echo To install documentation for $(PROGRAM), consult the Release Notes @@\
+ @echo and/or README file in the current directory. @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ $(RM) $(PROGRAM)
+#endif
+
+#ifndef MComplexProgramTarget_1
+#define MComplexProgramTarget_1(program,locallib,syslib) @@\
+ OBJS = $(OBJS1) $(OBJS2) $(OBJS3) @@\
+ SRCS = $(SRCS1) $(SRCS2) $(SRCS3) @@\
+ @@\
+AllTarget($(PROGRAMS)) @@\
+ @@\
+program: $(OBJS1) $(DEPLIBS1) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+ @@\
+install.man:: @@\
+ @echo To install documentation for $(PROGRAMS), consult the Release Notes @@\
+ @echo and/or README file in the current directory. @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ $(RM) $(PROGRAMS)
+#endif
+
+#ifndef MComplexProgramTarget_2
+#define MComplexProgramTarget_2(program,locallib,syslib) @@\
+program: $(OBJS2) $(DEPLIBS2) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_3
+#define MComplexProgramTarget_3(program,locallib,syslib) @@\
+ PROGRAM_3 = program @@\
+program: $(OBJS3) $(DEPLIBS3) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_4
+#define MComplexProgramTarget_4(program,locallib,syslib) @@\
+ PROGRAM_4 = program @@\
+program: $(OBJS4) $(DEPLIBS4) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS4) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS4),$(OBJS4),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_5
+#define MComplexProgramTarget_5(program,locallib,syslib) @@\
+ PROGRAM_5 = program @@\
+program: $(OBJS5) $(DEPLIBS5) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS5) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS5),$(OBJS5),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_6
+#define MComplexProgramTarget_6(program,locallib,syslib) @@\
+ PROGRAM_6 = program @@\
+program: $(OBJS6) $(DEPLIBS6) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS6) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS6),$(OBJS6),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_7
+#define MComplexProgramTarget_7(program,locallib,syslib) @@\
+ PROGRAM_7 = program @@\
+program: $(OBJS7) $(DEPLIBS7) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS7) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS7),$(OBJS7),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_8
+#define MComplexProgramTarget_8(program,locallib,syslib) @@\
+ PROGRAM_8 = program @@\
+program: $(OBJS8) $(DEPLIBS8) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS8) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS8),$(OBJS8),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifndef MComplexProgramTarget_9
+#define MComplexProgramTarget_9(program,locallib,syslib) @@\
+ PROGRAM_9 = program @@\
+program: $(OBJS9) $(DEPLIBS9) @@\
+ RemoveTargetProgram($@) @@\
+ $(CC) -o $@ $(LDOPTIONS) $(OBJS9) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS9),$(OBJS9),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR))
+#endif
+
+#ifdef AUTOMATION
+#ifndef TestPPTarget
+#define TestPPTarget(root) @@\
+all:: root.Scr root.Dat @@\
+ @@\
+root.Dat: root.dat @@\
+ $(RM) root.Dat @@\
+ $(COMMONPP) $(DEFINES) root.dat @@\
+root.Scr: root.scr @@\
+ $(RM) root.Scr @@\
+ $(COMMONPP) $(DEFINES) root.scr
+#endif
+#else
+#ifndef TestPPTarget
+#define TestPPTarget(root) @@\
+all:: root.Dat @@\
+ @@\
+root.Dat: root.dat @@\
+ $(RM) root.Dat @@\
+ $(COMMONPP) $(DEFINES) root.dat
+#endif
+#endif
+
+#ifdef AUTOMATION
+#ifndef TestPPTargetScr
+#define TestPPTargetScr(root) @@\
+all:: root.Scr @@\
+ @@\
+root.Scr: root.scr @@\
+ $(RM) root.Scr @@\
+ $(COMMONPP) $(DEFINES) root.scr
+#endif
+#else
+#ifndef TestPPTargetScr
+#define TestPPTargetScr(root) /**/
+#endif
+#endif
+
+#ifdef AUTOMATION
+#ifndef TestPPTargetDat
+#define TestPPTargetDat(root) @@\
+all:: root.Dat @@\
+ @@\
+root.Dat: root.dat @@\
+ $(RM) root.Dat @@\
+ $(COMMONPP) $(DEFINES) root.dat
+#endif
+#endif
+#ifndef AUTOMATION
+#ifndef TestPPTargetDat
+#define TestPPTargetDat(root) @@\
+all:: root.Dat @@\
+ @@\
+root.Dat: root.dat @@\
+ $(RM) root.Dat @@\
+ $(COMMONPP) $(DEFINES) root.dat
+#endif
+#endif
+
+
+#ifndef NO_AUTOMATION
+#ifndef RunTarget
+#define RunTarget() @@\
+all:: RUN @@\
+ @@\
+RUN: always @@\
+ $(GENRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
+ @@\
+always: @@\
+ $(RM) RUN
+#endif
+#else
+#ifdef UseVista
+#ifndef RunTarget
+#define RunTarget() @@\
+all:: RUN @@\
+ @@\
+RUN: always @@\
+ $(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
+ @@\
+always: @@\
+ $(RM) RUN
+#endif
+#else
+#ifdef UsePurify
+#ifndef RunTarget
+#define RunTarget() @@\
+all:: RUN @@\
+ @@\
+RUN: always @@\
+ $(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES) @@\
+ @@\
+always: @@\
+ $(RM) RUN
+#endif
+#else
+#ifndef RunTarget
+#define RunTarget() @@\
+all:: RUN @@\
+ @@\
+RUN: always @@\
+ @@\
+always: @@\
+
+#endif
+#endif
+#endif
+#endif
+#ifdef UseVista
+#ifndef VistaMapRule
+#define VistaMapRule(targetmap,depend) @@\
+all:: targetmap @@\
+ @@\
+targetmap: depend @@\
+ $(RM) $(MTOP)/tests/Vista/targetmap @@\
+ CATCMD *.M > $(MTOP)/tests/Vista/targetmap
+#endif
+#ifndef ComplexVistaMapRule
+#define ComplexVistaMapRule(program,filelist) @@\
+all:: program.M @@\
+ @@\
+program.M: filelist @@\
+ $(RM) program.vista.tmpfile @@\
+ touch program.vista.tmpfile @@\
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; @@\
+ @for i in filelist; do \ @@\
+ cat `basename $$i .o`.M >> program.vista.tmpfile ; done @@\
+ $(RM) program.M @@\
+ $(MV) program.vista.tmpfile program.M @@\
+ @@\
+clean:: @@\
+ $(RM) *.M
+#endif
+
+#endif
+
+/* Rule for making shadow trees. */
+#ifndef MakeShadowTree
+#define MakeShadowTree(name,dirs) @@\
+all:: @@\
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; @@\
+ MakeDir(name) @@\
+ @for i in dirs; \ @@\
+ do if [ -d $$i/name ]; then \ @@\
+ exit 0; else set -x; mkdir $$i/name; fi \ @@\
+ done @@\
+ @for i in dirs; \ @@\
+ do if [ -r name/$$i ]; then \ @@\
+ set +x; \ @@\
+ else (set -x; $(LN) ../$$i/name name/$$i); fi \@@\
+ done
+#endif
+
+#ifdef BuildPlusPlus
+
+/* Rules for C++ */
+
+/*
+ * "CPlusPlusObjectCompile" - compile fragment for a normal C++ object file
+*/
+#ifndef CPlusPlusObjectCompile
+#define CPlusPlusObjectCompile(options) $(RM) $@ @@\
+ $(CPLUSPLUSCOM) -c $(CPLUSPLUSFLAGS) options $*.cxx
+#endif
+
+#ifndef CPlusPlusObjectRule
+#define CPlusPlusObjectRule() @@\
+.cxx.o: @@\
+ CPlusPlusObjectCompile($(_NOOP_))
+#endif /* CPlusPlusObjectRule */
+
+#ifndef MCPlusPlusSimpleProgramTarget
+#define MCPlusPlusSimpleProgramTarget(program) @@\
+AllTarget(program) @@\
+ @@\
+program: program.o $(DEPS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ $(CPLUSPLUSLINKCOM) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(CPLUSPLUSLIBS) $(LDLIBS) $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+clean:: @@\
+ $(RM) program
+#endif
+
+#ifndef MCPlusPlusComplexProgramTarget
+#define MCPlusPlusComplexProgramTarget(program,locallib,syslib) @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ $(CPLUSPLUSLINKCOM) -o $@ $(LDOPTIONS) $(OBJS) locallib $(CPLUSPLUSLIBS) $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS) @@\
+ @@\
+CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+ @@\
+install.man:: @@\
+ @echo To install documentation for $(PROGRAM), consult the Release Notes @@\
+ @echo and/or README file in the current directory. @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ $(RM) $(PROGRAM)
+#endif
+
+#endif /* BuildPlusPlus */
+
+/* Rules for message catalog building */
+#ifndef Real_MessageCatalogRule
+#define Real_MessageCatalogRule(prefix) @@\
+prefix.cat Concat(prefix,MsgCatI.h): @@\
+ $(RM) Concat(prefix,MsgCatI.h) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
+ $(MKCATTOOL) Concat(prefix,MsgCatI.h) prefix.msg > $(MLOCSRC)/C/msg/prefix.msg @@\
+ $(GENCAT) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
+ @@\
+includes:: prefix.cat Concat(prefix,MsgCatI.h) @@\
+ @@\
+depend:: prefix.cat Concat(prefix,MsgCatI.h) @@\
+ @@\
+all:: prefix.cat @@\
+ @@\
+clean:: @@\
+ $(RM) prefix.cat Concat(prefix,MsgCatI.h)
+#endif
+#define Stub_MessageCatalogRule(prefix) /**/
+
+
+/* The X BuildLibDir is now an import, not an export. */
+#if UseImports || ImportX11
+# ifndef XBuildLibDir
+# define XBuildLibDir $(TOP)/imports/x11/lib
+# endif
+#endif
+
+
+/* Search the Motif ProjectRoot too if it is different. */
+#ifdef MotifProjectRoot
+# define MUsrLibDirPath Concat(XUsrLibDirPath,:$(MPROJECTROOT)/lib)
+#else
+# define MUsrLibDirPath XUsrLibDirPath
+#endif
+#ifdef UsrLibDirPath
+# undef UsrLibDirPath
+#endif
+#define UsrLibDirPath MUsrLibDirPath
+
+#if ImportMotif
+# define MLdPreLibs -L$(MLIBSRC)
+#elif defined(UseInstalledMotif) && defined(MotifProjectRoot)
+# define MLdPreLibs -L$(MPROJECTROOT)/lib
+#else
+# define MLdPreLibs /**/
+#endif
+#ifdef LdPreLibs
+# undef LdPreLibs
+#endif
+#define LdPreLibs LdPreLib MLdPreLibs XLdPreLibs
+
+#ifdef LdPostLibs
+# undef LdPostLibs
+#endif
+#ifdef MotifProjectRoot
+# define MLdPostLibs -L$(MPROJECTROOT)/lib
+#else
+# define MLdPostLibs /**/
+#endif
+#define LdPostLibs LdPostLib MLdPostLibs XLdPostLibs
+
+#ifdef TopIncludes
+# undef TopIncludes
+#endif
+#define TopIncludes TopInclude $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
+
+#if UseInstalledMotif && defined(MotifProjectRoot)
+# define MotifBuildLibPath $(MPROJECTROOT)/lib
+#elif UseInstalledMotif
+# define MotifBuildLibPath $(USRLIBDIR)
+#elif ImportMotif
+# define MotifBuildLibPath $(MLIBSRC)
+#else
+# define MotifBuildLibPath $(TOP)/exports/lib
+#endif
+#ifdef BuildLibPath
+# undef BuildLibPath
+#endif
+#ifdef SystemBuildLibPath
+# define BuildLibPath $(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
+#else
+# define BuildLibPath $(MOTIFENVLIBDIR):$(XENVLIBDIR)
+#endif
+
+#ifndef MotifProjectDefines
+# define MotifProjectDefines MotifDefines MessageCatalogDefines
+#endif
+#ifdef ProjectDefines
+# undef ProjectDefines
+#endif
+#define ProjectDefines X11ProjectDefines MotifProjectDefines
+
+#ifndef MotifCplusplusProjectDefines
+# define MotifCplusplusProjectDefines MotifProjectDefines
+#endif
+#ifdef CplusplusProjectDefines
+# undef CplusplusProjectDefines
+#endif
+#define CplusplusProjectDefines \
+ X11CplusplusProjectDefines MotifCplusplusProjectDefines
diff --git a/nx-X11/config/cf/Motif.tmpl b/nx-X11/config/cf/Motif.tmpl
new file mode 100644
index 000000000..d4b7d3a49
--- /dev/null
+++ b/nx-X11/config/cf/Motif.tmpl
@@ -0,0 +1,573 @@
+/*
+ * @OSF_COPYRIGHT@
+ * COPYRIGHT NOTICE
+ * Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
+ * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
+ * the full copyright text.
+ *
+ * (c) Copyright 1996 Digital Equipment Corporation.
+ * (c) Copyright 1996 Hewlett-Packard Company.
+ * (c) Copyright 1996 International Business Machines Corp.
+ * (c) Copyright 1996 Sun Microsystems, Inc.
+ * (c) Copyright 1996 Novell, Inc.
+ * (c) Copyright 1996 FUJITSU LIMITED.
+ * (c) Copyright 1996 Hitachi.
+ */
+XCOMM $Xorg: Motif.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+/* Include the X11 project template file. */
+#include <X11.tmpl>
+
+#ifdef AUTOMATION
+# ifndef Automation
+# define Automation YES
+# endif
+#else
+# define NO_AUTOMATION
+#endif
+
+#ifdef USE_VISTACC
+# ifndef UseVista
+# define UseVista
+# endif
+# ifndef CATCMD
+# define CATCMD cat
+# endif
+#endif
+
+#ifdef USE_PURIFY
+# ifndef UsePurify
+# define UsePurify
+# endif
+#endif
+
+#ifdef DEBUG_GEOMETRY
+# ifndef DebugGeometry
+# define DebugGeometry YES
+# endif
+#endif
+
+
+#ifndef _MUse
+# if UseInstalledMotif
+# define _MUse(a,b) a
+# else
+# define _MUse(a,b) b
+# endif
+#endif
+
+#ifndef _MUseCat
+# if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+# if UseInstalledMotif
+# define _MUseCat(a,b,c) a##c
+# else
+# define _MUseCat(a,b,c) b##c
+# endif
+# else
+# if UseInstalledMotif
+# define _MUseCat(a,b,c) a/**/c
+# else
+# define _MUseCat(a,b,c) b/**/c
+# endif
+# endif
+#endif
+
+#ifndef MTop
+# if ImportMotif
+# define MTop $(TOP)/imports/motif
+# else
+# define MTop $(TOP)
+# endif
+#endif
+
+#ifndef BuildDocDir
+# define BuildDocDir $(BUILDINCROOT)/doc
+#endif
+#ifndef BuildLocDir
+# define BuildLocDir $(BUILDINCROOT)/localized
+#endif
+
+#ifndef MotifDefines
+# define MotifDefines /**/
+#endif
+
+#ifndef XmDefines
+# define XmDefines /**/
+#endif
+
+/* To compile without SHAPE extension, set this to -DNO_SHAPE */
+#ifndef MwmDefines
+# define MwmDefines /**/
+#endif
+
+#ifndef UilFlags
+# define UilFlags /**/
+#endif
+
+#ifndef TestDefines
+# define TestDefines /**/
+#endif
+
+#ifndef AutoDefines
+# if Automation
+# define AutoDefines -DAUTOMATION
+# else
+# define AutoDefines /**/
+# endif
+#endif
+
+#ifndef AutoIncludes
+# if Automation
+# define AutoIncludes -I$(AUTOSCRIPTSRC)
+# else
+# define AutoIncludes /**/
+# endif
+#endif
+
+#ifdef UsePurify
+# define PurifyFilesToClean *.pure_linkinfo *.pure_hardlink
+#else
+# define PurifyFilesToClean
+#endif
+#if Automation
+# define TestExtraFilesToClean *.Dat *.Scr PurifyFilesToClean
+#else
+# define TestExtraFilesToClean *.Dat PurifyFilesToClean
+#endif
+
+#ifndef UsrIncDir
+# define UsrIncDir IncRoot
+#endif
+
+/* Place to install .uid files */
+#ifndef UidDir
+# define UidDir $(LIBDIR)/uid
+#endif
+
+#ifndef XmExtraLibraries
+# define XmExtraLibraries /**/
+#endif
+
+#ifndef YaccFlags
+# define YaccFlags /**/
+#endif
+
+#define MotifSharedRev 2.1
+
+#ifndef SharedLibXm
+# define SharedLibXm HasSharedLibraries
+#endif
+#ifndef NormalLibXm
+# define NormalLibXm (!SharedLibXm | ForceNormalLib)
+#endif
+#ifndef DebugLibXm
+# define DebugLibXm NO
+#endif
+#ifndef ProfileLibXm
+# define ProfileLibXm NO
+#endif
+#ifndef SharedXmRev
+# define SharedXmRev MotifSharedRev
+#endif
+
+#ifndef SharedLibMrm
+# define SharedLibMrm HasSharedLibraries
+#endif
+#ifndef NormalLibMrm
+# define NormalLibMrm (!SharedLibMrm | ForceNormalLib)
+#endif
+#ifndef DebugLibMrm
+# define DebugLibMrm NO
+#endif
+#ifndef ProfileLibMrm
+# define ProfileLibMrm NO
+#endif
+#ifndef SharedMrmRev
+# define SharedMrmRev MotifSharedRev
+#endif
+
+#ifndef SharedLibUil
+# define SharedLibUil HasSharedLibraries
+#endif
+#ifndef NormalLibUil
+# define NormalLibUil (!SharedLibUil | ForceNormalLib)
+#endif
+#ifndef DebugLibUil
+# define DebugLibUil NO
+#endif
+#ifndef ProfileLibUil
+# define ProfileLibUil NO
+#endif
+#ifndef SharedUilRev
+# define SharedUilRev MotifSharedRev
+#endif
+
+#ifndef SharedLibACommon
+# define SharedLibACommon HasSharedLibraries
+#endif
+#ifndef NormalLibACommon
+# define NormalLibACommon (!SharedLibACommon | ForceNormalLib)
+#endif
+#ifndef DebugLibACommon
+# define DebugLibACommon NO
+#endif
+#ifndef ProfileLibACommon
+# define ProfileLibACommon NO
+#endif
+#ifndef SharedACommonRev
+# define SharedACommonRev MotifSharedRev
+#endif
+
+#ifndef SharedLibScript
+# define SharedLibScript HasSharedLibraries
+#endif
+#ifndef NormalLibScript
+# define NormalLibScript (!SharedLibScript | ForceNormalLib)
+#endif
+#ifndef DebugLibScript
+# define DebugLibScript NO
+#endif
+#ifndef ProfileLibScript
+# define ProfileLibScript NO
+#endif
+#ifndef SharedScriptRev
+# define SharedScriptRev MotifSharedRev
+#endif
+
+#ifndef SharedLibUtil
+# define SharedLibUtil HasSharedLibraries
+#endif
+#ifndef NormalLibUtil
+# define NormalLibUtil (!SharedLibUtil | ForceNormalLib)
+#endif
+#ifndef DebugLibUtil
+# define DebugLibUtil NO
+#endif
+#ifndef ProfileLibUtil
+# define ProfileLibUtil NO
+#endif
+#ifndef SharedUtilRev
+# define SharedUtilRev MotifSharedRev
+#endif
+
+#ifndef SharedLibCreate
+# define SharedLibCreate HasSharedLibraries
+#endif
+#ifndef NormalLibCreate
+# define NormalLibCreate (!SharedLibCreate | ForceNormalLib)
+#endif
+#ifndef DebugLibCreate
+# define DebugLibCreate NO
+#endif
+#ifndef ProfileLibCreate
+# define ProfileLibCreate NO
+#endif
+#ifndef SharedCreateRev
+# define SharedCreateRev MotifSharedRev
+#endif
+
+#ifndef SharedLibVisual
+# define SharedLibVisual HasSharedLibraries
+#endif
+#ifndef NormalLibVisual
+# define NormalLibVisual (!SharedLibVisual | ForceNormalLib)
+#endif
+#ifndef DebugLibVisual
+# define DebugLibVisual NO
+#endif
+#ifndef ProfileLibVisual
+# define ProfileLibVisual NO
+#endif
+#ifndef SharedVisualRev
+# define SharedVisualRev MotifSharedRev
+#endif
+
+#ifndef SharedLibSynth
+# define SharedLibSynth HasSharedLibraries
+#endif
+#ifndef NormalLibSynth
+# define NormalLibSynth (!SharedLibSynth | ForceNormalLib)
+#endif
+#ifndef DebugLibSynth
+# define DebugLibSynth NO
+#endif
+#ifndef ProfileLibSynth
+# define ProfileLibSynth NO
+#endif
+#ifndef SharedSynthRev
+# define SharedSynthRev MotifSharedRev
+#endif
+
+#ifndef SharedLibMCommon
+# define SharedLibMCommon HasSharedLibraries
+#endif
+#ifndef NormalLibMCommon
+# define NormalLibMCommon (!SharedLibMCommon | ForceNormalLib)
+#endif
+#ifndef DebugLibMCommon
+# define DebugLibMCommon NO
+#endif
+#ifndef ProfileLibMCommon
+# define ProfileLibMCommon NO
+#endif
+#ifndef SharedMCommonRev
+# define SharedMCommonRev MotifSharedRev
+#endif
+
+#ifndef XmClientLibs
+# define XmClientLibs $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(XMEXTRA_LIBS)
+#endif
+#ifndef XmClientDepLibs
+# define XmClientDepLibs $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
+#endif
+
+#ifndef MrmClientLibs
+# define MrmClientLibs $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(XMEXTRA_LIBS)
+#endif
+#ifndef MrmClientDepLibs
+# define MrmClientDepLibs $(DEPMRESOURCELIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
+#endif
+
+#ifndef UilClientLibs
+# define UilClientLibs $(UILLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(XMEXTRA_LIBS)
+#endif
+#ifndef UilClientDepLibs
+# define UilClientDepLibs $(DEPUILLIB) $(DEPMRESOURCELIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
+#endif
+
+#ifndef TestClientLibs
+# define TestClientLibs $(PURIFYLIBS) $(TESTCOMLIB) \
+ $(AUTOSCRIPTLIB) $(AUTOUTILLIB) \
+ $(AUTOCREATELIB) $(AUTOVISUALLIB) $(AUTOSYNTHLIB) \
+ $(XMLIB) $(TESTGEOLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) \
+ $(AUTOEXTRALIBS) $(XMEXTRA_LIBS)
+#endif
+#ifndef TestUilClientLibs
+# define TestUilClientLibs $(PURIFYLIBS) $(TESTUILCOMLIB) $(TESTCOMLIB) \
+ $(AUTOSCRIPTLIB) $(AUTOUTILLIB) \
+ $(AUTOCREATELIB) $(AUTOVISUALLIB) $(AUTOSYNTHLIB) \
+ $(UILLIB) $(MRESOURCELIB) $(XMLIB) $(TESTGEOLIB) \
+ $(XTOOLLIB) $(XPLIB) $(XLIB) $(AUTOEXTRALIBS) $(XMEXTRA_LIBS)
+#endif
+#ifndef TestClientDepLibs
+# define TestClientDepLibs XmClientDepLibs
+#endif
+#ifndef TestUilClientDepLibs
+# define TestUilClientDepLibs UilClientDepLibs
+#endif
+
+/* hardcoded default path. Contrary to the original duplicate of USRLIBDIR
+ in the Imakefiles. */
+#ifndef VirtualBindingsPath
+# define VirtualBindingsPath /usr/lib/Xm/bindings
+#endif
+
+ MTOP = MTop
+TOP_MOTIF_INCLUDES = -I$(MINCLUDESRC)
+#if defined(UseInstalled) || (UseInstalledMotif && UseInstalledX11)
+ UIL_INCLUDES = -I$(USRINCDIR)/uil
+#else
+ UIL_INCLUDES = -I$(UILSRC)
+#endif
+#ifdef BuildLibPathVar
+ MOTIFENVLIBDIR = MotifBuildLibPath
+#endif
+
+/* Message catalog usage */
+#ifndef GencatCmd
+# define GencatCmd gencat
+#endif
+#ifndef GencatFlags
+# define GencatFlags /**/
+#endif
+#if defined(NoMessageCatalog)
+# define BuildMessageCatalog NO
+# define MessageCatalogDefines -DNO_MESSAGE_CATALOG
+#else
+# define BuildMessageCatalog YES
+# define MessageCatalogDefines /**/
+#endif
+#ifndef MessageCatalogRule
+# if BuildMessageCatalog
+# define MessageCatalogRule(prefix) Real_MessageCatalogRule(prefix)
+# else
+# define MessageCatalogRule(prefix) Stub_MessageCatalogRule(prefix)
+# endif
+#endif
+
+ USRINCDIR = UsrIncDir
+ UIDDIR = UidDir
+ TESTSRC = $(MTOP)/tests
+ TESTLIB = $(TESTSRC)/lib
+ GENERALSRCLIB = $(TESTSRC)/General/lib
+ GENERALSRCBIN = $(TESTSRC)/General/bin
+ MANUALSRCLIB = $(TESTSRC)/Manual/lib
+ MANUALSRCBIN = $(TESTSRC)/Manual/bin
+ AUTOSRCLIB = $(TESTSRC)/Auto/lib
+ AUTOSRCBIN = $(TESTSRC)/Auto/bin
+ COMMONPP = $(GENERALSRCBIN)/Commonpp
+ GENRUN = $(GENERALSRCBIN)/Genrun
+ MANRUN = $(GENERALSRCBIN)/Manrun
+#ifdef DebugLib
+ TESTMALLOCSRC = $(GENERALSRCLIB)/Malloc
+#endif
+#ifdef DebugGeometry
+ TESTGEOSRC = $(TESTLIB)/Geometry
+#endif
+#ifdef Automation
+ TESTCOMSRC = $(AUTOSRCLIB)/Common
+ AUTOSCRIPTSRC = $(AUTOSRCLIB)/Script
+ AUTOSYNTHSRC = $(AUTOSRCLIB)/Synth
+ AUTOCREATESRC = $(AUTOSRCLIB)/Create
+ AUTOVISUALSRC = $(AUTOSRCLIB)/Visual
+ AUTOUTILSRC = $(AUTOSRCLIB)/Util
+ AUTOEXTRALIBS = -ll -ly -lm
+#else
+ TESTCOMSRC = $(MANUALSRCLIB)/Common
+#endif
+
+ BUILDDOCDIR = BuildDocDir
+ BUILDLOCDIR = BuildLocDir
+
+/* MTOOLKITSRC should be removed */
+ MTOOLKITSRC = $(TOOLKITSRC)
+#if ImportMotif || UseInstalledMotif
+ MINCLUDESRC = $(MTOP)/include
+ MDOCSRC = $(MTOP)/doc
+ MLOCSRC = $(MTOP)/localized
+#else
+ MINCLUDESRC = $(MTOP)/exports/include
+ MLOCSRC = $(MTOP)/exports/localized
+#endif
+ MLIBSRC = $(MTOP)/lib
+ MCLIENTSRC = $(MTOP)/clients
+ MDEMOSRC = $(MTOP)/demos
+ MWIDGETSRC = $(MLIBSRC)/Xm
+ MRESOURCESRC = $(MLIBSRC)/Mrm
+ UILSRC = $(MCLIENTSRC)/uil
+#ifdef MotifProjectRoot
+ MPROJECTROOT = MotifProjectRoot
+#endif
+
+ UIL = _MUse(uil,$(UILSRC)/uil)
+ DEPUIL = _MUseCat($(BINDIR),$(UILSRC),/uil)
+
+ XMEXTRA_LIBS = XmExtraLibraries
+
+/* These libraries use UseInstalledMotif instead of UseInstalled. */
+#undef _Use
+#undef _UseCat
+#define _Use _MUse
+#define _UseCat _MUseCat
+
+#ifndef MBuildLibDir
+# define MBuildLibDir BuildLibDir
+#endif
+
+#if SharedLibXm
+SharedLibReferences(XM,Xm,$(MWIDGETSRC),SOXMREV,SharedXmRev)
+#else
+ProjectUnsharedLibReferences(XM,Xm,$(MWIDGETSRC),MBuildLibDir)
+#endif
+
+#if SharedLibMrm
+SharedLibReferences(MRESOURCE,Mrm,$(MRESOURCESRC),SOMRMREV,SharedMrmRev)
+#else
+ProjectUnsharedLibReferences(MRESOURCE,Mrm,$(MRESOURCESRC),MBuildLibDir)
+#endif
+
+#if SharedLibUil
+SharedLibReferences(UIL,Uil,$(UILSRC),SOUILREV,SharedUilRev)
+#else
+ProjectUnsharedLibReferences(UIL,Uil,$(UILSRC),MBuildLibDir)
+#endif
+
+#ifdef DebugGeometry
+ProjectUnsharedLibReferences(TESTGEO,XtGeo,$(TESTGEOSRC),MBuildLibDir)
+#endif
+
+#if Automation
+
+# if SharedLibACommon
+SharedLibReferences(TESTCOM,ACommon,$(TESTCOMSRC),SOACOMMONREV,SharedACommonRev)
+# else
+ProjectUnsharedLibReferences(TESTCOM,ACommon,$(TESTCOMSRC),MBuildLibDir)
+# endif
+
+TESTUILCOMLIB = $(TESTCOMSRC)/libACommonUil.a
+
+# if SharedLibScript
+SharedLibReferences(AUTOSCRIPT,Script,$(AUTOSCRIPTSRC),SOSCRIPTREV,SharedScriptRev)
+# else
+ProjectUnsharedLibReferences(AUTOSCRIPT,Script,$(AUTOSCRIPTSRC),MBuildLibDir)
+# endif
+
+# if SharedLibSynth
+SharedLibReferences(AUTOSYNTH,Synth,$(AUTOSYNTHSRC),SOSYNTHREV,SharedSynthRev)
+# else
+ProjectUnsharedLibReferences(AUTOSYNTH,Synth,$(AUTOSYNTHSRC),MBuildLibDir)
+# endif
+
+# if SharedLibCreate
+SharedLibReferences(AUTOCREATE,Create,$(AUTOCREATESRC),SOCREATEREV,SharedCreateRev)
+# else
+ProjectUnsharedLibReferences(AUTOCREATE,Create,$(AUTOCREATESRC),MBuildLibDir)
+# endif
+
+# if SharedLibVisual
+SharedLibReferences(AUTOVISUAL,Visual,$(AUTOVISUALSRC),SOVISUALREV,SharedVisualRev)
+# else
+ProjectUnsharedLibReferences(AUTOVISUAL,Visual,$(AUTOVISUALSRC),MBuildLibDir)
+# endif
+
+# if SharedLibUtil
+SharedLibReferences(AUTOUTIL,Util,$(AUTOUTILSRC),SOUTILREV,SharedUtilRev)
+# else
+ProjectUnsharedLibReferences(AUTOUTIL,Util,$(AUTOUTILSRC),MBuildLibDir)
+# endif
+
+#else /* Manual */
+
+# if SharedLibMCommon
+SharedLibReferences(TESTCOM,MCommon,$(TESTCOMSRC),SOMCOMMONREV,SharedMCommonRev)
+# else
+ProjectUnsharedLibReferences(TESTCOM,MCommon,$(TESTCOMSRC),MBuildLibDir)
+# endif
+TESTUILCOMLIB = $(TESTCOMSRC)/libMCommonUil.a
+
+#endif /* Automation */
+
+
+/* Revert to the normal library rules. */
+#undef _Use
+#undef _UseCat
+#define _Use _XUse
+#define _UseCat _XUseCat
+
+
+#ifdef UsePurify
+ PURIFYLIBS = $(PURIFYHOME)/purify_stubs.a
+#endif
+ LINTMRESOURCE = $(MRESOURCESRC)/libMrm.a
+LINTXMWIDGETLIB = $(MWIDGETSRC)/llib-l/Xm.ln
+ LINTXMTOOL = $(MTOOLKITSRC)/llib-lXt.ln
+ LINTUILLIB = $(UILSRC)/llib-lUil.ln
+
+ YACCFLAGS = YaccFlags
+ UILFLAGS = UilFlags
+ GENCATFLAGS = GencatFlags
+ GENCAT = GencatCmd $(GENCATFLAGS)
+ MKCATTOOL = $(MLOCSRC)/util/mkcatdefs
+
+ RM_CMD = $(RM) FilesToClean ExtraFilesToClean TestExtraFilesToClean
+
+#if NeedDefaultDepLibs
+# if HasSharedLibraries || defined(UseInstalled)
+ DEPLIBS = $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
+# else
+ DEPLIBS = $(LOCAL_LIBRARIES)
+# endif
+ DEPLIBS1 = $(DEPLIBS)
+ DEPLIBS2 = $(DEPLIBS)
+ DEPLIBS3 = $(DEPLIBS)
+#endif /* NeedDefaultDepLibs */
diff --git a/nx-X11/config/cf/NetBSD.cf b/nx-X11/config/cf/NetBSD.cf
new file mode 100644
index 000000000..b41828059
--- /dev/null
+++ b/nx-X11/config/cf/NetBSD.cf
@@ -0,0 +1,692 @@
+XCOMM platform: $Xorg: NetBSD.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.122 2003/11/18 18:09:45 dawes Exp $
+
+
+#ifndef OSName
+#define OSName DefaultOSName OSBinaryType
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+
+#ifndef OSVendor
+#define OSVendor The NetBSD Foundation, Inc.
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/*
+ * C library features
+ */
+#if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 2) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
+# define HasPoll YES
+#endif
+#define HasNdbm YES
+#define HasPutenv YES
+#if OSMajorVersion == 1 && OSMinorVersion > 4 || OSMajorVersion > 1
+# define HasStrlcat YES
+#endif
+#define HasSnprintf YES
+#define HasBSD44Sockets YES
+#define Malloc0ReturnsNull NO
+#define SetTtyGroup YES
+#define DBMLibrary /**/
+#define HasDlopen YES
+#define HasSetProcTitle YES
+#ifndef HasLibCrypt
+# define HasLibCrypt YES
+#endif
+#ifndef BuildPDFdocs
+# define BuildPDFdocs NO
+#endif
+#ifndef HasShm
+# if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2
+/*
+ * Shm memory was removed in 0.9B because it was encumbered.
+ * A free version was added in 0.9C
+ */
+# define HasShm NO
+# else
+# define HasShm YES
+# endif
+#endif
+#define HasWChar32 YES
+/*
+ * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym()
+ */
+#if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2))
+# define HasDlsymBug YES
+#endif
+/* Mkstemp is there since 1.2 (at least) */
+#if (!(OSMajorVersion == 0 || \
+ (OSMajorVersion == 1 && OSMinorVersion < 2)))
+#define HasMkstemp YES
+#endif
+/* But the standalone mktemp doesn't exist before NetBSD 1.5*/
+#if (OSMajorVersion ==0 || (OSMajorVersion == 1 && OSMinorVersion <= 4))
+# define HasMktemp NO
+#else
+# define HasMktemp YES
+#endif
+
+#ifndef HasIssetugid
+# if (OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion >= 5))
+# define HasIssetugid YES
+# endif
+#endif
+
+#if (OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion > 1)
+#define HasGetIfAddrs YES
+#endif
+
+#define HasUsableFileMmap YES
+
+#define HasVarRun YES
+#define HasVarDb YES
+
+#define HasShadowPasswd NO
+
+#define InstallXloadSetGID NO
+
+#if OSMajorVersion < 1 || (OSMajorVersion == 1 && OSMinorVersion < 5)
+#define BuildIPv6 NO
+#endif
+
+#define IPv6SocketsAlsoIPv4 NO
+
+/*
+ * NetBSD 1.6M and newer supports POSIX Threads.
+ */
+
+#ifndef NetBSDThreads
+# define NetBSDThreads YES
+#endif
+
+#if NetBSDThreads && \
+ ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 6) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 6 && OSTeenyVersion >= 13))
+
+# define HasPosixThreads YES
+# define ThreadedX YES
+# define HasThreadSafeAPI YES
+# define ThreadsLibraries -lpthread
+# if ((OSMajorVersion == 2 && OSMinorVersion == 99 && OSTeenyVersion < 11) || \
+ (OSMajorVersion == 2 && OSMinorVersion < 99) || \
+ (OSMajorVersion < 2))
+# define LibraryMTDefines -DUSE_NBSD_THREADLIB
+# endif
+# define SystemMTDefines -D_REENTRANT
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
+#else
+# define ThreadedX NO
+#endif
+
+/*
+ * Compiler Features
+ */
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+
+#define MkdirHierCmd mkdir -p
+
+#undef CcCmd
+#define CcCmd gcc
+#ifndef DefaultCCOptions
+#if defined(UseInstalled)
+#define DefaultCCOptions /**/
+#else
+#ifdef Arm32Architecture
+#define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char \
+ -fomit-frame-pointer
+#elif defined(PpcArchitecture)
+# define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char
+#else
+#define DefaultCCOptions -ansi -Dasm=__asm GccWarningOptions
+#endif
+#endif
+#endif
+
+#define CppCmd cpp
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#define PreProcessCmd CcCmd -E
+#define PostIncDir /usr/include
+
+#define GccGasOption -DGCCUSESGAS
+#define AsmDefines -DUSE_GAS
+
+/* UseElfFormat defaults to YES if __ELF__ set */
+#ifndef UseElfFormat
+# ifdef __ELF__
+# undef __ELF__ /* other imake files shouldn't care */
+# define UseElfFormat YES
+# else
+# define UseElfFormat NO
+# endif
+#endif
+
+/*
+ * Dynamic loading supported starting in 1.0 on a.out platforms,
+ * and on all ELF platforms.
+ *
+ * XXX May not be correct on NetBSD/pmax (ELF, but might not have
+ * working shared libs).
+ *
+ * Disabled for NetBSD/vax until I figure out the scheme. --CS
+ */
+#if ((OSMajorVersion > 0) && defined(i386Architecture)) || \
+ defined(PpcArchitecture)
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+#else
+# ifndef DoLoadableServer
+# define DoLoadableServer NO
+# endif
+#endif
+
+#if UseElfFormat
+#define DlLibrary -rdynamic /* no -ldl yet */
+#else
+#define DlLibrary /**/
+#endif
+
+/* All ELF NetBSD systems support Weak symbols */
+#define HasWeakSymbols UseElfFormat
+
+#ifdef i386Architecture
+# ifndef DefaultGcc2i386Opt
+# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2)
+ /* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */
+# define DefaultGcc2i386Opt -O2 GccAliasingArgs
+# endif
+# endif
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# if OSMajorVersion < 1
+# define ServerOSDefines XFree86ServerOSDefines -DXNO_SYSCONF
+# else
+# define ServerOSDefines XFree86ServerOSDefines
+# endif
+# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2
+# define ServerExtraSysLibs -li386
+# endif
+#else
+# define OptimizedCDebugFlags -O2
+# if defined(SparcArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# elif defined(AlphaArchitecture)
+# define ServerOSDefines XFree86ServerOSDefines
+# elif defined(Arm32Architecture)
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# elif defined(PpcArchitecture)
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
+# else
+# define ServerOSDefines /**/
+# endif
+# if defined(AlphaArchitecture)
+# define ServerExtraSysLibs -lalpha
+# else
+# define ServerExtraSysLibs /**/
+# endif
+#endif
+#ifdef i386Architecture
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# if (OSMajorVersion == 1 && ((OSMinorVersion == 3 && OSTeenyVersion >= 6) \
+ || OSMinorVersion >= 4) \
+ || OSMajorVersion >= 2)
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT -DWSCONS_SUPPORT
+# else
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT
+# endif
+# endif
+#elif defined(SparcArchitecture)
+# if defined(Sparc64Architecture)
+# define ServerExtraDefines XFree86ServerDefines -D_XSERVER64
+# else
+# define ServerExtraDefines XFree86ServerDefines
+# endif
+# elif defined(AlphaArchitecture)
+ /* XXX for the following */
+# define ServerExtraDefines GccGasOption XFree86ServerDefines -D_XSERVER64
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCCONS_SUPPORT -DPCVT_SUPPORT
+# endif
+#elif defined(AlphaArchitecture)
+# define ServerExtraDefines GccGasOption -D_XSERVER64
+#elif defined(Arm32Architecture)
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT
+# endif
+#elif defined(PpcArchitecture)
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT
+# endif
+#else
+# define ServerExtraDefines GccGasOption
+#endif
+
+#define StandardDefines -DCSRG_BASED
+/* Citrus mb locale were added in 1.5P */
+#if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 5) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 5 && OSTeenyVersion >= 15))
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
+#else
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+#ifndef ExtraLibraries
+#define ExtraLibraries /**/
+#endif
+#ifndef UseGnuMalloc
+/*
+ * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped
+ * to OSTeenyVersion == 9. That should be safe, since there will never
+ * be a release for 1.4.9.
+ */
+# if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 4) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 9))
+# define UseGnuMalloc NO
+# else
+# define UseGnuMalloc YES
+#endif
+#endif
+#ifndef GnuMallocLibrary
+#define GnuMallocLibrary -lgnumalloc
+#endif
+
+#if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 2) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
+#ifndef HasZlib
+#define HasZlib YES
+#endif
+#endif
+
+#define AdmDir /var/log
+
+#define HasFlex YES
+
+/* NetBSD doesn't have gperf in the base install */
+#define DontRebuildGperfOutput YES
+
+/*
+ * NetBSD doesn't have perl in default system
+ * you may override this in host.def if you installed perl from the packages
+ */
+#ifndef HasPerl
+#define HasPerl NO
+#endif
+
+/*
+ * NetBSD doesn't have gperf in default system
+ * you may override this in host.def if you installed perl from the packages
+ */
+#ifndef HasGperf
+#define HasGperf NO
+#endif
+
+/*
+ * Make & install Features
+ */
+#define HasBsdMake YES
+#define CompressAllFonts YES
+#define GzipFontCompression YES
+#define DefaultUserPath /bin:/usr/bin:/usr/pkg/bin:/usr/local/bin:$(BINDIR)
+#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
+
+#ifdef InstallCmd
+# undef InstallCmd
+# define InstallCmd /usr/bin/install
+#endif
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.core
+#endif
+
+/*
+ * Documentation formatting
+ */
+#define NeqnCmd neqn -Tlatin1
+#define NroffCmd nroff -Tlatin1
+#define EqnCmd eqn -Tps
+#define HasGroff YES
+
+/*
+ * To use the NetBSD Aperture driver
+ */
+#if defined(i386Architecture)
+# ifndef HasNetBSDApertureDriver
+# define HasNetBSDApertureDriver YES
+# endif
+
+/*
+ * Builtin MTRR support (NetBSD 1.5Y and up)
+ */
+# if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 5 && \
+ OSTeenyVersion >= 25))
+# define HasMTRRBuiltin YES
+# else
+ /*
+ * MTRR support provided by the Aperture driver
+ */
+# if HasNetBSDApertureDriver
+# ifndef HasMTRRSupport
+# define HasMTRRSupport YES
+# endif
+# endif
+# endif /* MTRRBuiltin */
+#endif /* i386Architecture */
+
+/*
+ * agpgart support (NetBSD 1.5Y and up)
+ */
+#if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion >= 6) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 5 && \
+ OSTeenyVersion >= 25))
+# ifndef HasAgpGart
+# define HasAgpGart YES
+# endif
+#endif
+
+/*
+ * MMX, SSE and 3DNow will be autodetected. NetBSD 1.6 and up have the
+ * necessary kernel and toolchain support.
+ */
+#if defined(i386Architecture) && \
+ ((OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion > 5))
+# define HasX86Support YES
+# define HasMMXSupport YES
+# define Has3DNowSupport YES
+# define HasSSESupport YES
+#else
+# define HasX86Support NO
+# define HasMMXSupport NO
+# define Has3DNowSupport NO
+# define HasSSESupport NO
+#endif
+
+#ifndef HasCookieMaker
+# if OSMajorVersion == 1 && OSMinorVersion >= 5 || OSMajorVersion >= 2
+ /* NetBSD 1.5 and later have /dev/urandom */
+# define HasCookieMaker YES
+# define MkCookieCmd \
+ 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
+# else
+# define HasCookieMaker NO
+# endif
+#endif
+
+
+/*
+ * ForceSubdirs - force make to build subdirectories
+ *
+ * For BSD 4.4 make
+ */
+#define ForceSubdirs(dirs) @@\
+dirs: .EXEC @@\
+ @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\
+ $(MAKE) $(MFLAGS) PassCDebugFlags all @@\
+ @@\
+.EXEC:
+
+/*
+ * Man pages need to be formatted when installed, so override the default
+ * imake rules.
+ */
+#define ManSuffix 1
+#define FileManSuffix 5
+#define ManSourcePath $(MANPATH)/cat
+
+#define InstallManPageLongBase(file,destdir,dest) @@\
+ @@\
+all:: file.0 @@\
+ @@\
+file.0:: file.$(MANNEWSUFFIX) @@\
+ @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\
+ then \ @@\
+ cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.0; \ @@\
+ fi @@\
+ @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ -@if [ -f file.0 ]; \ @@\
+ then \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
+ fi @@\
+ @@\
+clean:: @@\
+ RemoveFile(file.0)
+
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+InstallManPageLongBase(file,destdir,dest)
+
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+InstallManPageLongBase(file,destdir,dest)
+
+#define InstallMultipleMan(list,dest) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ set -x; \ @@\
+ cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
+ | $(COL) > $${MNAME}.0; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \ @@\
+ $(DESTDIR)dest/$${MNAME}.0; \ @@\
+ $(RM) $${MNAME}.0); \ @@\
+ done
+
+#define InstallMultipleManSuffix(list,dest,suff) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
+ | $(COL) > $$i.0; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) $$i.0 \ @@\
+ $(DESTDIR)dest/$$i.0; \ @@\
+ $(RM) $$i.0 ); \ @@\
+ done
+
+#define InstallManPageAliasesBase(file,destdir,aliases) @@\
+install.man:: @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in aliases; do \ @@\
+ (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.0;\ @@\
+ (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\
+ ); \ @@\
+ done
+
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,suffix) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+
+/*
+ * Shared libraries supported starting in 1.0 on a.out platforms,
+ * and on all ELF platforms.
+ *
+ * XXX May not be correct on NetBSD/pmax (ELF, but might not have
+ * working shared libs).
+ */
+#if ((OSMajorVersion > 0) && \
+ !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
+ UseElfFormat
+# ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+# endif
+#endif
+
+#ifndef OSBinaryType
+#if UseElfFormat
+#define OSBinaryType [ELF]
+#else
+#define OSBinaryType /**/
+#endif
+#endif
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries NO
+#endif
+
+/*
+ * Unresolved references are fatal on NetBSD 1.5 for libGL, which is
+ * built with -Bsymbolic.
+ */
+#if UseElfFormat && OSMajorVersion == 1 && OSMinorVersion == 5
+#define SharedGLReqs $(LDPRELIBS) $(XLIB) -lc
+#endif
+
+#if HasSharedLibraries
+#include <bsdLib.rules>
+#endif /* HasSharedLibraries */
+
+/* Always build the XInput library, regardless of server support on this plattform */
+#if !defined(BuildXInputLib) && !defined(BuildServersOnly)
+# define BuildXInputLib YES
+#endif
+
+#if defined(i386Architecture) || defined(Arm32Architecture) || defined(AlphaArchitecture) || defined(PpcArchitecture)
+# include <xorg.cf>
+#endif
+
+/*
+ * Definitions for the SUN server on NetBSD/sparc
+ */
+#ifdef SparcArchitecture
+#ifndef Xsun24Server
+#define Xsun24Server YES
+#endif
+#ifndef XsunServer
+#define XsunServer YES
+#endif
+#ifndef XsunMonoServer
+#define XsunMonoServer NO /* XXX: does not link */
+#endif
+#ifndef BuildScreenSaverLibrary
+#define BuildScreenSaverLibrary YES
+#endif
+
+/*
+ * XFree86 uses its own (more portable) database routines to speed up
+ * the RGB database lookups
+ * However, if you want to use ndbm anyway, you can set that to NO in
+ * site.def
+ */
+#ifndef UseRgbTxt
+#define UseRgbTxt YES
+#endif
+#define BuildXF86VidModeExt NO
+#define BuildXF86DGA NO
+#define BuildXInputExt NO
+#include <xorg.cf>
+#endif
+
+/*
+ * Definition for compiling on MIPS machines
+ */
+#ifdef MipsArchitecture
+#define PositionIndependentCFlags
+#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
+sed 's/\.[0-9]*$$//'`
+#define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
+#endif
+
+/*
+ * Definition for compiling on Alpha machines
+ */
+#ifdef AlphaArchitecture
+
+/* Build the shared XDM greeter on Alpha if it supports shared libs */
+#define SharedLibXdmGreet HasSharedLibraries
+#endif
+
+/*
+ * Definition for compile on macppc machines
+ */
+#ifdef PpcArchitecture
+
+# define OptimizedCDebugFlags -O2
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+
+# define UseElfFormat YES
+
+#endif
+
+/*
+ * Definition for compiling on VAX machines
+ */
+#ifdef VaxArchitecture
+#define BuildServer NO
+#endif
+
+/*
+ * General settings for all platforms
+ */
+#ifndef SharedLibXdmGreet
+#define SharedLibXdmGreet NO
+#endif
+
+#ifndef BuildHtmlManPages
+#define BuildHtmlManPages NO /* We don't want HTML manpages */
+#endif
+
+#ifndef UseSeparateConfDir
+#define UseSeparateConfDir NO /* We don't want appdefs in "/etc/X11". */
+#endif
+
+#if defined(NetBSDArchitecture) && \
+ ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 3))
+#define HasDevRandom YES
+#define RandomDeviceFile /dev/urandom
+#endif
diff --git a/nx-X11/config/cf/Oki.cf b/nx-X11/config/cf/Oki.cf
new file mode 100644
index 000000000..79992e5ed
--- /dev/null
+++ b/nx-X11/config/cf/Oki.cf
@@ -0,0 +1,30 @@
+XCOMM platform: $Xorg: Oki.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+#ifndef OSName
+#define OSName Unix System V/860 Release 4.0 Version 3
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 3
+#endif
+
+#define BootstrapCFlags -DOki
+#define SystemV4 YES
+#define HasLdRunPath YES
+#define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
+#define SetTtyGroup YES
+#define HasPutenv YES
+#define HasPoll YES
+#define PatheticCpp YES
+#define CcCmd /usr/bin/cc
+#define StandardDefines -DSVR4 -Di860
+#define DefaultCCOptions -Xa
+#define BuildServer NO
+#define ToolkitStringsABIOptions -intelabi
+#include <sv4Lib.rules>
diff --git a/nx-X11/config/cf/OpenBSD.cf b/nx-X11/config/cf/OpenBSD.cf
new file mode 100644
index 000000000..d5b88daf3
--- /dev/null
+++ b/nx-X11/config/cf/OpenBSD.cf
@@ -0,0 +1,1017 @@
+XCOMM platform: $XFree86: xc/config/cf/OpenBSD.cf,v 3.100 2004/01/08 22:51:41 herrb Exp $
+XCOMM $XdotOrg: xc/config/cf/OpenBSD.cf,v 1.12 2005/10/01 16:42:11 herrb Exp $
+XCOMM
+
+#ifndef OSName
+#define OSName DefaultOSName OSBinaryType
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#ifdef Ports
+
+#define BinDir /usr/local/bin
+#define LibDir /usr/local/lib/X11
+#define UsrLibDir /usr/local/lib
+#define ManDirectoryRoot /usr/local/man
+#define LdPreLib -L/usr/X11R6/lib -L/usr/local/lib
+#define XpmLibDir /usr/X11R6/lib
+#define XpmIncDir /usr/X11R6/include
+#define ConfigDir /usr/X11R6/lib/X11/config
+#define IncRoot /usr/local/include
+#define TopXInclude -I/usr/X11R6/include
+#define ImakeCmd imake -DPorts
+#define DocDir /usr/local/share/doc
+#define BuildHtmlManPages NO
+
+#endif
+
+/*
+ * C library features
+ */
+#define HasPoll YES
+#define HasNdbm YES
+#define HasPutenv YES
+#define HasSnprintf YES
+#if OSMajorVersion == 2 && OSMinorVersion >= 4 || OSMajorVersion >= 3
+# define HasStrlcat YES
+#endif
+#define HasBSD44Sockets YES
+#define Malloc0ReturnsNull NO
+#define SetTtyGroup YES
+#define DBMLibrary /**/
+#define HasLibCrypt NO
+#define HasShm YES
+#define HasWChar32 YES
+#define HasMkstemp YES
+#define HasSetProcTitle YES
+#define HasZlib YES
+#ifndef HasLibpng
+# define HasLibpng NO
+#endif
+#ifndef HasKrbIV
+# if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 3
+# define HasKrbIV YES
+# if OSMajorVersion == 2 && OSMinorVersion <= 8
+# define KrbIVLibraries -lkrb -lkafs -ldes
+# endif
+# else
+ /* Kerberos IV was removed after OpenBSD 3.3 */
+# define HasKrbIV NO
+# endif
+#endif
+#define HasUsableFileMmap YES
+#define HasShadowPasswd NO
+#define IPv6SocketsAlsoIPv4 NO
+
+#define HasArc4Random YES
+
+#define HasNCurses YES
+#define NCursesLibName -lcurses
+#if defined(TermcapLibrary)
+#undef TermcapLibrary
+#endif
+#define TermcapLibrary -lcurses
+
+#define HasVarRun YES
+#define HasVarDb YES
+#define VarLibDir VarDbDirectory
+
+#define InstallXloadSetGID NO
+
+#ifndef HasIssetugid
+# if (OSMajorVersion >= 2)
+# define HasIssetugid YES
+# endif
+#endif
+
+#ifndef HasMktemp
+# if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 1)
+# define HasMktemp YES
+# else
+# define HasMktemp NO
+# endif
+#endif
+
+/* OpenBSD >= 2.7 has getifaddrs() */
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 7)
+#define HasGetIfAddrs YES
+#endif
+
+/* OpenBSD >= 2.8 has setusercontext() */
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 7)
+#define HasSetUserContext YES
+#endif
+
+/* OpenBSD after 2.9 has BSD authentication */
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 9)
+# define HasBSDAuth YES
+#endif
+
+/* OpenBSD 3.0 and later has getpeereid() */
+#if OSMajorVersion >= 3
+# define HasGetpeereid YES
+#endif
+
+/* OpenBSD 3.0 has APM with kqueue interface */
+#if OSMajorVersion >= 3
+# define HasApmKqueue YES
+#endif
+
+/* OpenBSD 3.0 has libusb, next versions have libusbhid */
+#if OSMajorVersion >= 3
+# define HasLibUsb YES
+# ifndef HasLibUsbHid
+# if OSMajorVersion == 3 && OSMinorVersion > 0 || OSMajorVersion > 3
+# define HasLibUsbHid YES
+# define UsbHidLib -lusbhid
+# else
+# define HasLibUsbHid NO
+# define UsbHidLib -lusb
+# endif
+# endif
+#endif
+
+/*
+ * Compiler Features
+ */
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+
+#define UseGnuMalloc NO
+
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+
+#define MkdirHierCmd mkdir -p
+
+#ifndef CppCmd
+#define CppCmd /usr/libexec/cpp
+#endif
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#define PreProcessCmd CppCmd
+#define PreIncDir DefaultGccIncludeDir
+
+#ifndef CcCmd
+#define CcCmd cc
+#endif
+#ifndef AsCmd
+#define AsCmd cc -c -x assembler
+#endif
+#ifndef DefaultCCOptions
+#if defined(UseInstalled)
+ /* conform to OpenBSD's habits */
+# define DefaultCCOptions $(COPTS)
+#else
+# ifdef PpcArchitecture
+# define DefaultCCOptions -pipe -fsigned-char GccWarningOptions
+# else
+# define DefaultCCOptions -pipe GccWarningOptions
+# endif
+#endif
+#endif
+
+#define GccGasOption -DGCCUSESGAS
+#define AsmDefines -DUSE_GAS
+
+/* UseElfFormat defaults to YES if __ELF__ set */
+#ifndef UseElfFormat
+# ifdef __ELF__
+# undef __ELF__ /* other imake files shouldn't care */
+# define UseElfFormat YES
+# else
+# define UseElfFormat NO
+# endif
+#endif
+
+/*
+ * Increment shared libraries major numbers if using Gcc Stack Protector
+ * (This introduces an ABI change)
+ */
+#ifndef OverrideShlibRevs
+# define OverrideShlibRevs ProPoliceSupport
+#endif
+
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+
+
+#define AdmDir /var/log
+
+#define HasFlex YES
+
+/* OpenBSD doesn't have gperf in the base install */
+#define DontRebuildGperfOutput YES
+
+/*
+ * Make & install Features
+ */
+
+#define HasBsdMake YES
+
+#define BuildCyrillicFonts YES
+#define GzipFontCompression YES
+#define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR)
+#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
+
+#define InstUidFlags -m 4755
+
+#ifdef InstallCmd
+# undef InstallCmd
+# define InstallCmd /usr/bin/install
+#endif
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.core
+#endif
+
+/*
+ * Documentation formatting
+ */
+#define NeqnCmd neqn -Tlatin1
+#define NroffCmd nroff -Tlatin1
+#define EqnCmd eqn -Tps
+#define HasGroff YES
+
+#ifndef HasCookieMaker
+# define HasCookieMaker YES
+# define MkCookieCmd \
+ 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
+#endif
+
+
+/*
+ * Man pages need to be formatted when installed, so override the default
+ * imake rules.
+ */
+#define ManSuffix 1
+#define FileManSuffix 5
+#define ManSourcePath $(MANPATH)/cat
+
+#define InstallManPageLongBase(file,destdir,dest) @@\
+all:: file.0 @@\
+ @@\
+file.0:: file.$(MANNEWSUFFIX) @@\
+ @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\
+ then \ @@\
+ cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | \ @@\
+ $(NROFF) $(MANMACROS) | $(COL) > file.0; \ @@\
+ fi @@\
+ @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ -@if [ -f file.0 ]; \ @@\
+ then \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
+ fi @@\
+ @@\
+clean:: @@\
+ RemoveFile(file.0)
+
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+InstallManPageLongBase(file,destdir,dest)
+
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+InstallManPageLongBase(file,destdir,dest)
+
+#define InstallMultipleMan(list,dest) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ set -x; \ @@\
+ cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
+ | $(COL) > $${MNAME}.0; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \ @@\
+ $(DESTDIR)dest/$${MNAME}.0; \ @@\
+ $(RM) $${MNAME}.0); \ @@\
+ done
+
+#define InstallMultipleManSuffix(list,dest,suff) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
+ | $(COL) > $$i.0; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) $$i.0 \ @@\
+ $(DESTDIR)dest/$$i.0; \ @@\
+ $(RM) $$i.0 ); \ @@\
+ done
+
+#define InstallManPageAliasesBase(file,destdir,aliases) @@\
+install.man:: @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in aliases; do \ @@\
+ (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.0;\ @@\
+ (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\
+ ); \ @@\
+ done
+
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,suffix) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+
+
+/*
+ * InstallFontAliases - generate rules to install font aliases
+ * databases without comments for X11R5 servers
+ */
+#ifndef InstallFontAliasesNoComment
+#define InstallFontAliasesNoComment(dest) @@\
+install:: fonts.alias @@\
+ $(RM) _fonts.alias @@\
+ sed -e '/^!/d' -e '/^$$/d' < fonts.alias > _fonts.alias @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTALLDATFLAGS) _fonts.alias \ @@\
+ $(DESTDIR)dest/fonts.alias @@\
+ $(RM) _fonts.alias
+#endif /* InstallFontAliasesNoComment */
+
+/*
+ * OpenBSD specific Imake Config files
+ */
+#ifndef LocalConfigFiles
+#define LocalConfigFiles \
+ OpenBSDLib.rules OpenBSDLib.tmpl
+#endif
+
+/*
+ * Architecture specific sections - put all architecture dependent
+ * options and setting here into the correct section
+ */
+
+
+/*
+ * Definitions for the alpha architecture
+ */
+#ifdef AlphaArchitecture
+
+# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
+# define HasWeakSymbols YES
+# endif
+
+/* XXX Xvfb currently causes a linker error: */
+/* XXX crtbegin.c(.fini+0x10): relocation truncated to fit: BRADDR text */
+# ifdef XVirtualFramebufferServer
+# undef XVirtualFramebufferServer
+# endif
+# define XVirtualFramebufferServer NO
+# ifdef XnestServer
+# undef XnestServer
+# endif
+# define XnestServer NO
+
+# if (OSMajorVersion < 3)
+# define HasSharedLibraries NO
+# endif
+
+# ifndef XorgServer
+# if OSMajorVersion == 3 && OSMinorVersion >= 2 || OSMajorVersion > 3
+# define XorgServer YES
+# else
+# define XorgServer NO
+# endif
+# endif
+
+/* Definitions for building the XFree86 server */
+# if XorgServer
+# ifndef HasNetBSDApertureDriver
+# define HasNetBSDApertureDriver YES
+# endif
+# define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
+# define ServerExtraSysLibs -lalpha
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+# define XF86OSCardDrivers wsfb
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
+# endif
+# define UseMatroxHal NO /* Matrox HAL is i386 only */
+
+# endif /* XorgServer */
+
+# include <xorg.cf>
+
+#endif /* AlphaArchitecture */
+
+/*
+ * Definitions for the AMD64 architecture
+ */
+#ifdef AMD64Architecture
+
+# define HasWeakSymbols YES
+# define HasSharedLibraries YES
+# define HasDlopen YES
+
+# define XorgServer YES
+
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+
+# ifndef HasNetBSDApertureDriver
+# define HasNetBSDApertureDriver YES
+# endif
+
+# define HasAgpGart YES
+
+# define ServerExtraSysLibs -lamd64
+# define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
+
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
+# endif
+
+# ifndef HasMMXSupport
+# define HasMMXSupport YES
+# endif
+
+# ifndef HasX86Support
+# define HasX86Support YES
+# endif
+# include <xorg.cf>
+
+#endif /* AMD64Architecture */
+
+/*
+ * Definitions for the i386 architecture
+ */
+#ifdef i386Architecture
+
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+
+/* Direct rendering (OpenBSD 3.3 and up). */
+# if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
+# ifndef BuildXF86DRI
+# define BuildXF86DRI NO
+# endif
+# endif
+
+# define HasWeakSymbols YES
+
+/* To use the NetBSD Aperture driver */
+# ifndef HasNetBSDApertureDriver
+# define HasNetBSDApertureDriver YES
+# endif
+
+/* 2.7 and later have support for setting MTRRs */
+# ifndef HasMTRRSupport
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 6)
+# define HasMTRRSupport YES
+# else
+# define HasMTRRSupport NO
+# endif
+# endif
+
+/*
+ * agpgart support (OpenBSD 3.2 and up)
+ */
+# if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 1)
+# ifndef HasAgpGart
+# define HasAgpGart YES
+# endif
+# endif
+
+
+# ifndef DefaultGcc2i386Opt
+# if (OSMajorVersion == 2 && OSMinorVersion >= 3) || OSMajorVersion > 2
+ /* The GCC strength-reduce bug is fixed for OpenBSD 2.3 and later */
+# define DefaultGcc2i386Opt -O2 GccAliasingArgs
+# endif
+# endif
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraSysLibs -li386
+# define LdPostLib /**/
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
+# endif
+
+# define JoystickSupport NO
+
+/* A hack to work around an optimization problem with gcc 2.95.2 */
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6)
+# define GccOptBug295
+# endif
+
+/* No MMX support in OpenBSD/a.out gas */
+# ifndef HasMMXSupport
+# define HasMMXSupport UseElfFormat
+# endif
+
+/* for DRI */
+# ifndef HasX86Support
+# define HasX86Support UseElfFormat
+# endif
+
+# include <xorg.cf>
+
+#endif /* i386Architecture */
+
+
+/*
+ * Definitions for the m68k architecture (currently amiga, hp300,
+ * mac68k, mvme68k, sun3)
+ */
+#ifdef Mc68020Architecture
+
+/*
+ * Function CSE makes gas -k not recognize external function calls as lazily
+ * resolvable symbols, thus sometimes making ld.so report undefined symbol
+ * errors on symbols found in shared library members that would never be
+ * called. Ask niklas@openbsd.org for details.
+ */
+
+# define PositionIndependentCFlags -fpic -fno-function-cse
+# define BuildGlxExt NO
+# define BuildGLXLibrary YES
+
+#endif /* Mc68020Architecture */
+
+
+/*
+ * Definitions for the amiga architecture
+ */
+#ifdef AmigaArchitecture
+
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+
+# define ServerExtraDefines -DXFree86Server
+
+# include <xorg.cf>
+
+#endif /* AmigaArchitecture */
+
+
+/*
+ * Definitions for the hp300 architecture
+ */
+#ifdef Hp300Architecture
+
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+/* For the X11R5 server */
+# define CompressAllFonts NO
+# define InstallFontAliases InstallFontAliasesNoComment
+# define UseRgbTxt NO
+# define UseRgb YES
+
+# define ServerExtraDefines -DXFree86Server
+
+#include <xorg.cf>
+
+#endif /* Hp300Architecture */
+
+
+/*
+ * Definitions for the mac68k architecture
+ */
+#ifdef Mac68kArchitecture
+
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+
+# define ServerExtraDefines -DXFree86Server
+
+# include <xorg.cf>
+
+#endif /* mac68kArchitecture */
+
+
+/*
+ * Definitions for the mvme68k architecture
+ */
+#ifdef Mvme68kArchitecture
+
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+
+# define ServerExtraDefines -DXFree86Server
+
+# include <xorg.cf>
+
+#endif /* Mvme68kArchitecture */
+
+
+/*
+ * Definitions for the sun3 architecture
+ */
+#ifdef Sun3Architecture
+
+# include <xf86.rules>
+
+# define ServerOSDefines -DDDXOSINIT
+# define BootstrapCFlags -Dsun3
+# define UnalignedReferencesAllowed YES /* changes _XtCopyArgs() */
+# define ServerExtraDefines GccGasOption -Dmc68000 -Dmc68020 \
+ -DXFree86Server -DINCLUDE_CG2_HEADER
+
+# ifndef Xsun24Server
+# define Xsun24Server NO
+# endif
+# ifndef XsunServer
+# define XsunServer YES
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer NO
+# endif
+
+#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+
+#endif /* Sun3Architecture */
+
+
+/*
+ * Definitions for the mips architecture (currently arc, pmax)
+ */
+#ifdef MipsArchitecture
+
+ /*
+ * Mips ELF shared libs need some special handling.
+ */
+# define PositionIndependentCFlags
+# define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | sed 's/\.[0-9]*$$//'`
+# define SharedXtReqs -L$(BUILDLIBDIR) $(XONLYLIB) $(SMLIB) $(ICELIB)
+# define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
+
+#endif /* MipsArchitecture */
+
+
+/*
+ * Definitions for the arc architecture
+ */
+#ifdef ArcArchitecture
+
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT
+# endif
+
+# include <xorg.cf>
+
+#endif /* ArcArchitecture */
+
+
+/*
+ * Definitions for the pmax architecture
+ */
+#ifdef PmaxArchitecture
+
+# include <xf86.rules>
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+/* For the X11R5 server */
+# define CompressAllFonts NO
+# define InstallFontAliases InstallFontAliasesNoComment
+# define UseRgbTxt NO
+
+#endif /* PmaxArchitecture */
+
+/*
+ * Definitions for the PowerPC architecture
+ */
+#ifdef PpcArchitecture
+
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT
+# endif
+
+# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
+# define HasWeakSymbols YES
+# endif
+# ifndef GccWarningOptions
+# if defined(XFree86Devel) && XFree86Devel
+# define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wnested-externs
+# else
+# define GccWarningOptions -Wall -Wpointer-arith
+# endif
+# endif
+
+# ifndef XorgServer
+# define XorgServer YES
+# endif
+
+/* Definitions for building the X server */
+# if XorgServer
+# define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+# define XF86OSCardDrivers wsfb
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga glint s3virge sis savage\
+ trident chips tdfx \
+ DevelDrivers vga \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# ifndef DevelDrivers
+# define DevelDrivers nv
+# endif
+
+# endif /* XorgServer */
+
+# include <xorg.cf>
+
+#endif /* PpcArchitecture */
+
+/*
+ * Definitions for the sparc architecture
+ */
+#ifdef SparcArchitecture
+
+# define BuildXF86MiscExt NO
+# define BuildMITMiscExt NO
+
+# if OSMajorVersion > 3 || OSMajorVersion == 3 && OSMinorVersion >= 2
+# define HasWeakSymbols YES
+#endif
+
+# if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 2
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines -DAVOID_GLYPHBLT -DPIXPRIV -DXFree86Server \
+ DebugDefines -DINCLUDE_CG2_HEADER \
+ -DX_BYTE_ORDER=$(X_BYTE_ORDER)
+# define XOrgServer NO
+# else
+# define XorgServer YES
+# endif
+
+# if !XorgServer
+
+# ifndef Xsun24Server
+# define Xsun24Server YES
+# endif
+# ifndef XsunServer
+# define XsunServer YES
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer YES
+# endif
+# ifndef InstallXserverSetUID
+# define InstallXserverSetUID NO
+# endif
+
+# else /* XF86Server */
+
+# ifndef Xsun24Server
+# define Xsun24Server NO
+# endif
+# ifndef XsunServer
+# define XsunServer NO
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer NO
+# endif
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+
+# define XF86CardDrivers wsfb
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT
+# define BuildXInputExt YES
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+
+# endif
+
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+
+# define BuildXF86VidModeExt NO
+# define BuildXF86DGA NO
+# ifndef BuildXInputExt
+# define BuildXInputExt NO
+# endif
+# include <xorg.cf>
+
+#endif /* SparcArchitecture */
+
+/*
+ * Definitions for the sparc64 architecture
+ */
+
+#ifdef Sparc64Architecture
+
+# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
+# define HasWeakSymbols YES
+# endif
+
+# ifndef XorgServer
+# define XorgServer YES
+# endif
+
+# define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
+# define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+
+# if XorgServer
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+# define XF86OSCardDrivers wsfb
+# define XFree86ConsoleDefines -DWSCONS_SUPPORT
+# endif
+
+# include <xorg.cf>
+
+#endif /* Sparc64Architecture */
+
+/*
+ * Definitions for the vax architecture
+ */
+#ifdef VaxArchitecture
+
+# ifndef BuildServer
+# define BuildServer NO
+# endif
+
+/* For the X11R5 server */
+# define CompressAllFonts NO
+# define InstallFontAliases InstallFontAliasesNoComment
+# define UseRgbTxt NO
+# define UseRgb YES
+
+# define ServerExtraDefines -DXFree86Server
+# define UnalignedReferencesAllowed YES
+# define HasSharedLibraries NO
+# define HasDlopen NO
+
+# define BuildGlxExt NO
+# define BuildGLXLibrary NO
+
+# include <xorg.cf>
+
+#endif /* VaxArchitecture */
+
+/* End or architecture specific section */
+
+/*
+ * Generic settings for all architectures
+ * which can be overridden by architecture specific sections above
+ */
+
+#ifndef StandardDefines
+# define StandardDefines -DCSRG_BASED
+#endif
+
+#if !defined(OptimizedCDebugFlags)
+# define OptimizedCDebugFlags -O2
+#endif
+
+#ifndef ServerOSDefines
+# define ServerOSDefines /**/
+#endif
+
+#ifndef ServerExtraDefines
+# define ServerExtraDefines GccGasOption
+#endif
+
+#ifndef HasWeakSymbols
+# define HasWeakSymbols NO
+#endif
+
+/*
+ * Multi-thread safe libs
+ */
+#if HasWeakSymbols == YES && (OSMajorVersion == 2 && OSMinorVersion >= 6 || OSMajorVersion >= 3)
+# define HasPosixThreads YES
+# define ThreadedX YES
+# define NeedUIThrStubs YES
+# define ThreadsCompileFlag -pthread
+# define ThreadsLibraries -pthread
+#else
+# define ThreadedX NO
+#endif
+
+
+/* Set this to YES when getpwuid_r is added to libc_r */
+#define HasThreadSafeAPI NO
+
+#ifndef ExtraLibraries
+# define ExtraLibraries /**/
+#endif
+
+#ifndef DoLoadableServer
+#define DoLoadableServer NO
+#endif
+
+#ifndef XVirtualFramebufferServer
+# undef BuildServer
+# define BuildServer YES
+# define XVirtualFramebufferServer YES
+#endif
+
+#ifndef XnestServer
+# undef BuildServer
+# define BuildServer YES
+# define XnestServer YES
+#endif
+
+#ifndef BuildScreenSaverLibrary
+# define BuildScreenSaverLibrary YES
+#endif
+
+#ifndef CompressAllFonts
+# define CompressAllFonts YES
+#endif
+
+#ifndef SharedLibXdmGreet
+# define SharedLibXdmGreet NO
+#endif
+
+#define HasFreetype2 NO
+#define HasExpat NO
+#define BuildXterm BuildClients
+
+/*
+ * XFree86 uses its own (more portable) database routines to speed up
+ * the RGB database lookups
+ * However, if you want to use ndbm anyway, you can set that to NO in
+ * host.def
+ */
+#ifndef UseRgbTxt
+# define UseRgbTxt YES
+#endif
+
+#ifndef OSBinaryType
+# if UseElfFormat
+# define OSBinaryType [ELF]
+# else
+# define OSBinaryType /**/
+# endif
+#endif
+
+#ifndef HasDlopen
+# define HasDlopen YES
+#endif
+
+#ifndef DlLibrary
+# if UseElfFormat
+# if (OSMajorVersion < 3 || OSMajorVersion == 3 && OSMinorVersion == 0)
+# define DlLibrary -ldl
+# else
+# define DlLibrary -Wl,--export-dynamic
+# endif
+# else
+# define DlLibrary /**/
+# endif
+#endif
+
+#if !defined(GccWarningOptions)
+# define GccWarningOptions -Wall -Wpointer-arith
+#endif
+
+/* This must come last */
+#if OSMajorVersion == 2 && OSMinorVersion >= 8 || OSMajorVersion > 2
+# include <OpenBSDLib.rules>
+#else
+# include <bsdLib.rules>
+#endif
diff --git a/nx-X11/config/cf/OpenBSDLib.rules b/nx-X11/config/cf/OpenBSDLib.rules
new file mode 100644
index 000000000..5bb9a4761
--- /dev/null
+++ b/nx-X11/config/cf/OpenBSDLib.rules
@@ -0,0 +1,191 @@
+XCOMM $OpenBSD: OpenBSDLib.rules,v 1.1 2000/10/09 20:43:58 matthieu Exp $
+
+
+
+
+/*
+ * OpenBSD shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/OpenBSDLib.rules,v 1.10 2003/10/31 20:49:03 herrb Exp $
+
+#ifndef UseElfFormat
+#define UseElfFormat NO
+#endif
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+
+#ifndef UseRpath
+#define UseRpath YES
+#endif
+
+#ifndef BaseShLibReqs
+#define BaseShLibReqs /* -lc implied by $(CC) */
+#endif
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <OpenBSDLib.tmpl>
+#endif
+#ifndef RpathLoadFlags
+#if UseRpath
+#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#else
+#define RpathLoadFlags /**/
+#endif
+#endif
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared PositionIndependentCFlags LibraryRpathLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+#if UseElfFormat
+#ifndef ExtraLoadFlags
+#ifdef UseInstalled
+#define ExtraLoadFlags RpathLoadFlags
+#else
+#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+#endif
+#endif
+#ifndef HardCodeLibdirFlag
+#define HardCodeLibdirFlag RpathLoadFlags
+#endif
+#endif /* UseElfFormat */
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist @@\
+ $(RM) $@~ @@\
+ set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$@\ @@\
+ solist $(REQUIREDLIBS) BaseShLibReqs); @@\
+ LinkBuildSonameLibrary($@) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedLibraryTarget */
+
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+#ifndef SharedDriModuleTarget
+#define SharedDriModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ $@.map @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ $@.map @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name @@\
+ $(RM) name.map
+
+#endif /* SharedDriModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+/*
+ * DynamicModuleTarget - build a module to be dynamically loaded
+ */
+#ifdef DynamicModuleTarget
+#undef DynamicModuleTarget
+#define DynamicModuleTarget(module,modlist) @@\
+AllTarget(module) @@\
+ @@\
+module: modlist @@\
+ RemoveFile($@) @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) modlist @@\
+ @@\
+clean:: @@\
+ RemoveFile(module)
+#endif /* DynamicModuleTarget */
+
diff --git a/nx-X11/config/cf/OpenBSDLib.tmpl b/nx-X11/config/cf/OpenBSDLib.tmpl
new file mode 100644
index 000000000..db6da5548
--- /dev/null
+++ b/nx-X11/config/cf/OpenBSDLib.tmpl
@@ -0,0 +1,531 @@
+XCOMM platform: $OpenBSD: OpenBSDLib.tmpl,v 1.6 2003/04/04 19:48:58 matthieu Exp $
+XCOMM platform: $XFree86: xc/config/cf/OpenBSDLib.tmpl,v 1.10 2004/06/29 22:57:46 herrb Exp $
+XCOMM
+
+/* Shared libraries dependencies */
+#if HasGcc && GccMajorVersion >= 3
+# define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB) -lsupc++
+#endif
+
+/* Shared Library Revisions. Crank major on API Changes */
+
+#if OverrideShlibRevs
+
+# if OSMajorVersion == 3 && OSMinorVersion > 1 && OSMinorVersion <= 5
+# ifndef SharedX11Rev
+# define SharedX11Rev 7.0
+# endif
+# ifndef SharedXThrStubRev
+# define SharedXThrStubRev 7.0
+# endif
+# ifndef SharedXextRev
+# define SharedXextRev 7.0
+# endif
+# ifndef SharedXssRev
+# define SharedXssRev 2.0
+# endif
+# ifndef SharedXxf86miscRev
+# define SharedXxf86miscRev 2.0
+# endif
+# ifndef SharedXxf86vmRev
+# define SharedXxf86vmRev 2.0
+# endif
+# ifndef SharedXxf86dgaRev
+# define SharedXxf86dgaRev 2.0
+# endif
+# ifndef SharedXxf86rushRev
+# define SharedXxf86rushRev 2.0
+# endif
+# ifndef SharedXvRev
+# define SharedXvRev 2.0
+# endif
+# ifndef SharedXvMCRev
+# define SharedXvMCRev 2.0
+# endif
+# ifndef SharedXineramaRev
+# define SharedXineramaRev 2.0
+# endif
+# ifndef SharedDpsRev
+# define SharedDpsRev 2.0
+# endif
+# ifndef SharedDpsTkRev
+# define SharedDpsTkRev 2.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 2.0
+# endif
+# ifndef SharedGluRev
+# if HasGcc && GccMajorVersion >= 3
+ /* Gcc 3 changes the name mangling scheme on OpenBSD */
+# define SharedGluRev 3.0
+# else
+# define SharedGluRev 2.0
+# endif
+# endif
+# ifndef SharedGlxRev
+# define SharedGlxRev 2.0
+# endif
+# ifndef SharedGLwRev
+# define SharedGLwRev 2.0
+# endif
+# ifndef SharedXrenderRev
+# define SharedXrenderRev 2.1
+# endif
+# ifndef SharedXrandrRev
+# define SharedXrandrRev 3.0
+# endif
+# ifndef SharedXcursorRev
+# define SharedXcursorRev 1.0
+# endif
+# ifndef SharedXfontcacheRev
+# define SharedXfontcacheRev 2.0
+# endif
+# ifndef SharedXauRev
+# define SharedXauRev 7.0
+# endif
+# ifndef SharedXdmcpRev
+# define SharedXdmcpRev 7.0
+# endif
+# ifndef SharedXmuRev
+# define SharedXmuRev 7.0
+# endif
+# ifndef SharedXmuuRev
+# define SharedXmuuRev 2.0
+# endif
+# ifndef SharedOldXRev
+# define SharedOldXRev 7.0
+# endif
+# ifndef SharedXpRev
+# define SharedXpRev 7.0
+# endif
+# ifndef SharedXtRev
+# define SharedXtRev 7.0
+# endif
+# ifndef SharedXaRev
+# define SharedXaRev 2.0
+# endif
+# ifndef SharedXawRev
+# define SharedXawRev 9.0
+# endif
+# ifndef SharedXaw7Rev
+# define SharedXaw7Rev 8.0
+# endif
+# ifndef SharedXaw6Rev
+# define SharedXaw6Rev 7.1
+# endif
+# ifndef SharedXiRev
+# define SharedXiRev 7.0
+# endif
+# ifndef SharedXtstRev
+# define SharedXtstRev 7.0
+# endif
+# ifndef SharedICERev
+# define SharedICERev 7.1
+# endif
+# ifndef SharedSMRev
+# define SharedSMRev 7.0
+# endif
+# ifndef SharedXkeyRev
+# define SharedXkeyRev 7.0
+# endif
+# ifndef SharedFSRev
+# define SharedFSRev 7.0
+# endif
+# ifndef SharedFontRev
+# define SharedFontRev 2.0
+# endif
+# ifndef SharedFontEncRev
+# define SharedFontEncRev 2.0
+# endif
+# ifndef SharedXpmRev
+# define SharedXpmRev 5.0
+# endif
+# ifndef SharedFreetype2Rev
+# define SharedFreetype2Rev 11.1
+# endif
+# ifndef SharedExpatRev
+# define SharedExpatRev 4.0
+# endif
+# ifndef SharedXft1Rev
+# define SharedXft1Rev 1.2
+# endif
+# ifndef SharedXftRev
+# define SharedXftRev 3.0
+# endif
+# ifndef SharedFontconfigRev
+# define SharedFontconfigRev 1.0
+# endif
+# ifndef SharedXTrapRev
+# define SharedXTrapRev 7.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 2.0
+# endif
+# ifndef SharedXfixesRev
+# define SharedXfixesRev 3.0
+# endif
+# ifndef SharedXdamageRev
+# define SharedXdamageRev 1.0
+# endif
+# ifndef SharedXcompositeRev
+# define SharedXcompositeRev 1.0
+# endif
+
+
+# elif OSMajorVersion == 3 && OSMinorVersion >= 6 && OSMinorVersion <= 7
+
+# ifndef SharedX11Rev
+# define SharedX11Rev 8.1
+# endif
+# ifndef SharedXThrStubRev
+# define SharedXThrStubRev 8.0
+# endif
+# ifndef SharedXextRev
+# define SharedXextRev 8.0
+# endif
+# ifndef SharedXssRev
+# define SharedXssRev 3.0
+# endif
+# ifndef SharedXxf86miscRev
+# define SharedXxf86miscRev 3.0
+# endif
+# ifndef SharedXxf86vmRev
+# define SharedXxf86vmRev 3.0
+# endif
+# ifndef SharedXxf86dgaRev
+# define SharedXxf86dgaRev 3.0
+# endif
+# ifndef SharedXxf86rushRev
+# define SharedXxf86rushRev 3.0
+# endif
+# ifndef SharedXvRev
+# define SharedXvRev 3.0
+# endif
+# ifndef SharedXvMCRev
+# define SharedXvMCRev 3.0
+# endif
+# ifndef SharedXineramaRev
+# define SharedXineramaRev 3.0
+# endif
+# ifndef SharedDpsRev
+# define SharedDpsRev 3.0
+# endif
+# ifndef SharedDpsTkRev
+# define SharedDpsTkRev 3.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 3.0
+# endif
+# ifndef SharedGluRev
+# if HasGcc && GccMajorVersion >= 3
+ /* Gcc 3 changes the name mangling scheme on OpenBSD */
+# define SharedGluRev 4.0
+# else
+# define SharedGluRev 3.0
+# endif
+# endif
+# ifndef SharedGlxRev
+# define SharedGlxRev 3.1
+# endif
+# ifndef SharedOSMesaRev
+# define SharedOSMesaRev 6.0
+# endif
+# ifndef SharedGLwRev
+# define SharedGLwRev 3.0
+# endif
+# ifndef SharedXrenderRev
+# define SharedXrenderRev 3.1
+# endif
+# ifndef SharedXrandrRev
+# define SharedXrandrRev 4.0
+# endif
+# ifndef SharedXcursorRev
+# define SharedXcursorRev 2.2
+# endif
+# ifndef SharedXfontcacheRev
+# define SharedXfontcacheRev 3.0
+# endif
+# ifndef SharedXauRev
+# define SharedXauRev 8.0
+# endif
+# ifndef SharedXdmcpRev
+# define SharedXdmcpRev 8.0
+# endif
+# ifndef SharedXmuRev
+# define SharedXmuRev 8.0
+# endif
+# ifndef SharedXmuuRev
+# define SharedXmuuRev 3.0
+# endif
+# ifndef SharedOldXRev
+# define SharedOldXRev 8.0
+# endif
+# ifndef SharedXpRev
+# define SharedXpRev 8.0
+# endif
+# ifndef SharedXtRev
+# define SharedXtRev 8.0
+# endif
+# ifndef SharedXaRev
+# define SharedXaRev 3.0
+# endif
+# ifndef SharedXawRev
+# define SharedXawRev 10.0
+# endif
+# ifndef SharedXaw7Rev
+# define SharedXaw7Rev 9.0
+# endif
+# ifndef SharedXaw6Rev
+# define SharedXaw6Rev 8.1
+# endif
+# ifndef SharedXiRev
+# define SharedXiRev 8.0
+# endif
+# ifndef SharedXtstRev
+# define SharedXtstRev 8.0
+# endif
+# ifndef SharedICERev
+# define SharedICERev 8.1
+# endif
+# ifndef SharedSMRev
+# define SharedSMRev 8.0
+# endif
+# ifndef SharedXkeyRev
+# define SharedXkeyRev 8.0
+# endif
+# ifndef SharedFSRev
+# define SharedFSRev 8.0
+# endif
+# ifndef SharedFontRev
+# define SharedFontRev 4.0
+# endif
+# ifndef SharedFontEncRev
+# define SharedFontEncRev 3.0
+# endif
+# ifndef SharedXpmRev
+# define SharedXpmRev 6.0
+# endif
+# ifndef SharedFreetype2Rev
+# define SharedFreetype2Rev 13.1
+# endif
+# ifndef SharedExpatRev
+# define SharedExpatRev 5.0
+# endif
+# ifndef SharedXft1Rev
+# define SharedXft1Rev 3.0
+# endif
+# ifndef SharedXftRev
+# define SharedXftRev 5.0
+# endif
+# ifndef SharedFontconfigRev
+# define SharedFontconfigRev 2.0
+# endif
+# ifndef SharedXTrapRev
+# define SharedXTrapRev 8.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 3.0
+# endif
+# ifndef SharedXResRev
+# define SharedXResRev 2.0
+# endif
+# ifndef SharedxkbfileRev
+# define SharedxkbfileRev 2.0
+# endif
+# ifndef SharedxkbuiRev
+# define SharedxkbuiRev 2.0
+# endif
+# ifndef SharedXfixesRev
+# define SharedXfixesRev 3.0
+# endif
+# ifndef SharedXdamageRev
+# define SharedXdamageRev 1.0
+# endif
+# ifndef SharedXcompositeRev
+# define SharedXcompositeRev 1.0
+# endif
+
+#elif OSMajorVersion > 3 || OSMajorVersion == 3 && OSMinorVersion == 8
+
+# ifndef SharedX11Rev
+# define SharedX11Rev 9.0
+# endif
+# ifndef SharedXThrStubRev
+# define SharedXThrStubRev 8.0
+# endif
+# ifndef SharedXextRev
+# define SharedXextRev 9.0
+# endif
+# ifndef SharedXssRev
+# define SharedXssRev 4.0
+# endif
+# ifndef SharedXxf86miscRev
+# define SharedXxf86miscRev 4.0
+# endif
+# ifndef SharedXxf86vmRev
+# define SharedXxf86vmRev 4.0
+# endif
+# ifndef SharedXxf86dgaRev
+# define SharedXxf86dgaRev 4.0
+# endif
+# ifndef SharedXxf86rushRev
+# define SharedXxf86rushRev 4.0
+# endif
+# ifndef SharedXvRev
+# define SharedXvRev 4.0
+# endif
+# ifndef SharedXvMCRev
+# define SharedXvMCRev 4.0
+# endif
+# ifndef SharedXineramaRev
+# define SharedXineramaRev 4.0
+# endif
+# ifndef SharedDpsRev
+# define SharedDpsRev 4.0
+# endif
+# ifndef SharedDpsTkRev
+# define SharedDpsTkRev 4.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 3.0
+# endif
+# ifndef SharedGluRev
+# if HasGcc && GccMajorVersion >= 3
+ /* Gcc 3 changes the name mangling scheme on OpenBSD */
+# define SharedGluRev 5.0
+# else
+# define SharedGluRev 4.0
+# endif
+# endif
+# ifndef SharedGlxRev
+# define SharedGlxRev 4.0
+# endif
+# ifndef SharedOSMesaRev
+# define SharedOSMesaRev 7.0
+# endif
+# ifndef SharedGLwRev
+# define SharedGLwRev 4.0
+# endif
+# ifndef SharedXrenderRev
+# define SharedXrenderRev 4.0
+# endif
+# ifndef SharedXrandrRev
+# define SharedXrandrRev 5.0
+# endif
+# ifndef SharedXcursorRev
+# define SharedXcursorRev 3.0
+# endif
+# ifndef SharedXfontcacheRev
+# define SharedXfontcacheRev 4.0
+# endif
+# ifndef SharedXauRev
+# define SharedXauRev 9.0
+# endif
+# ifndef SharedXdmcpRev
+# define SharedXdmcpRev 9.0
+# endif
+# ifndef SharedXmuRev
+# define SharedXmuRev 9.0
+# endif
+# ifndef SharedXmuuRev
+# define SharedXmuuRev 4.0
+# endif
+# ifndef SharedOldXRev
+# define SharedOldXRev 9.0
+# endif
+# ifndef SharedXpRev
+# define SharedXpRev 9.0
+# endif
+# ifndef SharedXtRev
+# define SharedXtRev 9.0
+# endif
+# ifndef SharedXaRev
+# define SharedXaRev 4.0
+# endif
+# ifndef SharedXawRev
+# define SharedXawRev 11.0
+# endif
+# ifndef SharedXaw7Rev
+# define SharedXaw7Rev 10.0
+# endif
+# ifndef SharedXaw6Rev
+# define SharedXaw6Rev 9.0
+# endif
+# ifndef SharedXiRev
+# define SharedXiRev 9.0
+# endif
+# ifndef SharedXtstRev
+# define SharedXtstRev 9.0
+# endif
+# ifndef SharedICERev
+# define SharedICERev 8.0
+# endif
+# ifndef SharedSMRev
+# define SharedSMRev 8.0
+# endif
+# ifndef SharedXkeyRev
+# define SharedXkeyRev 9.0
+# endif
+# ifndef SharedFSRev
+# define SharedFSRev 8.0
+# endif
+# ifndef SharedFontRev
+# define SharedFontRev 4.0
+# endif
+# ifndef SharedFontEncRev
+# define SharedFontEncRev 3.0
+# endif
+# ifndef SharedXpmRev
+# define SharedXpmRev 7.0
+# endif
+# ifndef SharedFreetype2Rev
+# define SharedFreetype2Rev 13.0
+# endif
+# ifndef SharedExpatRev
+# define SharedExpatRev 5.0
+# endif
+# ifndef SharedXft1Rev
+# define SharedXft1Rev 4.0
+# endif
+# ifndef SharedXftRev
+# define SharedXftRev 6.0
+# endif
+# ifndef SharedFontconfigRev
+# define SharedFontconfigRev 2.0
+# endif
+# ifndef SharedXTrapRev
+# define SharedXTrapRev 9.0
+# endif
+# ifndef SharedPSResRev
+# define SharedPSResRev 3.0
+# endif
+# ifndef SharedXResRev
+# define SharedXResRev 3.0
+# endif
+# ifndef SharedxkbfileRev
+# define SharedxkbfileRev 3.0
+# endif
+# ifndef SharedxkbuiRev
+# define SharedxkbuiRev 3.0
+# endif
+# ifndef SharedXfixesRev
+# define SharedXfixesRev 4.0
+# endif
+# ifndef SharedXdamageRev
+# define SharedXdamageRev 2.0
+# endif
+# ifndef SharedXcompositeRev
+# define SharedXcompositeRev 2.0
+# endif
+# ifndef SharedxrxRev
+# define SharedxrxRev 7.0
+# endif
+# ifndef SharedxrxnestRev
+# define SharedxrxnestRev 7.0
+# endif
+
+#endif /* OSMajorVersion .. */
+
+#endif /* OverrideShlibRevs */
+
+#include <bsdLib.tmpl>
diff --git a/nx-X11/config/cf/QNX4.cf b/nx-X11/config/cf/QNX4.cf
new file mode 100644
index 000000000..b38738c46
--- /dev/null
+++ b/nx-X11/config/cf/QNX4.cf
@@ -0,0 +1,98 @@
+XCOMM platform: $XFree86: xc/config/cf/QNX4.cf,v 1.3 2000/07/07 20:06:56 tsi Exp $
+
+#define StripInstalledPrograms NO
+#define BuildServer YES
+#define DoLoadableServer NO /* sorry, are u listenning QSSL? */
+#define BuildLBX YES /* For now */
+#define ExpandManNames YES
+#define ByteOrder X_LITTLE_ENDIAN
+
+#ifndef OSName
+#define OSName QNX4
+#endif
+
+#ifndef OSVendor
+#define OSVendor QNX Corp.
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 25
+#endif
+
+/* Use a non-broken shell ... */
+#define BourneShell /usr/local/bin/pdksh
+#define OSDefines -DQNX4 -DQNX -D__QNX__ -DNO_REGEX -DSTRINGS_ALIGNED -D__i386__
+
+#define SourceDefines -D_POSIX_SOURCE
+#define DoRanlibCmd NO
+#undef ArCmd
+#define ArCmd wlib -b -c -p=256
+#define MkdirHierCmd mkdir -p
+#ifdef UseInstalled
+#define InstallCmd install
+#else
+#define InstallCmd $(SHELL) $(CONFIGSRC)/util/install.sh
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#define DefaultCCOptions -5s -Otx -Wc,-r -b -j -Wc,-ei -N128000 -zp4 -mf
+#define LibraryCCOptions -5s -Otx -Wc,-r -b -j -Wc,-ei -zp4 -mf
+#define ServerCCOptions -5s -Otx -Wc,-r -T1 -M -N4096000 -j -b -mf -Wc,-ei -Wc,-s -zp4 -llibmalloc
+#define LocalLibraries
+#define ExtraLibraries -lsocket -lunix
+#define CLibrary
+#define PosixLibraries
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
+#define CppCmd /usr/X11R6/bin/cpp
+
+#define HasShadowPasswd YES
+#define HasLibCrypt YES
+#define SharedLibXdmGreet NO
+#define HasShm NO /* For now as well */
+#define HasSockets YES
+#define HasPutenv YES
+#define HasCbrt NO
+#define HasVarDirectory NO
+#define HasSnprintf YES
+#define HasBSD44Sockets YES
+#define HasPerl NO
+#define LogDirectory /usr/adm
+#define XLogFile XFree86
+
+#define BuildHtmlManPages NO /* We don't want HTML manpages */
+#define BuildRman NO
+
+#define AvoidNullMakeCommand YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define UseInternalMalloc NO
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes NO
+#endif
+
+#define LexCmd flex -l
+#define LexLib -lfl
+#define TermcapLibrary -lncurses
+#ifndef UseStaticTermcapLib
+#define UseStaticTermcapLib NO
+#endif
+
+#define StandardCppDefines -traditional StandardDefines
+#define StandardDefines OSDefines SourceDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#define ServerExtraDefines XFree86ServerDefines
+#define ExtraFilesToClean *.err *.map
+
+#include <QNX4.rules>
+#include <xorg.cf>
+
diff --git a/nx-X11/config/cf/QNX4.rules b/nx-X11/config/cf/QNX4.rules
new file mode 100644
index 000000000..3ae8fe256
--- /dev/null
+++ b/nx-X11/config/cf/QNX4.rules
@@ -0,0 +1,65 @@
+XCOMM platform: $XFree86: xc/config/cf/QNX4.rules,v 1.1 1999/12/27 00:45:43 robin Exp $
+
+XCOMM Rules to work around wlib for QNX...
+
+#define LinkFile(tofile, fromfile) @@\
+tofile:: fromfile @@\
+ $(CP) fromfile tofile @@\
+ @@\
+includes:: tofile @@\
+ @@\
+depend:: tofile @@\
+ @@\
+clean:: @@\
+ RemoveFile(tofile)
+
+#define ObjectFromSpecialSource(dst, src, flags) @@\
+NoConfigRec(dst.c) @@\
+ @@\
+dst.c: src.c @@\
+ RemoveFile($@) @@\
+ $(CP) $? $@ @@\
+ @@\
+SpecialCObjectRule(dst,NullParameter,flags) @@\
+ @@\
+includes:: dst.c @@\
+ @@\
+depend:: dst.c @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.c)
+
+
+#define ObjectFromSpecialAsmSource(dst, src, flags) @@\
+dst.S: src.S @@\
+ RemoveFile($@) @@\
+ $(CP) $? $@ @@\
+ @@\
+dst.o: dst.S @@\
+ AssembleObject(dst,flags) @@\
+ @@\
+dst.i: dst.S @@\
+ CPPOnlyAsm(dst,flags) @@\
+ @@\
+depend:: dst.S @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.S)
+
+/* This is the rule to make reloc. OMF objects. We use a little
+ * trick which works only for OMF....
+ * "catomf" can be downloaded from
+ * http://prdownloads.sourceforge.net/openqnx/catomf.tar.gz
+ * or contact Rick Lake <rick@anp.nl>
+ */
+#define NormalRelocatableTarget(objname,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ /usr/local/bin/catomf -O $@ objlist
+
+
+
+
+
diff --git a/nx-X11/config/cf/README b/nx-X11/config/cf/README
new file mode 100644
index 000000000..c4c5f59ab
--- /dev/null
+++ b/nx-X11/config/cf/README
@@ -0,0 +1,700 @@
+$Xorg: README,v 1.4 2000/08/18 04:03:58 coskrey Exp $
+
+
+
+
+$XFree86: xc/config/cf/README,v 1.20 2003/04/14 20:35:50 herrb Exp $
+
+The easiest way to write an Imakefile is to find another one that does
+something similar and copy/modify it!
+
+To change any of these variables, edit the site.def file.
+
+Imake.tmpl provides defaults for the following variables:
+
+ AlternateIncRoot compiler needs -I to find project includes
+ AlternateUsrLibDir linker needs -L to find project libraries
+ ArCmd command used to create libraries
+ ArCmdBase program name part of ArCmd
+ ArAddCmd flags to have ArCmdBase add files to a library
+ ArExtCmd flags to have ArCmdBase extract files
+ AsCmd command used to run assembler
+ BootstrapCFlags missing cpp symbols needed to get started
+ BourneShell command used to run Bourne Shell
+ CCsuf suffix that C++ source files have
+ CURDIR current directory relative to top of sources
+ CcCmd command to run C compiler
+ CompressCmd command to run compress program
+ ConstructMFLAGS System V option to set MFLAGS make variable
+ CpCmd command to copy one file to another
+ CplusplusCmd command to run C++ compiler
+ CplusplusFilt command to run C++ name demangler
+ CplusplusYaccCmd command to produce C++ source from yacc source
+ CppCmd command to run C preprocessor
+ CrossCompiling cross compiling? (not fully supported)
+ DebuggableCDebugFlags C compiler -I's and -D's to turn on debug info
+ DefaultCCOptions default special C compiler options
+ DefaultCDebugFlags debug/optimize flags for programs
+ DefaultUsrBin program directory used even if PATH not set
+ DependFlags extra makedepend flags
+ DoRanlibCmd boolean for system uses ranlib
+ EqnCmd command used for eqn
+ ExecableScripts boolean for systems that can exec() #!/bin/sh
+ ExpandManNames boolean to expand man pages names to long form
+ ExtraFilesToClean extra files to remove on make clean
+ ExtraLibraries system-specific libraries need to link
+ ExtraLoadFlags system-specific loader flags
+ FileManSuffix man suffix for file format pages
+ FilesToClean files to delete in make clean
+ FortranCmd command to run Fortran compiler
+ FortranDebugFlags flags for Fortran debug info
+ FortranFlags Fortran compiler flags
+ GzipCmd command to run gzip program
+ HasBSD44Sockets boolean for system has BSD4.4 sockets
+ HasBsdMake use the 4.4BSD variant of the make program?
+ HasBsearch boolean for libc has bsearch()
+ HasBrokenCCForLink boolean for brain damaged cc driver
+ HasCenterLineC boolean for system has CenterLine C compiler
+ HasCenterLineCplusplus boolean for system has CenterLine C++ compiler
+ HasClearmake use Clearcase's clearmake make program?
+ HasCodeCenter boolean for system has CodeCenter
+ HasCookieMaker boolean for system has xauth cookie generator
+ HasCplusplus system has a C++ compiler?
+ HasDECnet system has DECnet?
+ HasFortran boolean for system has Fortran compiler
+ HasGcc boolean for system has GNU gcc compiler
+ HasGcc2 boolean for system has GNU gcc 2.x compiler
+ HasGcc2ForCplusplus use gcc 2 for C++ programs?
+ HasGnuMake use the GNU make program?
+ HasGhostPCL boolean for system has GhostPCL
+ HasGhostScript boolean for system has GhostScript
+ HasKrbIV system has Kerberos version IV support?
+ HasKrb5 system has Kerberos version 5 support?
+ HasLargeTmp boolean for system has /tmp space
+ HasLatex system has LaTeX document preparation software
+ HasLibCrypt boolean for system has libcrypt
+ HasMotif boolean for system has Motif
+ HasMotif2 boolean for system has Motif2 or OpenMotif
+ HasNdbm boolean for system has ndbm routines
+ HasPoll use poll() syscall?
+ HasPurify boolean for system has Purify
+ HasPutenv boolean for libc has putenv()
+ HasSecureRPC boolean for Sun Secure RPC
+ HasSetProcTitle boolean for setproctitle()
+ HasSetUserContext boolean for setusercontext()
+ HasSentinel boolean for system has Sentinel available
+ HasSharedLibraries boolean for system has shared libraries
+ HasShm boolean for System V shared memory
+ HasSockets boolean for system has BSD sockets
+ HasStrcasecmp boolean for system implements str[n]casecmp
+ HasStreams use STREAMS I/O interface?
+ HasSymLinks boolean for system has symbolic links
+ HasTestCenter boolean for system has TestCenter
+ HasVarDirectory boolean for system has /var
+ HasVFork boolean for system has vfork()
+ HasVoidSignalReturn boolean for POSIX signal() procs
+ HasZlib boolean for system has libz
+ IncludeSharedObjectInNormalLib define for static libs to include
+ -fPIC objects on relevant archs
+ IncRoot parent of X11 include directory
+ InstBinFlags install flags for binaries
+ InstDatFlags install flags for data files
+ InstIncFlags install flags for header files
+ InstKmemFlags install flags for xload to get at /dev/kmem
+ InstLibFlags install flags for libraries
+ InstManFlags install flags for manual pages
+ InstPgmFlags install flags for normal programs
+ InstUidFlags install flags for xterm to chown /dev/ptys
+ InstallCmd command to install files
+ KrbIVIncludes where to include KerberosIV header files from
+ KrbIVLibraries where to load KerberosIV libraries from
+ Krb5Includes where to include Kerberos header files from
+ Krb5Libraries where to load Kerberos libraries from
+ LdCmd command to run loader
+ LdCombineFlags flags for incremental loading
+ LexCmd command to run lex
+ LexLib library for programs using lex output
+ LintCmd command to run lint
+ LintLibFlag flags to generate lint libraries
+ LintOpts lint options to control strictness
+ LnCmd command to link two files
+ LoaderLibPrefix loader flags before libraries
+ LocalRulesFile site-specific file with additional imake rules
+ LocalTmplFile file with additional imake variables
+ MacroFile name of machine-dependent config params file
+ MacroIncludeFile <MacroFile>
+ MakeCmd command to run make
+ Malloc0ReturnsNull boolean for malloc(0) == NULL
+ Malloc0ReturnsNullDefines -D's to build libX11/libXt
+ MathLibrary library for programs using C math functions
+ MkCookieCmd command to generate an xauth cookie
+ MsMacros macro flag for TroffCmd, normally "-ms"
+ MvCmd command to rename a file
+ NdbmDefines -D's to turn on use of ndbm routines
+ NeedConstPrototoypes whether const is supported
+ NeedFunctionPrototypes whether or not to force function prototypes
+ NeedNestedPrototypes whether nested prototypes are supported
+ NeedVarargsPrototypes whether varargs prototypes are supported
+ NeedWidePrototypes whether or not to widen function prototypes
+ NoOpCDebugFlags C compiler flags to not debug or optimize
+ NoRConst YES if const for structs of funcs is bad
+ OSMajorVersion major version number of operating system
+ OSMinorVersion minor version number of operating system
+ OSName operating system name
+ OSTeenyVersion maintenance version number of operating system
+ OptimizedCDebugFlags C compiler flags to turn on optimization
+ XtPopdownConformance XtPopdown conformans to the specification
+ PreProcessCmd command to run /lib/cpp on scripts
+ RanlibCmd command to clean up libraries
+ RanlibInstFlags flags to ranlib after copying
+ ResourceConfigurationManagement boolean for Xt's Resource Configuration
+ Management
+ RmCmd command to delete files
+ ShLibDir directory in which to install shared libraries
+ StandardCppDefines -D's for running cpp
+ StandardDefines -D's for running C compiler
+ StandardIncludes -I's for running C compiler
+ StripInstalledPrograms boolean for sites that want to install -s
+ SystemV boolean for systems that are at least SVR2
+ SystemV4 boolean for SVR4 systems
+ TOPDIR relative path to top of sources
+ TagsCmd command to run tags
+ TblCmd command to run tbl
+ TroffCmd command to run troff to get PostScript
+ UNCOMPRESSPATH command to run uncompress (obsolete)
+ UnalignedReferencesAllowed boolean for unaligned copies ok
+ UsrLibDir directory in which to install libraries
+ YaccCmd command to run yacc
+
+X11.tmpl provides defaults for the following variables:
+
+ AdmDir directory containing system log files
+ AllocateLocalDefines -D's to turn on alloca() (should be in Imake.tmpl)
+ BDFTOSNFFILT command to run bdftosnf
+ BaseExtensionDefines universal extensions to use
+ BinDir directory in which to install programs
+ BuildAppgroup build AppGroup extension in server
+ BuildCup build Colormap Utilization extension in server
+ BuildDBE build DOUBLE-BUFFER extension
+ BuildDmx build Distributed Multihead X server and extension
+ BuildDPMS build Display Power Management Signaling extension
+ BuildFontServer build font server
+ BuildFonts build pcf fonts
+ BuildIncRoot relative path to location of headers in build
+ BuildIncTop path from build includes directory to top
+ BuildEVI build EVI server extension
+ BuildLBX build LBX (aka X.fast) server extension
+ BuildMultibuffer build Multibuffer extension (obsolete)
+ BuildPlugin build xrx plug-in for web browsers
+ BuildRECORD Build RECORD extension
+ BuildServer build X server
+ BuildXAudio build Audio
+ BuildXAServer build Audio server
+ BuildXCSecurity Build Security Extension
+ BuildXInputExt build X Input extension (requires ddx support,
+ which exists only in Xhp and XFree86)
+ BuildXInputLib build X Input library
+ BuildXKB build X Keyboard Extension?
+ BuildXKBlib build X Keyboard Extension into Xlib?
+ UseXKBInClients Use XKB functions in normal clients?
+ ConfigDir install directory for config files
+ ConnectionFlags -D's for supported transports
+ ContribDir location of user-contributed sources
+ DebugLibFS build libFS_d.a
+ DebugLibICE build libICE_d.a
+ DebugLibSM build libSM_d.a
+ DebugLibX11 build libX11_d.a
+ DebugLibXau build libXau_d.a
+ DebugLibXaw build libXaw_d.a
+ DebugLibXdmcp build libXdmcp_d.a
+ DebugLibXext build libXext_d.a
+ DebugLibXi build libXi_d.a
+ DebugLibXmu build libXmu_d.a
+ DebugLibXt build libXt_d.a
+ DebugLibXtst build libXtst_d.a
+ DebugLibXag build libXag_d.a
+ DebugOldX build liboldX_d.a
+ DefaultCursorTheme name of default cursor theme
+ DefaultFSConfigFile default font server config file
+ DefaultFontPath default server font path
+ DefaultRGBDatabase default server rgb color database
+ DefaultSystemPath default system xdm PATH environment variable
+ DefaultSystemShell default /bin/sh
+ DefaultUserPath default user xdm PATH environment variable
+ DependCmd command to run makedepend
+ DependDir build directory containing makedepend program
+ DriverManDir directory in which to install driver man pages
+ DriverManSuffix man suffix for driver pages
+ ExtensionDefines -D's for universal extensions
+ ExtensionOSDefines -D's for additional extensions
+ FontCompilerFlags flags for bdftosnf
+ FontDefines -D's to turn on font options
+ FontDir directory in which to install fonts
+ FontFilters -D's to specify font conversion filters
+ FontOSDefines -D's for which fonts to support
+ ForceNormalLib force building of .a in addition to shared lib
+ GzipFontCompression boolean for using gzip instead of compress
+ HasXdmAuth boolean for using XDM-AUTHORIZATION-1;
+ needs Wraphelp.c, see Release Notes
+ InstallAppDefFiles install new app defaults files over old?
+ InstallFSConfig install fs config file over old?
+ InstallLibManPages boolean for installing library man pages
+ InstallSecurityConfig install server security policy file over old?
+ InstallXdmConfig install xdm config files over old?
+ InstallXinitConfig install xinit config files over old?
+ KrbIVDefines defines for use with KerberosIV
+ LibDir directory in which to install X11 support files
+ LibManSuffix man suffix for library pages
+ LibmanDir directory in which to install library man pages
+ LintlibDir directory in which to install lint libs
+ ManDir directory in which to install program man pages
+ ManDirectoryRoot parent of man directories relative to root
+ ManPath full path of parent directory
+ ManSourcePath common prefix of man page directories
+ ManSuffix man suffix for programs
+ MiscManSuffix man suffix for miscellaneous pages
+ MiscManDir directory in which to install misc man pages
+ NeedDefaultDepLibs boolean for enabling default DEPLIBS
+ NlsDir directory in which to install nls files
+ NormalLibFS build libFS.a
+ NormalLibICE build libICE.a
+ NormalLibSM build libSM.a
+ NormalLibX11 build libX11.a
+ NormalLibXau build libXau.a
+ NormalLibXaw build libXaw.a
+ NormalLibXdmcp build libXdmcp.a
+ NormalLibXext build libXext.a
+ NormalLibXi build libXi.a
+ NormalLibXmu build libXmu.a
+ NormalLibXt build libXt.a
+ NormalLibXtst build libXtst.a
+ NormalLibXag build libXag.a
+ NormalOldX build liboldX.a
+ OsNameDefines If uname(2) unavailable, set to -DOS_NAME=OSName
+ PrimaryScreenResolution resolution of default server screen
+ ProfileLibFS build libFS_p.a
+ ProfileLibICE build libICE_p.a
+ ProfileLibSM build libSM_p.a
+ ProfileLibX11 build libX11_p.a
+ ProfileLibXau build libXau_p.a
+ ProfileLibXaw build libXaw_p.a
+ ProfileLibXdmcp build libXdmcp_p.a
+ ProfileLibXext build libXext_p.a
+ ProfileLibXi build libXi_p.a
+ ProfileLibXmu build libXmu_p.a
+ ProfileLibXt build libXt_p.a
+ ProfileLibXtst build libXtst_p.a
+ ProfileLibXag build libXag_p.a
+ ProfileOldX build liboldX_p.a
+ ProjectX version indicating this is the X Window System
+ RemoveTargetProgramByMoving boolean for rm -f that doesn't
+ SHELLPATH -D for /bin/sh
+ ServerConfigDir directory for server security config files
+ ServerDefines complete -D's for server
+ ServerExtraDefines special -D's for server
+ ServerOSDefines OS -D's for server
+ ServerAssertDefines -DNDEBUG for no assertions, /**/ for assertions
+ SharedLibFS boolean for making sharable libFS.so
+ SharedLibICE boolean for making sharable libICE.so
+ SharedLibSM boolean for making sharable libSM.so
+ SharedLibX11 boolean for making sharable libX11.so
+ SharedLibXau boolean for making sharable libXau.so
+ SharedLibXaw boolean for making sharable libXaw.so
+ SharedLibXdmcp boolean for making sharable libXdmcp.so
+ SharedLibXext boolean for making sharable libXext.so
+ SharedLibXi boolean for making sharable libXi.so
+ SharedLibXmu boolean for making sharable libXmu.so
+ SharedLibXt boolean for making sharable libXt.so
+ SharedLibXtst boolean for making sharable libXtst.so
+ SharedLibXag boolean for making sharable libXag.so
+ SharedOldX boolean for making sharable liboldX.so
+ ShmDefines MIT-SHM define
+ TwmDir directory in which to install twm config files
+ UseCCMakeDepend boolean for using alternate makedepend script
+ UseRgbTxt use rgb.txt file as is instead of DBM-compiled
+ VarDirectory directory in /var for logs, etc., and config
+ VendorHasX11R6_3libXext don't need Security & AppGroup in xrx plug-in
+ XAppLoadDir directory in which to install app defaults
+ XFileSearchPathBase base file search path
+ XFileSearchPathDefault default path to search for app defaults files
+ XInputDefines XINPUT define
+ XMalloc0ReturnsNullDefines -D's specifically for libX11
+ XawClientDepLibs DEPLIBS for clients that use Xaw
+ XawClientLibs LOCAL_LIBRARIES for clients that use Xaw
+ XdmConfigurationSubdirectory name of default xdm configuration
+ XdmDir directory in which to install xdm files
+ XdmServersType type of xdm Xservers file to install
+ XinitDir directory in which to install xinit files
+ XPrintDir parent of X Print server config directory
+ XprtServer build the X Print server
+ XpRasterDDX include the raster print ddx driver
+ XpColorPclDDX include the color PCL print ddx driver
+ XpMonoPclDDX include the monochrome PCL print ddx driver
+ XpPostScriptDDX include the PostScript print ddx driver
+ XpPdfDDX include the PDF print ddx driver
+ XpSvgDDX include the SVG print ddx driver
+ XmanLocalSearchPath non-standard path for man pages
+ XtErrorPrefix leading text in XtError() msg; eg. 'X Toolkit '
+ XtWarningPrefix leading text in XtWarning()msg, same as above
+ XtMalloc0ReturnsNullDefines -D's specifically for libXt
+ ZBDFTOSNFFILT -D to run uncompress and bdftosnf (obsolete)
+
+
+Library.tmpl provides defaults for the following variables:
+
+ AvoidNullMakeCommand for makes that spout about $(_NULLCMD_)
+ LibraryCCOptions special C compiler options for libraries
+ LibraryCDebugFlags library debug/optimize flags to override defs
+ LibraryCcCmd command to run C compiler in libraries
+ LibraryCplusplusOptions special C++ options for libraries
+ LibraryCplusplusDebugFlags library debug/optimize flags for C++
+ LibraryCplusplusCmd command to run C++ compiler in libraries
+ LibraryDefines -D's for libraries
+ SeparateSharedCompile shared and unshared libs use same binaries?
+
+
+Server.tmpl provides defaults for the following variables:
+
+ ServerCCOptions server C compiler options to override defaults
+ ServerCcCmd command to run C compiler in server
+ ServerCDebugFlags server debug/opt compiler flags
+ ServerDefines server standard -D's
+ InstallServerSetUID does this system need X server suid to root?
+
+
+Threads.tmpl provides defaults for the following variables:
+
+ LocalThreads whether to enable multi-threading support
+ LocalThreadsDefines -D flags needed in this directory
+
+
+An <os>Lib.rules file provides defaults for the following variables:
+
+ HasSharedLibraries boolean for using shared libraries
+ SharedDataSeparation boolean indicating separate data/code
+ SharedCodeDef -D's for compiling shared library files
+ SharedLibraryDef -D's for defining which kind of shared lib
+ ShLibIncludeFile location of the <os>Lib.tmpl file
+ SharedLibraryLoadFlags loader flags when making the library
+ UseExportLists boolean for using an export list
+ PositionIndependentCFlags PIC compiler flags for C
+ PositionIndependentCplusplusFlags PIC compiler flags for C++
+
+ Note: PositionIndependentCplusplusFlags is only required if the
+ C and C++ compilers use different flags to build PIC code. The
+ default configuration will try to use PositionIndependentCFlags
+ for both C and C++ compiles.
+
+An <os>Lib.tmpl file provides defaults for the following variables:
+
+ SharedFSReqs required libs for libFS.so
+ SharedFSRev version number for libFS.so
+ SharedICEReqs required libs for libICE.so
+ SharedICERev version number for libICE.so
+ SharedOldXReqs required libs for liboldX.so
+ SharedOldXRev version number for liboldX.so
+ SharedSMReqs required libs for libSM.so
+ SharedSMRev version number for libSM.so
+ SharedX11Reqs required libs for libX11.so
+ SharedX11Rev version number for libX11.so
+ SharedXauReqs required libs for libXau.so
+ SharedXauRev version number for libXau.so
+ SharedXawReqs required libs for libXaw.so
+ SharedXawRev version number for libXaw.so
+ SharedXdmcpReqs required libs for libXdmcp.so
+ SharedXdmcpRev version number for libXdmcp.so
+ SharedXextReqs required libs for libXext.so
+ SharedXextRev version number for libXext.so
+ SharedXiReqs required libs for libXi.so
+ SharedXiRev version number for libXi.so
+ SharedXmuReqs required libs for libXmu.so
+ SharedXmuRev version number for libXmu.so
+ SharedXtReqs required libs for libXt.so
+ SharedXtRev version number for libXt.so
+ SharedXtstReqs required libs for libXtst.so
+ SharedXtstRev version number for libXtst.so
+ SharedXmReqs required libs for libXm.so
+ SharedXmRev version number for libXm.so
+ SharedMrmReqs required libs for libMrm.so
+ SharedMrmRev version number for libMrm.so
+ SharedUilReqs required libs for libUil.so
+ SharedUilRev version number for libUil.so
+ SharedTtReqs required libs for libtt.so
+ SharedTtRev version number for libtt.so
+ SharedPamReqs required libs for libpam.so
+ SharedPamRev version number for libpam.so
+ SharedDtSvcReqs required libs for libDtSvc.so
+ SharedDtSvcRev version number for libDtSvc.so
+ SharedDtSearchReqs required libs for libDtSearch.so
+ SharedDtSearchRev version number for libDtSearch.so
+ SharedDtWidgetReqs required libs for libDtWidget.so
+ SharedDtWidgetRev version number for libDtWidget.so
+ SharedDtHelpReqs required libs for libDtHelp.so
+ SharedDtHelpRev version number for libDtHelp.so
+ SharedDtPrintReqs required libs for libDtPrint.so
+ SharedDtPrintRev version number for libDtPrint.so
+ SharedDtTermReqs required libs for libDtTerm.so
+ SharedDtTermRev version number for libDtTerm.so
+ SharedDtMrmReqs required libs for libDtMrm.so
+ SharedDtMrmRev version number for libDtMrm.so
+
+Vendor.cf files and/or site/host specific .def files may define the
+following variables:
+
+ ProjectRoot The directory under which the installation
+ will operate. This value will be hard coded
+ into some programs. As a result do not use it
+ to specify the installation directory for a
+ cross compiled system, use DESTDIR to
+ accomplish that task.
+
+The following variables are used by some part of the tree:
+
+ AckToolset programs/Xserver/hw/xfree86
+ BuildChooser build the xdm chooser program?
+ SharedLibXdmGreet use xdm shared dynamic greeter library?
+ LatexCmd command to run LaTeX on a document
+ DvipsCmd command to turn .dvi file into PostScript
+ MotifBC using Motif 1.1.1, 1.1.2, or 1.1.3?
+ GetValuesBC compat GetValues behavior for broken apps?
+ NeedBerklib application needs libXbsd?
+ SvgaConfig default SVGA configuration
+ HasGetReturnAddress util/memleak
+ HasShadowPasswd system has getspnam() function
+ XnestServer build X server with Xlib-based ddx
+ XVirtualFramebufferServer build X server with virtual memory framebuffer
+ WebServer host:port of your Web server (see programs/xrx)
+ HtmlDir path used by Web server for HTML and RX docs
+ CgiBinDir path used by Web server for CGI programs
+ ProxyManager ICE network ID to contact a running proxymngr
+ XdmxServer build Distributed Multihead X server
+
+
+Make Variables
+
+The following make variables are used by imake rules and may be set in
+an individual Imakefile.
+
+DEFINES program-specific -D flags and other arguments
+ to pass to the C compiler, lint, and makedepend.
+DEPEND_DEFINES program-specific flags in addition to
+ $(DEFINES) to pass to lint and makedepend.
+ This is usually used when there are special
+ compilation rules for individual files, and
+ the defines passed to those files affect
+ makedepend results. If they can be passed to
+ all files during the makedepend step without
+ affecting the results for other files,
+ DEPEND_DEFINES is used to do that. Example is
+ the Xlib Imakefile.
+INCLUDES program-specific -I flags.
+HEADERS .h files to install with "make includes" and
+ "make install". If this Imakefile includes
+ Library.tmpl there are no headers, include
+ this line instead of a HEADERS definition:
+ #define LibHeaders NO
+REQUIREDLIBS when building a shared library, other libraries used
+ by this library that should be referenced at
+ link time.
+LINTLIBS program-specific libraries for lint.
+LOCAL_LDFLAGS program-specific flags for the linker.
+LOCAL_LIBRARIES project libraries (usually specified
+ as -lname) needed by this program.
+ For example, "-lXt -lXext -lX11".
+ Used by SimpleProgramTarget and
+ ComplexProgramTarget* rules.
+ Do not include any system-specific libraries here.
+SYS_LIBRARIES system libraries (usually specified
+ as -lname) needed by this program.
+ For example "MathLibrary".
+ Do not include any system-specific libraries
+ such as "-lnsl" here; they are automatically
+ added to the link command by the
+ vendor-specific .cf file.
+SUBDIRS for an Imakefile in a directory containing
+ subdirectories, this names the subdirectories.
+ Such an Imakefile also needs to #define IHaveSubdirs
+ and call MakeSubdirs() and DependSubdirs().
+MANSUFFIX suffix used by InstallManPage* rules.
+ May be set to $(LIBMANSUFFIX), $(FILEMANSUFFIX), or
+ $(MISCMANSUFFIX) in directories for libraries or data
+ files.
+
+
+Rule-specific variables that may be set in an individual Imakefile.
+If you aren't using these rules, you may need variables with a similar
+function, but you need not use these names. However, following these
+conventions may make your Imakefile easier to read and maintain.
+
+DEPLIBS library dependencies for ComplexProgramTarget
+SRCS source files used by ComplexProgramTarget and
+ DependTarget.
+OBJS object files used by ComplexProgramTarget
+PROGRAMS default target used with ComplexProgramTarget_(n)
+SRCS1 source files used by ComplexProgramTarget_1
+OBJS1 object files used by ComplexProgramTarget_1
+DEPLIBS1 library dependencies for ComplexProgramTarget_1
+SRCS2 source files used by ComplexProgramTarget_2
+OBJS2 object files used by ComplexProgramTarget_2
+DEPLIBS2 library dependencies for ComplexProgramTarget_2
+SRCS3 source files used by ComplexProgramTarget_3
+OBJS3 object files used by ComplexProgramTarget_3
+DEPLIBS3 library dependencies for ComplexProgramTarget_3
+
+Variables that can be set on the make command line:
+
+DESTDIR directory under which "make install" should
+ install instead of "/"; used only for testing
+ "make install" rules, binary package building,
+ and specifying alternative installation directories
+ for cross compiles.
+FILE file for "lint1" target to run lint on.
+CDEBUGFLAGS -g and/or -O flag to control C compiler optimization.
+CXXDEBUGFLAGS -g and/or -O flag to control C++ optimization.
+LDSTRIPFLAGS flag to have linker strip objects (typically -x).
+ Typically set to the empty string to prevent
+ the linker from stripping objects; use this
+ way when setting CDEBUGFLAGS to "-g".
+
+These variables are set in project-specific files such as X11.tmpl.
+They should NOT be set in an Imakefile. These variables are sometimes
+misused; they are included here to remind Imakefile writers NOT to use
+them:
+
+EXTRA_DEFINES project-specific -D flags
+EXTRA_INCLUDES project-specific -I flags
+EXTRA_ICONFIGFILES Additional project-specific imake config files
+ to add to ICONFIGFILES.
+ This is a list of files that define variables
+ that might affect compilation of some files.
+
+Many other make variables are set up by the imake config files and can
+be used in an Imakefile. The easiest way to discover them is to look
+at the Makefile generated by an empty Imakefile.
+
+
+Comments
+
+Use C comment syntax in an Imakefile for comments that should not
+appear in the resulting Makefile.
+Use "XCOMM" at the start of each
+line to produce a comment that will appear in the Makefile.
+(The "XCOMM" will
+be translated into the Makefile comment character "#" by imake.)
+Do NOT use "#" as a comment character in Imakefiles; it confuses the C
+preprocessor used by imake on some systems.
+
+
+Imake variables
+
+Don't abuse the variables in X11.tmpl that describe
+particular pieces of X by using them to describe your own subsystems.
+Instead, create new variables that are defaulted using
+Imake.tmpl variables.
+
+
+Examples
+
+Since the easiest way to write an Imakefile is to start with one that
+works, here are some short, easy-to-read Imakefile examples in the X
+distribution:
+
+with subdirs: config/Imakefile
+library: lib/Xau/Imakefile
+simple program: programs/xdpyinfo/Imakefile
+complex progs: programs/xclipboard/Imakefile
+complex prog: programs/xmodmap/Imakefile
+
+Common Rules
+
+Here are some of the common rules for building programs. How to use
+them is described in Imake.rules and in the O'Reilly book "Software
+Portability with imake."
+
+Basic program-building rules
+
+All of these except NormalProgramTarget also generate rules to install
+the program and its manual page, and to generate dependencies.
+
+SimpleProgramTarget Use if there is only one program to be made
+ and it has only one source file.
+
+ComplexProgramTarget Use if there is only one program to be made
+ and it has multiple source files. Set SRCS to
+ the names of the source files, set OBJS to
+ the names of the object files, and set DEPLIBS
+ to the libraries that this program depends on.
+
+ComplexProgramTarget_1 Like ComplexProgramTarget, but uses SRCS1,
+ OBJS1, and DEPLIBS1 and can be used with
+ ComplexProgramTarget_2 and ComplexProgramTarget_3
+ to build up to three programs in the same directory.
+ Set PROGRAMS to the programs built by all of
+ these rules. For more than 3 programs, use
+ NormalProgramTarget for each.
+ComplexProgramTarget_2 Use after ComplexProgramTarget_1 for the
+ second program in a directory. Uses SRCS2,
+ OBJS2, and DEPLIBS2.
+ComplexProgramTarget_3 Use after ComplexProgramTarget_2 for the
+ third program in a directory. Uses SRCS3,
+ OBJS3, and DEPLIBS3.
+
+NormalProgramTarget Build a program. Can be used multiple times
+ with different arguments in the same Imakefile.
+
+Lower level rules, often used with NormalProgramTarget
+
+InstallProgram install a program.
+
+InstallManPage install a manual page.
+
+InstallDirectory install a directory.
+
+DependTarget() include once at end of Imakefile with
+ NormalProgramTarget rules or that uses Library.tmpl.
+ Generates dependencies for files named in SRCS.
+
+Manual page rules, commonly used only in special documentation directories:
+
+InstallManPage
+InstallManPageLong
+InstallManPageAliases
+
+Other rules:
+
+SpecialCObjectRule Compile a C file with special flags.
+AllTarget Declare additional targets to build.
+InstallAppDefaults Install X application defaults file.
+
+Imakefile for directory with subdirectories
+
+XCOMM this is a sample Imakefile for a directory containing subdirectories
+#define IHaveSubdirs
+#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)"
+SUBDIRS = list of subdirs ...
+MakeSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
+
+
+Common Targets
+
+These targets are typically NOT defined explicitly by the Imakefile
+writer; rather they are generated automatically by imake rules.
+They are listed here for the convenience of people using the resulting
+Makefile, not people writing the original Imakefile.
+
+all Default rule; builds whatever is in this directory.
+Makefile Remake the Makefile (use after changing Imakefile).
+ Run "make depend" after.
+Makefiles Remake all Makefiles in subdirectories. (Does
+ nothing if no subdirectories.)
+ Run "make depend" after.
+includes Generate and install in the tree any necessary
+ header files.
+depend Update dependencies in the Makefile calculated
+ by examining the source files.
+install Install what "make all" built on the system.
+install.man Install manual pages.
+clean Remove built objects and other derived files.
+lint Run lint.
+tags Create a tags file.
diff --git a/nx-X11/config/cf/Server.tmpl b/nx-X11/config/cf/Server.tmpl
new file mode 100644
index 000000000..bb769c5be
--- /dev/null
+++ b/nx-X11/config/cf/Server.tmpl
@@ -0,0 +1,79 @@
+XCOMM $XFree86: xc/config/cf/Server.tmpl,v 3.20 2002/11/20 04:32:55 dawes Exp $
+/*
+ * Server imakefile info - this contains any special redefinitions, etc.
+ * that Imakefiles in the server subtree will need.
+ */
+
+XCOMM $Xorg: Server.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+#define PassCDebugFlags CDEBUGFLAGS="$(CDEBUGFLAGS)" LDSTRIPFLAGS="$(LDSTRIPFLAGS)"
+
+#ifndef ServerCcCmd
+#define ServerCcCmd CcCmd
+#endif
+#ifndef ServerCCOptions
+#define ServerCCOptions DefaultCCOptions
+#endif
+#ifndef ServerDefines
+#define ServerDefines StandardDefines
+#endif
+/* Note: Changing ServerCDebugFlags has no effect because CDEBUGFLAGS is over-
+ ridden by PassCDebugFlags in the parent Makefile or toplevel xmakefile. */
+#ifndef ServerCDebugFlags
+#define ServerCDebugFlags DefaultCDebugFlags
+#endif
+#ifndef DoThreadedServer
+#define DoThreadedServer NO
+#endif
+#ifndef InstallServerSetUID
+#define InstallServerSetUID NO
+#endif
+
+#ifdef CrossCompileDir
+# ifndef StripPath
+# define StripPath(x) `echo x|sed "s%.*/%%"`
+# endif
+# ifndef CrossServerCcCmd
+# define CrossServerCcCmd Concat3(CrossCompileDir,/,StripPath(ServerCcCmd))
+# endif
+#endif
+
+/*
+ * SetUIDServerTarget - compile, link, and relink a setuid server
+ */
+#ifndef SetUIDServerTarget
+#if InstallServerSetUID
+#define SetUIDServerTarget(server,subdirs,objects,libs,syslibs) @@\
+ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(INSTUIDFLAGS))
+#else
+#define SetUIDServerTarget ServerTarget
+#endif
+#endif /* SetUIDServerTarget */
+
+#ifdef CrossCompileDir
+ CC = CrossServerCcCmd
+#else
+ CC = ServerCcCmd
+#endif
+ CCOPTIONS = ServerCCOptions
+#if DoThreadedServer
+SERVER_THREAD_DEFINES = XThreadsDefines ThreadTypeDefines
+#endif
+STD_DEFINES = ServerDefines $(SERVER_THREAD_DEFINES)
+CDEBUGFLAGS = ServerCDebugFlags
+EXT_DEFINES = ExtensionDefines
+OS_DEFINES = ServerOSDefines
+
+GLX_DEFINES = GlxDefines
+
+#ifndef GlxUseSGISI
+#define GlxUseSGISI NO
+#endif
+
+#ifdef XFree86Version
+#include <xf86.tmpl>
+#endif
+
+#ifdef XorgVersion
+#include <xorg.tmpl>
+#endif
diff --git a/nx-X11/config/cf/ServerLib.tmpl b/nx-X11/config/cf/ServerLib.tmpl
new file mode 100644
index 000000000..18a76746d
--- /dev/null
+++ b/nx-X11/config/cf/ServerLib.tmpl
@@ -0,0 +1,142 @@
+XCOMM $XFree86: xc/config/cf/ServerLib.tmpl,v 3.0tsi Exp $
+/*
+ * Server Library imakefile info - this contains any special
+ * redefinitions, etc. that Imakefiles in the various server library
+ * subtrees will need.
+ *
+ * Before including this, you must set the following boolean variables:
+ * DoSharedLib, DoNormalLib, DoDebugLib, DoProfileLib
+ *
+ */
+
+#ifndef DoNormalLib
+#define DoNormalLib YES
+#endif
+
+#ifndef LibraryDefines
+#define LibraryDefines StandardDefines
+#endif
+#ifndef LibraryCDebugFlags
+#define LibraryCDebugFlags DefaultCDebugFlags
+#endif
+#ifndef SeparateSharedCompile
+#define SeparateSharedCompile YES
+#endif
+#ifndef SharedServerLibraryDef
+#define SharedServerLibraryDef $(__NOOP__)
+#endif
+
+#ifndef LibraryCcCmd
+#if DoSharedLib && defined(SharedLibraryCcCmd)
+#define LibraryCcCmd SharedLibraryCcCmd
+#else
+#define LibraryCcCmd CcCmd
+#endif
+#endif
+#ifndef LibraryCCOptions
+#if DoSharedLib && defined(SharedLibraryCCOptions)
+#define LibraryCCOptions SharedLibraryCCOptions
+#else
+#define LibraryCCOptions DefaultCCOptions
+#endif
+#endif
+
+#if DoDebugLib
+#define _DebuggedLibMkdir() LibMkdir(debugger)
+#define _DebuggedObjCompile(options) DebuggedLibObjCompile(options)
+#define _DebuggedCleanDir() LibCleanDir(debugger)
+#else
+#define _DebuggedLibMkdir() $(_NULLCMD_)
+#define _DebuggedObjCompile(options) $(_NULLCMD_)
+#define _DebuggedCleanDir() $(_NULLCMD_)
+#endif
+
+#if DoProfileLib
+#define _ProfiledLibMkdir() LibMkdir(profiled)
+#define _ProfiledObjCompile(options) ProfiledLibObjCompile(options)
+#define _ProfiledCleanDir() LibCleanDir(profiled)
+#else
+#define _ProfiledLibMkdir() $(_NULLCMD_)
+#define _ProfiledObjCompile(options) $(_NULLCMD_)
+#define _ProfiledCleanDir() $(_NULLCMD_)
+#endif
+
+#if !DoNormalLib
+#define _NormalLibMkdir() $(_NULLCMD_)
+#define _NormalObjCompile(options) $(_NULLCMD_)
+#define _NormalCleanDir() $(_NULLCMD_)
+#else
+#if DoSharedLib && SeparateSharedCompile
+#define _NormalLibMkdir() LibMkdir(unshared)
+#define _NormalObjCompile(options) UnsharedLibObjCompile(options)
+#define _NormalCleanDir() LibCleanDir(unshared)
+#else
+#define _NormalLibMkdir() $(_NULLCMD_)
+#define _NormalObjCompile(options) NormalLibObjCompile(options)
+#define _NormalCleanDir() $(_NULLCMD_)
+#endif
+#endif
+
+#if !DoSharedLib || (DoNormalLib && !SeparateSharedCompile)
+#define _SharedObjCompile(options) $(_NULLCMD_)
+#else
+#if SeparateSharedCompile
+#define _SharedObjCompile(options) NormalSharedLibObjCompile(options)
+#else
+#define _SharedObjCompile(options) NormalLibObjCompile(options)
+#endif
+#endif
+
+#define SRCsuf c
+#define Isuf i
+
+#ifndef LibraryObjectRule
+#define LibraryObjectRule() @@\
+all:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _NormalLibMkdir() @@\
+ @@\
+includes:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _NormalLibMkdir() @@\
+ @@\
+.SRCsuf.Osuf: @@\
+ _DebuggedObjCompile($(_NOOP_)) @@\
+ _ProfiledObjCompile($(_NOOP_)) @@\
+ _NormalObjCompile($(_NOOP_)) @@\
+ _SharedObjCompile(SharedServerLibraryDef) @@\
+ @@\
+clean:: @@\
+ _DebuggedCleanDir() @@\
+ _ProfiledCleanDir() @@\
+ _NormalCleanDir() @@\
+
+#endif /* LibraryObjectRule */
+
+#ifndef SpecialLibObjectRule
+#define SpecialLibObjectRule(objs,depends,options) @@\
+objs: depends @@\
+ _DebuggedObjCompile(options) @@\
+ _ProfiledObjCompile(options) @@\
+ _NormalObjCompile(options) @@\
+ _SharedObjCompile(options) @@\
+
+#endif /* SpecialLibObjectRule */
+
+#ifndef SpecialCLibObjectRule
+#define SpecialCLibObjectRule(basename,depends,options) @@\
+SpecialLibObjectRule(basename.Osuf,basename.SRCsuf depends,options) @@\
+ @@\
+basename.Isuf: basename.SRCsuf depends @@\
+ CPPOnlyCompile(basename.SRCsuf,options) @@\
+ @@\
+CenterLoadTarget(debug_src,basename.SRCsuf,NullParameter,$(ALLDEFINES) options)
+#endif /* SpecialCLibObjectRule */
+
+#if DoSharedLib
+LibraryObjectRule()
+#else
+NormalLibraryObjectRule()
+#endif
diff --git a/nx-X11/config/cf/Threads.tmpl b/nx-X11/config/cf/Threads.tmpl
new file mode 100644
index 000000000..bb0a7e805
--- /dev/null
+++ b/nx-X11/config/cf/Threads.tmpl
@@ -0,0 +1,105 @@
+XCOMM $Xorg: Threads.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/Threads.tmpl,v 3.3tsi Exp $
+
+/*
+ * For a multi-threaded application or library,
+ * Define LocalThreadsDefines in your Imakefile (unless you like the
+ * project default), then include this file.
+ * Everything else should be automatic.
+ */
+
+#ifndef LocalThreadsDefines
+#ifdef ProjectThreadsDefines
+#define LocalThreadsDefines ProjectThreadsDefines
+#else
+#define LocalThreadsDefines /**/
+#endif
+#endif
+
+#ifndef LocalThreads
+#ifdef ThreadedProject
+#define LocalThreads ThreadedProject
+#else
+#define LocalThreads YES
+#endif
+#endif
+
+#ifndef HasCThreads
+#define HasCThreads NO
+#endif
+
+#ifndef ThreadTypeDefines
+#if HasCThreads
+#define ThreadTypeDefines -DCTHREADS
+#else
+#define ThreadTypeDefines /**/
+#endif
+#endif
+#ifndef SystemMTDefines
+#define SystemMTDefines /**/
+#endif
+#ifndef LibraryMTDefines
+#define LibraryMTDefines /**/
+#endif
+#ifndef HasThreadSafeAPI /* does it have getpwnam_r, etc. */
+#define HasThreadSafeAPI YES
+#endif
+#ifndef MTSafeAPIDefines
+#if HasThreadSafeAPI
+#define MTSafeAPIDefines -DXUSE_MTSAFE_API
+#else
+#define MTSafeAPIDefines /**/
+#endif
+#endif
+#ifndef ThreadPreStdAPIDefines
+#define ThreadPreStdAPIDefines /* nominally for POSIX P1003.4a (Draft 4) API */
+#endif
+#ifndef CplusplusSystemMTDefines
+# ifdef SystemMTDefines
+# define CplusplusSystemMTDefines SystemMTDefines
+# else
+# define CplusplusSystemMTDefines /**/
+# endif
+#endif
+#ifndef ThreadsCompileFlags
+#define ThreadsCompileFlags /**/
+#endif
+#ifndef ThreadsCplusplusCompileFlags
+# ifdef ThreadsCompileFlags
+# define ThreadsCplusplusCompileFlags ThreadsCompileFlags
+# else
+# define ThreadsCplusplusCompileFlags /**/
+# endif
+#endif
+
+#ifndef ThreadsLibraries
+#define ThreadsLibraries /**/
+#endif
+#ifndef ThreadsCplusplusLibraries
+# ifdef ThreadsLibraries
+# define ThreadsCplusplusLibraries ThreadsLibraries
+# else
+# define ThreadsCplusplusLibraries /**/
+# endif
+#endif
+#ifndef ThreadsLoadFlags
+#define ThreadsLoadFlags ThreadsCompileFlags
+#endif
+#ifndef ThreadsCplusplusLoadFlags
+#define ThreadsCplusplusLoadFlags ThreadsCplusplusCompileFlags
+#endif
+
+#if LocalThreads
+ THREADS_CFLAGS = ThreadsCompileFlags
+ THREADS_DEFINES = LocalThreadsDefines ThreadTypeDefines SystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
+ THREADS_LDFLAGS = ThreadsLoadFlags
+ THREADS_LIBS = ThreadsLibraries
+
+ THREADS_CXXFLAGS = ThreadsCplusplusCompileFlags
+THREADS_CXXDEFINES = LocalThreadsDefines ThreadTypeDefines CplusplusSystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
+THREADS_CXXLDFLAGS = ThreadsCplusplusLoadFlags
+ THREADS_CXXLIBS = ThreadsCplusplusLibraries
+#endif
diff --git a/nx-X11/config/cf/Win32.cf b/nx-X11/config/cf/Win32.cf
new file mode 100644
index 000000000..af864a93f
--- /dev/null
+++ b/nx-X11/config/cf/Win32.cf
@@ -0,0 +1,133 @@
+XCOMM platform: $Xorg: Win32.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName OSMajorVersion./**/OSMinorVersion
+
+#ifndef CompilerMajorVersion
+/* 0 == NT 3.1 Win32 SDK, 2 == MSVC++ 2, 4 == MSVC 4 */
+#define CompilerMajorVersion 4
+#endif
+
+#define BootstrapCFlags -DWIN32
+#ifdef _M_IX86
+#define CpuDefines -D_X86_
+#endif
+/* brain-damaged windows headers will not compile with -Za */
+#define StandardDefines -DWIN32 -DWIN32_LEAN_AND_MEAN -D_DLL -D_MT -D__STDC__ CpuDefines
+#if CompilerMajorVersion < 4
+#define DefaultCCOptions -nologo -batch -G4 -W2
+#else
+#define DefaultCCOptions -nologo -G4 -W2
+#endif
+#if CompilerMajorVersion < 4
+#define DebuggableCDebugFlags -Zi
+#else
+#define DebuggableCDebugFlags -Zi -Od
+#endif
+#define ThreadedX YES
+#define HasThreadSafeAPI NO
+#define CpCmd copy
+#define LnCmd copy
+#define MvCmd ren
+#define RmCmd del
+#ifndef RmTreeCmd
+XCOMM choices here include:
+XCOMM o `del /q /s` and live with pressing the "any" key
+XCOMM o `deltree, copied from MS-DOS 5
+XCOMM o `rm -rfx` from the SDK Subscription (MSTOOLS in your Path)
+XCOMM o `rm -rf` from the GNU file utilities
+XCOMM We're using the GNU file utilities
+#define RmTreeCmd rm -rf
+#endif
+#define CcCmd cl
+#define HasCplusplus YES
+#define CplusplusCmd cl
+#if CompilerMajorVersion < 4
+#define PreProcessCmd CcCmd -nologo -batch -EP
+#define CppCmd CcCmd -nologo -batch -E
+#else
+#define PreProcessCmd CcCmd -nologo -EP
+#define CppCmd CcCmd -nologo -E
+#endif
+#define PatheticCpp YES
+#define ConstructMFLAGS YES
+#if (CompilerMajorVersion == 0)
+#define ArCmdBase lib32
+#else
+#define ArCmdBase lib
+#endif
+#define ArCmd ArCmdBase
+#define CplusplusCmd cl
+#define MkdirHierCmd $(CONFIGSRC:/=\)\util\mkdirhier
+#define InstallCmd copy
+#define InstPgmFlags /**/
+#define InstBinFlags /**/
+#define InstUidFlags /**/
+#define InstLibFlags /**/
+#define InstIncFlags /**/
+#define InstManFlags /**/
+#define InstDatFlags /**/
+#define InstallFlags /**/
+#if (CompilerMajorVersion == 0)
+#define ExtraLibraries crtdll.lib kernel32.lib wsock32.lib
+#elif (CompilerMajorVersion < 4)
+#define ExtraLibraries msvcrt.lib kernel32.lib wsock32.lib
+#else
+#define ExtraLibraries msvcrt.lib kernel32.lib wsock32.lib -link -nodefaultlib:libc
+#endif
+#define MakeCmd nmake -nologo
+#if (CompilerMajorVersion == 0)
+#define LdCmd link32
+#else
+#define LdCmd link
+#endif
+#define MathLibrary
+#define HasSymLinks NO
+#define HasVarDirectory NO
+#define HasPutenv YES
+#define Osuf obj
+#ifndef CCsuf
+#define CCsuf cxx
+#endif
+#define BuildServer NO
+#define ConnectionFlags -DTCPCONN
+
+/* override as necessary in site.def/host.def */
+#ifndef StdIncDir
+#define StdIncDir C:/MSDEVSTD/INCLUDE
+#endif
+#define LdPreLib /**/
+#define LdPostLib /**/
+#ifndef UseInstalled
+#define ImakeCmd $(IMAKESRC:/=\)\imake
+#define DependCmd $(DEPENDSRC:/=\)\makedepend
+#endif
+#define DependFlags -D_WIN32
+#define FilesToClean *.bak *.obj *.lib make.log
+#define ShLibDir $(BINDIR)
+
+#define XFileSearchPathBase Concat4($(LIBDIR)/;L/;T/;N;C,;S:$(LIBDIR)/;l/;T/;N;C,;S:$(LIBDIR)/;T/;N;C,;S:$(LIBDIR)/;L/;T/;N;S:$(LIBDIR)/;l/;T/;N;S:$(LIBDIR)/;T/;N;S)
+
+#define XawI18nDefines -DHAS_WCHAR_H
+#define UseRgbTxt YES
+#define HasCbrt NO
+#define HasFfs NO
+#define HasXdmAuth NO
+
+/* the following components haven't been ported yet */
+#define BuildLBX NO
+#define BuildXprint NO
+#define XprtServer NO
+
+#include <Win32.rules>
diff --git a/nx-X11/config/cf/Win32.rules b/nx-X11/config/cf/Win32.rules
new file mode 100644
index 000000000..f284ad207
--- /dev/null
+++ b/nx-X11/config/cf/Win32.rules
@@ -0,0 +1,531 @@
+XCOMM platform: $Xorg: Win32.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+
+
+
+XCOMM $XFree86$
+
+#define HasSharedLibraries YES
+#define NeedLibInsideFlag YES
+#define SharedLibXaw NO
+#define SharedLibXmu NO
+#define SharedLibXt NO
+#define SharedDataSeparation NO
+#define SharedCodeDef /**/
+#define SharedLibraryDef /**/
+#define ShLibIncludeFile <WinLib.tmpl>
+#define SharedLibraryLoadFlags -dll
+#define PositionIndependentCFlags /**/
+
+.c.obj:
+ $(CC) -c $*.c @<<
+ $(CFLAGS)
+<<
+
+#if HasCplusplus
+.CCsuf.obj:
+ $(CXX) -c $*.CCsuf @<<
+ $(CFLAGS)
+<<
+#endif
+
+#define ProgramTargetName(target) target.exe
+
+#define RunProgram(progvar,options) $(progvar:/=\) options
+
+#define RemoveFile(file) if exist file $(RM) file
+
+#define RemoveFiles(files) @$(MAKE) $(MFLAGS) -f << @@\
+.SUFFIXES: @@\
+ @@\
+all: files @@\
+ !for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i @@\
+ @@\
+Avoid.Error files: @@\
+<<
+
+#define MakeDir(dir) -$(MKDIRHIER) dir
+
+#define ObjectCompile(options) RemoveFile($@) @@\
+ $(CC) -c $*.c @<< @@\
+ $(CFLAGS) options @@\
+<<
+
+#define LibObjCompile(dir,options) RemoveFiles($@ dir\$@) @@\
+ $(CC) -c $*.c @<< @@\
+ $(CCOPTIONS) $(ALLDEFINES) options @@\
+<< @@\
+ $(MV) $@ dir\$@
+
+#define BuildIncludesTop(srclist,dstsubdir,dstupdir) @@\
+includes:: srclist @@\
+ MakeDir($(BUILDINCDIR:/=\)) @@\
+ @$(MAKE) $(MFLAGS) -f << @@\
+.SUFFIXES: @@\
+ @@\
+all: srclist @@\
+ cd $(BUILDINCDIR:/=\) @@\
+ !RemoveFile($$**) @@\
+ !$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** . @@\
+ @@\
+Avoid.Error srclist: @@\
+<<
+
+#define BuildIncludes(srclist,dstsubdir,dstupdir) @@\
+XVARdef0 = $(BUILDINCDIR)/dstsubdir @@\
+XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR) @@\
+ @@\
+includes:: srclist @@\
+ MakeDir($(XVARuse0:/=\)) @@\
+ @$(MAKE) -A $(MFLAGS) -f << @@\
+.SUFFIXES: @@\
+ @@\
+all: srclist @@\
+ cd $(XVARuse0:/=\) @@\
+ !RemoveFile($$**) @@\
+ !$(LN) $(XVARuse1:/=\)\$$** . @@\
+ @@\
+Avoid.Error srclist: @@\
+<<
+
+#define LinkFileList(step,list,dir,sub) @@\
+XVARdef0 = dir @@\
+XVARdef1 = sub @@\
+XVARdef2 = list @@\
+ @@\
+step:: $(XVARuse2:/=\) @@\
+ cd $(XVARuse0:/=\) @@\
+ !RemoveFile($**) @@\
+ !$(LN) $(XVARuse1:/=\)\\$** .
+
+#define LinkRule(program,options,objects,libraries) \
+$(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)
+
+#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs) @@\
+XVARdef0 = objects @@\
+ @@\
+ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+
+#define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
+ProgramTargetName(program): $(objs:.o=.obj) $(deplib) @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,$(LDOPTIONS),$(objs:.o=.obj),locallib $(LDLIBS) syslib) @@\
+ @@\
+InstallProgram(program,$(BINDIR)) @@\
+InstallManPage(program,$(MANDIR))
+
+#define ComplexProgramTarget(program) @@\
+PROGRAM = ProgramTargetName(program) @@\
+ @@\
+AllTarget(ProgramTargetName(program)) @@\
+ @@\
+ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile($(PROGRAM))
+
+#define ComplexProgramTarget_1(program,locallib,syslib) @@\
+OBJS = $(OBJS1) $(OBJS2) $(OBJS3) @@\
+SRCS = $(SRCS1) $(SRCS2) $(SRCS3) @@\
+PROGRAM1 = ProgramTargetName(program) @@\
+ @@\
+AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3)) @@\
+ @@\
+ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)
+
+#define ComplexProgramTarget_2(program,locallib,syslib) @@\
+PROGRAM2 = ProgramTargetName(program) @@\
+ @@\
+ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
+
+#define ComplexProgramTarget_3(program,locallib,syslib) @@\
+PROGRAM3 = ProgramTargetName(program) @@\
+ @@\
+ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
+
+#define MoveToBakFile(file) -@if exist file $(MV) file file.bak
+
+#define RMoveToBakFile(file) -RemoveFile(file.bak) @@\
+ -@if exist file $(MV) file file.bak
+
+#define InstallMultipleDestFlags(step,list,dest,flags) @@\
+XVARdef0 = $(DESTDIR)dest @@\
+ @@\
+step:: list @@\
+ MakeDir($(XVARuse0:/=\)) @@\
+ !$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)
+
+#define CleanTarget() @@\
+clean:: @@\
+ RemoveFiles(FilesToClean ExtraFilesToClean)
+
+#define LibraryTargetName(libname)libname.lib
+
+#define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)
+
+#define MakeLibrary(libname,objlist) $(AR) @<< @@\
+-out:libname objlist @@\
+<<
+
+#define LinkSourceFile(src,dir) @@\
+XVARdef0 = dir/src @@\
+ @@\
+src: $(XVARuse0:/=\) @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+includes:: src @@\
+ @@\
+depends:: src @@\
+ @@\
+clean:: @@\
+ RemoveFile(src)
+
+#define LinkFile(tofile,fromfile) @@\
+XVARdef0 = fromfile @@\
+tofile:: $(XVARuse0:/=\) @@\
+ RemoveFile($@) @@\
+ $(LN) $? $@ @@\
+ @@\
+includes:: tofile @@\
+ @@\
+depend:: tofile @@\
+ @@\
+clean:: @@\
+ RemoveFile(tofile)
+
+
+#define NormalLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+XVARdef0 = objlist @@\
+ @@\
+LibraryTargetName(libname): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,$(XVARuse0:.o=.obj)) @@\
+ LinkBuildLibrary($@)
+
+#define NormalLibraryTarget2(libname,objlist1,objlist2) @@\
+NormalLibraryTarget(libname,objlist1 objlist2)
+
+#define NormalLibraryTarget3(libname,objlist1,objlist2,objlist3) @@\
+NormalLibraryTarget(libname,objlist1 objlist2 objlist3)
+
+#define NormalDepLibraryTarget(libname,deplist,objlist) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+XVARdef0 = deplist @@\
+XVARdef1 = objlist @@\
+XVARdef2 = $(XVARuse1:/=\) @@\
+ @@\
+LibraryTargetName(libname): $(XVARuse0:/=\) $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,$(XVARuse2:.o=.obj)) @@\
+ LinkBuildLibrary($@)
+
+#define ProfiledLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
+ @@\
+XVARdef0 = objlist @@\
+ @@\
+LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ cd profiled @@\
+ MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
+ cd ..
+
+#define DebuggedLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
+ @@\
+XVARdef0 = objlist @@\
+ @@\
+LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ cd debugger @@\
+ MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
+ cd ..
+
+#ifndef UseInstalled
+#define ImakeDependency(target) @@\
+target:: ProgramTargetName($(IMAKE)) @@\
+ @@\
+ProgramTargetName($(IMAKE)): @@\
+ <<tmp.bat @@\
+ cd $(IMAKESRC:/=\) @@\
+ if exist Makefile $(MAKE) all @@\
+ if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@\
+<<
+#endif
+
+#ifndef UseInstalled
+#define DependDependency() @@\
+depend:: ProgramTargetName($(DEPEND)) @@\
+ @@\
+ProgramTargetName($(DEPEND)): @@\
+ <<tmp.bat @@\
+ cd $(DEPENDSRC:/=\) @@\
+ $(MAKE) @@\
+<<
+#endif
+
+#define DependTarget() @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ $(DEPEND:/=\) @<< @@\
+$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) @@\
+<<
+
+#define DependTarget3(srcs1,srcs2,srcs3) @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ $(DEPEND:/=\) @<< @@\
+$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3 @@\
+<<
+
+#define ForceSubdirs(dirs) @@\
+Avoid.Error dirs: FRC @@\
+ @cd $@ @@\
+ @echo making all in $(CURRENT_DIR)/$@... @@\
+ $(MAKE) $(MFLAGS) PassCDebugFlags all @@\
+ cd .. @@\
+ @@\
+FRC:
+
+#define MakeMakeSubdirs(dirs,target) @@\
+XVARdef0 = dirs @@\
+XVARdef1 = $$ @@\
+ @@\
+target:: @@\
+ @$(MAKE) -A $(MFLAGS) -f << @@\
+.SUFFIXES: @@\
+ @@\
+all: $(XVARuse0:/=\) @@\
+ @@\
+Avoid.Error $(XVARuse0:/=\): @@\
+ cd $(XVARuse1)@ @@\
+ RMoveToBakFile(Makefile) @@\
+ ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\
+ $(MAKE) $(MFLAGS) Makefiles @@\
+ cd .. @@\
+<<
+
+#ifdef UseInstalled
+# define ImakeSubCmdHelper $(IMAKE_CMD)
+#else
+# define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#endif
+
+#define NamedTargetSubdirs(name,dirs,verb,flags,subname) @@\
+XVARdef0 = dirs @@\
+XVARdef1 = $$ @@\
+ @@\
+name:: @@\
+ @$(MAKE) -A $(MFLAGS) -f << @@\
+.SUFFIXES: @@\
+ @@\
+all: $(XVARuse0:/=\) @@\
+ @@\
+Avoid.Error $(XVARuse0:/=\): @@\
+ cd $(XVARuse1)@ @@\
+ @echo verb in $(CURRENT_DIR)/$(XVARuse1)@... @@\
+ $(MAKE) $(MFLAGS) flags subname @@\
+ cd .. @@\
+<<
+
+#define UnsharedLibReferences(varname,libname,libsource) @@\
+Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\
+Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\
+LintLibReferences(varname,libname,libsource)
+
+#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+revname = rev @@\
+UnsharedLibReferences(varname,libname,libsource)
+
+#define SubdirLibraryRule(objlist) @@\
+XVARdef0 = objlist @@\
+ @@\
+all:: DONE @@\
+ @@\
+DONE: $(XVARuse0:.o=.obj) @@\
+ RemoveFile($@) @@\
+ echo - > $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(DONE)
+
+#define CppScriptTarget(dst,src,defs,deplist) @@\
+dst:: @@\
+ @echo sorry, unable to make $@
+
+#define CppFileTarget(dst,src,defs,deplist) @@\
+XFAKEVAR = X @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ $(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@ @@\
+ XCOMM define $(XFAKEVAR)COMM XCOMM @@\
+ XCOMM include <src> @@\
+<< @@\
+ defs @@\
+<< @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+
+#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\
+XVARdef0 = $(DESTDIR)dest @@\
+ @@\
+step:: srcname @@\
+ MakeDir($(XVARuse0:/=\)) @@\
+ $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
+
+#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname) @@\
+XVARdef0 = $(DESTDIR)dest @@\
+ @@\
+step:: srcname @@\
+ MakeDir($(XVARuse0:/=\)) @@\
+ @if exist $(XVARuse0:/=\)\\dstname echo Not overwriting existing $(XVARuse0:/=\)\\dstname @@\
+ if not exist $(XVARuse0:/=\)\\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
+
+
+#define InstallLibrary(libname,dest) @@\
+InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)
+
+#define InstallScript(program,dest) /**/
+
+#define InstallNamedProg(srcname,dstname,dest) @@\
+install:: srcname @@\
+ @echo sorry, unable to install srcname
+
+#define InstallSharedLibrary(libname,rev,dest) @@\
+InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
+InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)
+
+#define InstallSharedLibraryData(libname,rev,dest)
+
+#define MakeDLL(libname,solist) $(LD) @<< @@\
+$(SHLIBLDFLAGS) -out:libname.dll libname.exp solist @@\
+<<
+
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(libname.dll) @@\
+ @@\
+CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
+ @@\
+XVARdef0 = solist @@\
+ @@\
+LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj)) @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+libname.dll: LibraryTargetName(libname) $(EXTRALIBRARYDEPS) @@\
+ RemoveFile(libname.dll) @@\
+ MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
+ LinkBuildDLL(libname.dll) @@\
+ @@\
+clean:: @@\
+ RemoveFile(LibraryTargetName(libname)) @@\
+ RemoveFile(libname.dll)
+
+#define SharedLibraryDataTarget(libname,rev,salist)
+
+#define ObjectCplusplusCompile(options) RemoveFile($@) @@\
+ $(CXX) -c $*.CCsuf @<< @@\
+ $(CFLAGS) options @@\
+<<
+
+#define CplusplusLinkRule LinkRule
+
+#define CplusplusProgramTargetHelper ProgramTargetHelper
+
+#ifndef ComplexCplusplusProgramTarget
+#define ComplexCplusplusProgramTarget(program) @@\
+ PROGRAM = ProgramTargetName(program) @@\
+ @@\
+AllTarget(ProgramTargetName(program)) @@\
+ @@\
+CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexCplusplusProgramTarget */
+
+#ifndef UseInstalled
+# define LinkBuildDLL(binary) MakeDir($(BUILDBINDIR:/=\)) @@\
+ RemoveFile(Concat($(BUILDBINDIR:/=\)\,binary)) @@\
+ cd $(BUILDBINDIR:/=\) && $(LN) Concat($(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\,binary) .
+
+# ifdef LinkBuildBinary
+# undef LinkBuildBinary
+# endif
+# define LinkBuildBinary(binary) @@\
+all:: $(BUILDBINDIR)\ProgramTargetName(binary) ProgramTargetName(binary) @@\
+ @@\
+$(BUILDBINDIR)\ProgramTargetName(binary): ProgramTargetName(binary) @@\
+ MakeDir($(BUILDBINDIR:/=\)) @@\
+ RemoveFile($(BUILDBINDIR:/=\)\ProgramTargetName(binary))) @@\
+ cd $(BUILDBINDIR:/=\) && $(LN) $(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\ProgramTargetName(binary) .
+
+# ifdef LinkBuildLibrary
+# undef LinkBuildLibrary
+# endif
+# define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR:/=\)) @@\
+ RemoveFile(Concat($(BUILDLIBDIR:/=\)\,lib)) @@\
+ cd $(BUILDLIBDIR:/=\) && $(LN) Concat($(BUILDLIBTOP:/=\)\$(CURRENT_DIR:/=\)\,lib) .
+
+#endif
+
+#ifndef ProjectUnsharedLibReferences
+#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\
+Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,buildlibdir/,libname.lib) @@\
+Concat(varname,LIB) = $(Concat3(DEP,varname,LIB)) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+
+/*
+ * ServerTargetWithFlags - generate rules to compile, link, and relink a server
+ */
+#ifndef ServerTargetWithFlags
+#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
+XVARdef0 = objects @@\
+ @@\
+AllTarget(ProgramTargetName(server)) @@\
+ProgramTargetName(server): subdirs $(XVARuse0:.o=.obj) libs @@\
+ MoveToBakFile($@) @@\
+ LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
+ @@\
+Concat(load,server): @@\
+ MoveToBakFile(ProgramTargetName(server)) @@\
+ LinkRule(ProgramTargetName(server),$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
+ @@\
+loadX:: Concat(load,server) @@\
+ @@\
+ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+ @@\
+InstallProgramWithFlags(server,$(BINDIR),flags) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(server))
+#endif /* ServerTargetWithFlags */
diff --git a/nx-X11/config/cf/WinLib.tmpl b/nx-X11/config/cf/WinLib.tmpl
new file mode 100644
index 000000000..b4c9b8006
--- /dev/null
+++ b/nx-X11/config/cf/WinLib.tmpl
@@ -0,0 +1,16 @@
+XCOMM $Xorg: WinLib.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/WinLib.tmpl,v 1.4tsi Exp $
+
+#define SharedOldXReqs $(LDPRELIBS) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIBS) $(XONLYLIB)
+#define SharedXawReqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIBS) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIBS) $(XLIB)
+#define SharedXtstReqs $(LDPRELIBS) $(XLIB)
+#define SharedSMReqs $(LDPRELIBS) $(ICELIB)
+#define SharedXpReqs $(LDPRELIBS) $(XAUTHLIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIBS) $(XLIB)
diff --git a/nx-X11/config/cf/X11.rules b/nx-X11/config/cf/X11.rules
new file mode 100644
index 000000000..8a176c7a3
--- /dev/null
+++ b/nx-X11/config/cf/X11.rules
@@ -0,0 +1,136 @@
+XCOMM $Xorg: X11.rules,v 1.4 2000/08/17 19:41:46 cpqbld Exp $
+
+
+XCOMM $XFree86: xc/config/cf/X11.rules,v 1.6 2001/01/17 16:22:31 dawes Exp $
+
+/* Note whether we are the top level project. */
+#ifndef SeenTopLevelProject
+# define SeenTopLevelProject YES
+# define X11IsTopLevelProject YES
+#else
+# define X11IsTopLevelProject NO
+#endif
+
+/*
+ * If no clues are given assume X11 is in the tree, otherwise
+ * UseInstalled overrides UseImports. Do not do both.
+ */
+#ifndef UseInstalledX11
+# define UseInstalledX11 NO
+#endif
+#ifdef UseInstalled
+# undef UseInstalledX11
+# define UseInstalledX11 YES
+#endif
+
+#ifndef ImportX11
+# ifdef UseImports
+# define ImportX11 YES
+# else
+# define ImportX11 NO
+# endif
+#endif
+#if UseInstalledX11
+# undef ImportX11
+# define ImportX11 NO
+#endif
+
+#if defined(X11ProjectRoot)
+# define XBinDir $(XPROJECTROOT)/bin
+#elif defined(ProjectRoot)
+# define XBinDir $(PROJECTROOT)/bin
+#else
+# define XBinDir $(BINDIR)
+#endif
+
+#ifdef X11ProjectRoot
+# define XUsrLibDirPath $(USRLIBDIR):$(XPROJECTROOT)/lib
+#else
+# define XUsrLibDirPath $(USRLIBDIR)
+#endif
+#ifdef UsrLibDirPath
+# undef UsrLibDirPath
+#endif
+#ifdef ExtraLibDirPath
+#define UsrLibDirPath XUsrLibDirPath:ExtraLibDirPath
+#else
+#define UsrLibDirPath XUsrLibDirPath
+#endif
+
+#if ImportX11
+# define XLdPreLibs -L$(LIBSRC)
+#elif defined(UseInstalledX11) && defined(X11ProjectRoot)
+# define XLdPreLibs -L$(XPROJECTROOT)/lib
+#else
+# define XLdPreLibs /**/
+#endif
+#ifdef LdPreLibs
+# undef LdPreLibs
+#endif
+#define LdPreLibs LdPreLib XLdPreLibs
+
+#ifdef X11ProjectRoot
+# define XLdPostLibs -L$(XPROJECTROOT)/lib
+#else
+# define XLdPostLibs /**/
+#endif
+#ifdef LdPostLibs
+# undef LdPostLibs
+#endif
+#define LdPostLibs LdPostLib XLdPostLibs
+
+#ifndef TopXInclude
+# if ImportX11
+# define TopXInclude -I$(TOP)/imports/x11/include
+# elif !UseInstalledX11
+# define TopXInclude -I$(TOP)/exports/include
+#else
+# ifdef X11ProjectRoot
+# define TopXInclude -I$(XPROJECTROOT)/include
+# else
+# define TopXInclude /**/
+# endif
+# endif
+#endif
+#ifdef TopIncludes
+# undef TopIncludes
+#endif
+#define TopIncludes TopInclude $(TOP_X_INCLUDES)
+
+#if UseInstalledX11 && defined(X11ProjectRoot)
+# define X11BuildLibPath $(XPROJECTROOT)/lib
+#elif UseInstalledX11
+# define X11BuildLibPath $(USRLIBDIR)
+#elif ImportX11
+# define X11BuildLibPath $(XTOP)/lib
+#else
+# define X11BuildLibPath $(TOP)/exports/lib
+#endif
+
+#ifndef BuildLibPath
+#ifdef SystemBuildLibPath
+# define BuildLibPath $(XENVLIBDIR):$(SYSTEMENVLIBDIR)
+#else
+# define BuildLibPath $(XENVLIBDIR)
+#endif
+#endif
+
+#ifndef X11ProjectDefines
+# define X11ProjectDefines /**/
+#endif
+#define ProjectDefines X11ProjectDefines
+
+#ifndef X11CplusplusProjectDefines
+# define X11CplusplusProjectDefines X11ProjectDefines
+#endif
+#define CplusplusProjectDefines X11CplusplusProjectDefines
+
+#ifndef XtransFailSoft
+# define XtransFailSoft NO
+#endif
+
+#if XtransFailSoft
+# define XtransFailDefine /**/
+#else
+# define XtransFailDefine -DFAIL_HARD
+#endif
diff --git a/nx-X11/config/cf/X11.tmpl b/nx-X11/config/cf/X11.tmpl
new file mode 100644
index 000000000..12967d1d5
--- /dev/null
+++ b/nx-X11/config/cf/X11.tmpl
@@ -0,0 +1,4775 @@
+XCOMM ----------------------------------------------------------------------
+XCOMM X Window System Build Parameters and Rules
+XCOMM $XdotOrg: xc/config/cf/X11.tmpl,v 1.54 2005/12/14 23:41:52 alanc Exp $
+XCOMM $Xorg: X11.tmpl,v 1.6 2000/08/17 19:41:46 cpqbld Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM
+XCOMM $XFree86: xc/config/cf/X11.tmpl,v 1.248 2004/02/16 04:07:37 dawes Exp $
+
+/***************************************************************************
+ * *
+ * DEFAULT DEFINITIONS *
+ * *
+ * The following section contains defaults for things that can *
+ * overridden in the various *.cf and site.def files. DO NOT EDIT! *
+ * *
+ **************************************************************************/
+
+#define ProjectX 604 /* do *not* change this line */
+
+/* The following project-specific rules are defined at the end of this file:
+ *
+ * InstallAppDefaults (class)
+ * InstallAppDefaultsLong (file,class)
+ * MakeFontsDir (deplist)
+ * MakeFcCache (deplist)
+ * MakeFonts ()
+ * InstallFontObjs (objs,dest)
+ * InstallFonts (dest)
+ * InstallFontAliases (dest)
+ * InstallFcCache (dest)
+ * FontSrc (basename)
+ * FontBaseObj (basename)
+ * InstallFontScale (dest)
+ * UncompressedFontTarget (basename)
+ * CompressedFontTarget (basename)
+ * FontTarget (basename)
+ * FontObj (basename)
+ * MakeXkbDir (basedir,subdir)
+ */
+
+/* X.Org release string */
+#ifndef XOrgReleaseString
+# if defined XorgVersionString
+# define XOrgReleaseString Release XorgVersionString
+# else
+# define XOrgReleaseString Release 6.9
+# endif
+#endif
+
+#ifndef XOrgManNameString
+#define XOrgManNameString X Version 11
+#endif
+#ifndef XOrgNameString
+# define XOrgNameString The X.Org Foundation
+#endif
+#ifndef XOrgNameStringShort
+# define XOrgNameStringShort X.Org
+#endif
+#ifndef XOrgStdFilePrefix
+# define XOrgStdFilePrefix xorg
+#endif
+#ifndef XOrgWebSupportAddress
+# define XOrgWebSupportAddress http://wiki.X.Org
+#endif
+
+XORGRELSTRING = XorgManVersionString
+ XORGMANNAME = XOrgManNameString
+
+#ifndef XOrgManDefs
+#define XOrgManDefs -D__xorgversion__="\"$(XORGRELSTRING)\" \"$(XORGMANNAME)\""
+#endif
+
+#ifndef XVendorManNameString
+#define XVendorManNameString XOrgManNameString
+#endif
+#ifndef XVendorManVersionString
+#define XVendorManVersionString XOrgReleaseString
+#endif
+#ifndef XVendorNameString
+# define XVendorNameString XOrgNameString
+#endif
+#ifndef XVendorNameStringShort
+# define XVendorNameStringShort XOrgNameStringShort
+#endif
+#ifndef XVendorWebSupport
+# define XVendorWebSupport XOrgWebSupportAddress
+#endif
+#ifndef XVendorStdFilePrefix
+# define XVendorStdFilePrefix XOrgStdFilePrefix
+#endif
+
+#ifndef VendorManDefs
+#define VendorManDefs -D__vendorversion__="$(VENDORMANVERSION) $(VENDORMANNAME)"
+#endif
+
+#ifndef VendorDefines
+#define VendorDefines -DXVENDORNAME='"$(VENDORNAME)"' -DXVENDORNAMESHORT='"$(VENDORNAMESHORT)"'
+#endif
+
+#ifndef VendorSupportDefines
+# if defined XVendorWebSupport
+# define VendorSupportDefines -D__VENDORDWEBSUPPORT__='"$(VENDORWEBSUPPORT)"'
+# endif
+#endif
+/*
+ * X-specific things
+ */
+#if CrossCompiling && !defined(UseInstalledOnCrossCompile)
+# if defined(UseInstalled)
+# define UseInstalledOnCrossCompile YES
+# else
+# define UseInstalledOnCrossCompile NO
+# endif
+#endif
+
+#ifndef HasXServer
+#define HasXServer YES
+#endif
+/* xorg.cf sets XorgServer to YES - to build Xorg you must include xorg.cf
+ * from the .cf file for your platform.
+ */
+#ifndef XorgServer
+#define XorgServer NO
+#endif
+#ifndef BuildServer
+#define BuildServer HasXServer
+#endif
+#ifndef BuildServersOnly
+#define BuildServersOnly NO
+#endif
+#ifndef BuildClients
+#define BuildClients !BuildServersOnly
+#endif
+#ifndef BuildDocs
+#define BuildDocs !BuildServersOnly
+#endif
+#ifndef BuildDmx
+#define BuildDmx NO
+#endif
+#ifndef XdmxServer
+#define XdmxServer BuildDmx
+#endif
+#ifndef BuildLibrariesForDmx
+#define BuildLibrariesForDmx XdmxServer
+#endif
+#ifndef BuildLibraries
+#define BuildLibraries (!BuildServersOnly || BuildClients || \
+ BuildLibrariesForDmx)
+#endif
+#ifndef BuildLibrariesForXServers
+#define BuildLibrariesForXServers BuildServer
+#endif
+#ifndef BuildFontServer
+#define BuildFontServer YES
+#endif
+#ifndef XserverStaticFontLib
+#define XserverStaticFontLib YES
+#endif
+#ifndef BuildSpeedo
+#define BuildSpeedo NO
+#endif
+#ifndef BuildType1
+#define BuildType1 NO
+#endif
+#ifndef BuildCID
+#define BuildCID YES
+#endif
+#ifndef BuildFreeType
+#define BuildFreeType NO
+#endif
+#ifndef BuildBuiltinFonts
+#define BuildBuiltinFonts NO
+#endif
+#ifndef BuildFonts
+#define BuildFonts (BuildServer | BuildFontServer)
+#endif
+#ifndef Build75DpiFonts
+#define Build75DpiFonts YES
+#endif
+#ifndef Build100DpiFonts
+#define Build100DpiFonts YES
+#endif
+#ifndef BuildSpeedoFonts
+#define BuildSpeedoFonts NO
+#endif
+#ifndef BuildType1Fonts
+#define BuildType1Fonts YES
+#endif
+#ifndef BuildCIDFonts
+#define BuildCIDFonts YES
+#endif
+#ifndef BuildTrueTypeFonts
+#define BuildTrueTypeFonts YES
+#endif
+#ifndef BuildBethMarduthoFonts
+#define BuildBethMarduthoFonts NO
+#endif
+#ifndef BuildEthiopicFonts
+#define BuildEthiopicFonts NO
+#endif
+#ifndef BuildCyrillicFonts
+#define BuildCyrillicFonts YES
+#endif
+/* Some bdf font generation details. The scripts for this require perl. */
+#ifndef TruncateUCSFonts
+#define TruncateUCSFonts HasPerl5
+#endif
+#ifndef MaxUCSChar
+#define MaxUCSChar 0x3200
+#endif
+#ifndef DerivedUCSFonts
+#define DerivedUCSFonts YES
+#endif
+/* These primarily control generation of derived 8-bit fonts. */
+#ifndef BuildUCSFonts
+#define BuildUCSFonts YES
+#endif
+/* Setting BuildISO8859_1Fonts to NO may result in problems. */
+#ifndef BuildISO8859_1Fonts
+#define BuildISO8859_1Fonts YES
+#endif
+#ifndef BuildISO8859_2Fonts
+#define BuildISO8859_2Fonts YES
+#endif
+#ifndef BuildISO8859_3Fonts
+#define BuildISO8859_3Fonts YES
+#endif
+#ifndef BuildISO8859_4Fonts
+#define BuildISO8859_4Fonts YES
+#endif
+#ifndef BuildISO8859_5Fonts
+#define BuildISO8859_5Fonts BuildCyrillicFonts
+#endif
+#ifndef BuildArabicFonts
+#define BuildArabicFonts YES
+#endif
+#ifndef BuildISO8859_6Fonts
+#define BuildISO8859_6Fonts BuildArabicFonts
+#endif
+#ifndef BuildGreekFonts
+#define BuildGreekFonts YES
+#endif
+#ifndef BuildISO8859_7Fonts
+#define BuildISO8859_7Fonts BuildGreekFonts
+#endif
+#ifndef BuildHebrewFonts
+#define BuildHebrewFonts YES
+#endif
+#ifndef BuildISO8859_8Fonts
+#define BuildISO8859_8Fonts BuildHebrewFonts
+#endif
+#ifndef BuildISO8859_9Fonts
+#define BuildISO8859_9Fonts YES
+#endif
+#ifndef BuildISO8859_10Fonts
+#define BuildISO8859_10Fonts YES
+#endif
+#ifndef BuildThaiFonts
+#define BuildThaiFonts YES
+#endif
+#ifndef BuildISO8859_11Fonts
+#define BuildISO8859_11Fonts BuildThaiFonts
+#endif
+#ifndef BuildISO8859_13Fonts
+#define BuildISO8859_13Fonts YES
+#endif
+#ifndef BuildISO8859_14Fonts
+#define BuildISO8859_14Fonts YES
+#endif
+#ifndef BuildISO8859_15Fonts
+#define BuildISO8859_15Fonts YES
+#endif
+#ifndef BuildISO8859_16Fonts
+#define BuildISO8859_16Fonts YES
+#endif
+#ifndef BuildKOI8_RFonts
+#define BuildKOI8_RFonts BuildCyrillicFonts
+#endif
+#ifndef BuildJapaneseFonts
+#define BuildJapaneseFonts YES
+#endif
+#ifndef BuildJISX0201Fonts
+#define BuildJISX0201Fonts BuildJapaneseFonts
+#endif
+#ifndef BuildKoreanFonts
+#define BuildKoreanFonts YES
+#endif
+#ifndef BuildChineseFonts
+#define BuildChineseFonts YES
+#endif
+#ifndef MakeLocalFontDir
+#define MakeLocalFontDir YES
+#endif
+#ifndef HasXAudio
+#define HasXAudio NO
+#endif
+#ifndef BuildXAudio
+#define BuildXAudio (HasXAudio & HasCplusplus)
+#endif
+#ifndef HasXAServer
+#define HasXAServer NO
+#endif
+#ifndef BuildXAServer
+#define BuildXAServer (HasXAServer & HasCplusplus)
+#endif
+#ifndef BuildX11Lib
+#define BuildX11Lib BuildLibraries
+#endif
+
+#ifndef BuildLoadableXlibI18n
+#define BuildLoadableXlibI18n (HasDlopen && SharedLibX11)
+#endif
+#ifndef InstallXcmsTxt
+#define InstallXcmsTxt YES
+#endif
+/*
+ * This disables XLOCALEDIR. Set it if you're using BuildLoadableXlibI18n,
+ * don't have either issetugid() or getresuid(), and you need to protect
+ * clients that are setgid or setuid to an id other than 0.
+ */
+#ifndef DisableXLocaleDirEnv
+#define DisableXLocaleDirEnv BuildLoadableXlibI18n && \
+ !(HasIssetugid || HasGetresuid)
+#endif
+#ifndef BuildLoadableXlibXcursor
+#define BuildLoadableXlibXcursor (HasDlopen && SharedLibX11)
+#endif
+#ifndef BuildXextLib
+#define BuildXextLib BuildLibraries
+#endif
+#ifndef BuildXauLib
+#define BuildXauLib (BuildLibraries || BuildLibrariesForXServers)
+#endif
+#define UseInstalledXauLib (defined(UseInstalled) || !BuildXauLib)
+#ifndef BuildXdmcpLib
+#define BuildXdmcpLib (BuildLibraries || BuildLibrariesForXServers)
+#endif
+#define UseInstalledXdmcpLib (defined(UseInstalled) || !BuildXdmcpLib)
+#ifndef BuildMITMiscExt
+#define BuildMITMiscExt YES
+#endif
+#ifndef BuildTestExt
+#define BuildTestExt YES
+#endif
+#ifndef BuildSyncExt
+#define BuildSyncExt YES
+#endif
+#ifndef BuildXCMiscExt
+#define BuildXCMiscExt YES
+#endif
+#ifndef BuildShapeExt
+#define BuildShapeExt YES
+#endif
+#ifndef BuildBigReqsExt
+#define BuildBigReqsExt YES
+#endif
+#ifndef BuildXInputExt
+#define BuildXInputExt NO
+#endif
+#ifndef BuildXInputLib
+#define BuildXInputLib (BuildXInputExt && \
+ (!BuildServersOnly || BuildLibrariesForDmx))
+#endif
+#ifndef BuildEVI
+#define BuildEVI YES
+#endif
+#ifndef BuildDBE
+#define BuildDBE YES
+#endif
+#ifndef BuildDBElib
+#define BuildDBElib BuildDBE
+#endif
+#ifndef BuildDIS
+#define BuildDIS NO
+#endif
+#ifndef BuildDPMS
+#define BuildDPMS YES
+#endif
+#ifndef BuildFontLib
+#if (!defined(XF86Server) || !XF86Server) && (!defined (XorgServer) || !XorgServer)
+#define BuildFontLib (BuildLibraries || BuildServer)
+#else
+#define BuildFontLib (BuildLibraries || \
+ (BuildServer && !DoLoadableServer) || \
+ XnestServer || XVirtualFramebufferServer || \
+ XprtServer || XdmxServer)
+#endif
+#endif
+#ifndef BuildFontCache
+#define BuildFontCache NO
+#endif
+#ifndef BuildFontCacheLib
+#define BuildFontCacheLib (BuildFontCache && !BuildServersOnly)
+#endif
+#ifndef BuildFontEncLib
+#define BuildFontEncLib BuildLibraries
+#endif
+/*
+ * This enables binary compatibility with the older (XFree86 <= 4.1) fontenc
+ * entry points in the Xfont library (and X server). If this is turned off,
+ * then SharedFontRev should have it's major revision bumped, and the
+ * XFree86 font module ABI (in xfree86/common/xf86Module.h) should have it's
+ * major revision bumped.
+ *
+ * Note: this does not enable those older functions in the separate libfontenc
+ * library (which didn't exist previously).
+ */
+#ifndef FontencCompatibility
+#define FontencCompatibility YES
+#endif
+#ifndef BuildLBX
+#define BuildLBX YES
+#endif
+#ifndef BuildXKB
+#define BuildXKB YES
+#endif
+#ifndef BuildXKBlib
+#define BuildXKBlib (BuildXKB && (!BuildServersOnly || \
+ XnestServer || XdmxServer || \
+ BuildXkbcomp ))
+#endif
+#ifndef BuildXKBuilib
+#define BuildXKBuilib (BuildXKB && !BuildServersOnly)
+#endif
+#ifndef BuildXKBfilelib
+#define BuildXKBfilelib (BuildXKB && (!BuildServersOnly || \
+ BuildXkbcomp ))
+#endif
+#ifndef BuildXTrap
+#define BuildXTrap YES
+#endif
+#ifndef BuildXTrapLibrary
+#define BuildXTrapLibrary (BuildXTrap && !BuildServersOnly)
+#endif
+
+ /*
+ * WARNING: Setting UseXKBInClients to YES cause incompatibilities
+ * between many clients (such as xterm) and pre-XKB shared
+ * libraries.
+ */
+#ifndef UseXKBInClients
+#define UseXKBInClients NO /* use XKB in "normal" clients? */
+#endif
+#ifndef BuildMultibuffer
+#define BuildMultibuffer NO
+#endif
+#ifndef BuildRECORD
+#define BuildRECORD YES
+#endif
+#ifndef BuildRECORDlib
+#define BuildRECORDlib BuildRECORD
+#endif
+#ifndef BuildXinerama
+#define BuildXinerama NO
+#endif
+#ifndef BuildXineramaLibrary
+#define BuildXineramaLibrary (BuildXinerama && !BuildServersOnly)
+#endif
+#ifndef BuildDmxDevelTools
+#define BuildDmxDevelTools NO
+#endif
+#ifndef BuildDmxLibrary
+#define BuildDmxLibrary (BuildDmx && \
+ (!BuildServersOnly || BuildDmxDevelTools))
+#endif
+#ifndef BuildXCSecurity
+#define BuildXCSecurity YES
+#endif
+#ifndef BuildAppgroup
+#define BuildAppgroup YES
+#endif
+#if BuildAppgroup && !BuildXCSecurity
+#define BuildXCSecurity YES
+#endif
+#ifndef BuildCup
+#define BuildCup YES
+#endif
+#ifndef HasPlugin
+/* Browser plugins are shared libraries - only build them if the OS
+ * supports shared libs.
+ */
+#define HasPlugin HasSharedLibraries
+#endif
+#ifndef BuildPlugin
+#define BuildPlugin HasPlugin
+#endif
+#ifndef XpRasterDDX
+#define XpRasterDDX YES
+#endif
+#ifndef XpColorPclDDX
+#define XpColorPclDDX YES
+#endif
+#ifndef XpMonoPclDDX
+#define XpMonoPclDDX YES
+#endif
+#ifndef XpPostScriptDDX
+#define XpPostScriptDDX YES
+#endif
+#ifndef XpPdfDDX
+#define XpPdfDDX YES
+#endif
+#ifndef XpSvgDDX
+#define XpSvgDDX YES
+#endif
+
+#ifndef BuildXprint
+#define BuildXprint YES
+#endif
+#ifndef XprtServer
+#define XprtServer (BuildServer && BuildXprint)
+#endif
+#ifndef BuildXprintLib
+#define BuildXprintLib (!BuildServersOnly && BuildXprint)
+#endif
+#ifndef BuildXprintClients
+#define BuildXprintClients BuildXprintLib
+#endif
+
+#ifndef BuildScreenSaverExt
+#define BuildScreenSaverExt NO
+#endif
+#ifndef BuildScreenSaverLibrary
+#define BuildScreenSaverLibrary (BuildScreenSaverExt && !BuildServersOnly)
+#endif
+#ifndef BuildXF86VidModeExt
+#define BuildXF86VidModeExt NO
+#endif
+#ifndef BuildXF86VidModeLibrary
+#define BuildXF86VidModeLibrary (BuildXF86VidModeExt && !BuildServersOnly)
+#endif
+#ifndef BuildXF86MiscExt
+#define BuildXF86MiscExt NO
+#endif
+#ifndef BuildXF86MiscLibrary
+#define BuildXF86MiscLibrary (BuildXF86MiscExt && !BuildServersOnly)
+#endif
+#ifndef BuildXF86BigfontExt
+#define BuildXF86BigfontExt NO
+#endif
+#ifndef BuildXF86DGA
+#define BuildXF86DGA NO
+#endif
+#ifndef BuildXF86DGALibrary
+#define BuildXF86DGALibrary (BuildXF86DGA && !BuildServersOnly)
+#endif
+#ifndef BuildXResExt
+#define BuildXResExt NO
+#endif
+#ifndef BuildXResLibrary
+#define BuildXResLibrary (BuildXResExt && \
+ (!BuildServersOnly || BuildDmxDevelTools))
+#endif
+#ifndef BuildXvExt
+#define BuildXvExt NO
+#endif
+#ifndef BuildXvLibrary
+#define BuildXvLibrary (BuildXvExt && !BuildServersOnly)
+#endif
+#ifndef BuildXvMCExt
+#define BuildXvMCExt NO
+#endif
+#ifndef BuildXvMCLibrary
+#define BuildXvMCLibrary (BuildXvMCExt && !BuildServersOnly)
+#endif
+#ifndef BuildGlxExt
+#define BuildGlxExt NO
+#else
+#if BuildGlxExt && !defined(XFree86Version) && !defined(XorgVersion)
+#undef BuildXF86DRI
+#undef BuildXF86DRIDriverSupport
+#define BuildXF86DRI NO
+#define BuildXF86DRIDriverSupport NO
+#endif
+#endif
+#ifndef BuildGLXLibrary
+#define BuildGLXLibrary (BuildGlxExt && !BuildServersOnly)
+#endif
+#ifndef BuildOSMesaLib
+#define BuildOSMesaLib BuildGlxExt
+#endif
+#ifndef BuildGLULibrary
+#define BuildGLULibrary (BuildGLXLibrary && BuildLibraries && \
+ HasCplusplus)
+#endif
+#ifndef BuildGLwLibrary
+#define BuildGLwLibrary (BuildGLXLibrary && BuildLibraries)
+#endif
+#ifndef BuildXDriInfo
+#define BuildXDriInfo (BuildGLXLibrary && !BuildServersOnly)
+#endif
+#ifndef BuildXF86RushExt
+#define BuildXF86RushExt NO
+#endif
+#ifndef BuildXF86RushLibrary
+#define BuildXF86RushLibrary (BuildXF86RushExt && !BuildServersOnly)
+#endif
+#ifndef BuildDPSLibraries
+#define BuildDPSLibraries NO
+#endif
+#ifndef BuildDPSLibrary
+#define BuildDPSLibrary BuildDPSLibraries
+#endif
+#ifndef BuildDPSTkLibrary
+#define BuildDPSTkLibrary BuildDPSLibraries
+#endif
+#ifndef BuildPSResLibrary
+#define BuildPSResLibrary BuildDPSLibraries
+#endif
+#ifndef BuildDPSClients
+#define BuildDPSClients BuildDPSLibraries
+#endif
+#ifndef BuildRender
+#define BuildRender YES
+#endif
+#ifndef BuildRenderLibrary
+#define BuildRenderLibrary (XdmxServer || !BuildServersOnly)
+#endif
+#ifndef BuildXftLibrary
+#define BuildXftLibrary BuildRenderLibrary
+#endif
+#ifndef BuildXft1Library
+#define BuildXft1Library BuildRenderLibrary
+#endif
+#ifndef UseFontconfig
+#define UseFontconfig BuildXftLibrary
+#endif
+#ifndef BuildFontconfigLibrary
+#define BuildFontconfigLibrary (UseFontconfig && !HasFontconfig)
+#endif
+#ifndef UseFreetype2
+#define UseFreetype2 (BuildXftLibrary || BuildXft1Library || \
+ UseFontconfig || BuildFreeType)
+#endif
+#ifndef InstallFontconfigLibrary
+# define InstallFontconfigLibrary YES
+#endif
+#ifndef HasExpat
+#define HasExpat YES
+#endif
+#ifndef UseExpat
+#define UseExpat (UseFontconfig || BuildXF86DRI)
+#endif
+#ifndef BuildExpatLibrary
+#define BuildExpatLibrary (UseExpat && !HasExpat)
+#endif
+#ifndef BuildFreetype2Library
+#define BuildFreetype2Library (UseFreetype2 && !HasFreetype2)
+#endif
+#ifndef Freetype2BuildDefines
+#define Freetype2BuildDefines /**/
+#endif
+
+#ifndef BuildRandR
+#define BuildRandR YES
+#endif
+#ifndef BuildRandRLibrary
+#define BuildRandRLibrary !BuildServersOnly
+#endif
+
+#ifndef BuildXfixes
+#define BuildXfixes YES
+#endif
+#ifndef BuildXfixesLibrary
+#define BuildXfixesLibrary !BuildServersOnly
+#endif
+
+#ifndef BuildDamage
+#define BuildDamage BuildXfixes
+#endif
+#ifndef BuildDamageLibrary
+#define BuildDamageLibrary !BuildServersOnly
+#endif
+
+#ifndef BuildComposite
+#define BuildComposite (BuildXfixes && BuildDamage)
+#endif
+#ifndef BuildCompositeLibrary
+#define BuildCompositeLibrary !BuildServersOnly && (BuildXfixesLibrary && \
+ BuildDamageLibrary)
+#endif
+
+#ifndef BuildXevie
+#define BuildXevie YES
+#endif
+#ifndef BuildXevieLibrary
+#define BuildXevieLibrary !BuildServersOnly
+#endif
+
+#ifndef BuildRootless
+#define BuildRootless NO
+#endif
+
+#ifndef BuildXterm
+#define BuildXterm NO
+#endif
+
+#ifndef BuildXkbcomp
+#define BuildXkbcomp BuildClients
+#endif
+
+#ifndef BuildXcursorLibrary
+#define BuildXcursorLibrary BuildRenderLibrary
+#endif
+
+#ifndef BuildXcursorgen
+#define BuildXcursorgen HasLibpng
+#endif
+
+#ifndef DefaultCursorTheme
+#define DefaultCursorTheme core
+#endif
+
+#ifndef BuildAppleWMLibrary
+#define BuildAppleWMLibrary NO
+#endif
+
+#ifndef BuildWindowsWMLibrary
+#define BuildWindowsWMLibrary NO
+#endif
+
+#ifndef BuildMiscDocs
+#define BuildMiscDocs NO
+#endif
+#ifndef BuildSpecsDocs
+#define BuildSpecsDocs NO
+#endif
+#ifndef BuildAllSpecsDocs
+#define BuildAllSpecsDocs NO
+#endif
+
+#ifndef InstallHardcopyDocs
+#define InstallHardcopyDocs YES
+#endif
+
+#ifndef InstallMiscManPages
+#define InstallMiscManPages YES
+#endif
+
+#ifndef FSUseSyslog
+#define FSUseSyslog NO
+#endif
+
+#ifndef InstallLibManPages
+#define InstallLibManPages YES
+#endif
+#ifndef InstallXtermSetUID
+#define InstallXtermSetUID YES /* xterm needs to be set uid */
+#endif
+#ifndef InstallXloadSetGID
+#define InstallXloadSetGID YES /* xload often needs set gid kmem */
+#endif
+#ifndef InstallXinitConfig
+#define InstallXinitConfig NO /* install sample xinit config */
+#endif
+#ifndef InstallXdmConfig
+#define InstallXdmConfig NO /* install sample xdm config */
+#endif
+#ifndef XdmServersType /* what Xservers files to use */
+#if BuildServer
+#define XdmServersType ws
+#else
+#define XdmServersType fs
+#endif
+#endif
+#ifndef InstallFSConfig
+#define InstallFSConfig NO /* install sample fs config */
+#endif
+#ifndef InstallAppDefFiles
+#define InstallAppDefFiles YES /* install application defaults */
+#endif
+#ifndef UseConfDirForAppDefaults
+#define UseConfDirForAppDefaults YES
+#endif
+#ifndef UseConfDirForXkb
+#define UseConfDirForXkb YES
+#endif
+#ifndef CompressAllFonts
+#define CompressAllFonts NO
+#endif
+#ifndef ThreadedX
+#if HasPosixThreads || HasCThreads
+#define ThreadedX YES /* multi-threaded libraries */
+#else
+#define ThreadedX NO
+#endif
+#endif
+#ifndef ThreadedProject
+#define ThreadedProject ThreadedX
+#endif
+#ifndef NeedUIThrStubs
+#define NeedUIThrStubs NO
+#endif
+#ifndef HasWChar32
+#define HasWChar32 SystemV4
+#endif
+#ifndef HasXdmAuth
+#define HasXdmAuth NO /* if you can not use XDM-AUTH* */
+#endif
+#ifndef PrimaryScreenResolution
+#define PrimaryScreenResolution 72 /* a common resolution */
+#endif
+#ifndef DefaultFontPath
+# if PrimaryScreenResolution < 88 /* (75 + 100) / 2 */
+# define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
+# else
+# define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
+# endif
+#endif
+#ifndef DefaultFSFontPath
+# define DefaultFSFontPath DefaultFontPath
+#endif
+#ifndef DefaultRGBDatabase
+#define DefaultRGBDatabase $(LIBDIR)/rgb
+#endif
+#ifndef UseRgbTxt
+#define UseRgbTxt NO /* default is to compile with dbm */
+#endif
+#ifndef UseMemLeak
+#define UseMemLeak NO
+#endif
+#ifndef SpecialMalloc
+#define SpecialMalloc NO
+#endif
+#ifndef UseInternalMalloc
+#define UseInternalMalloc NO
+#endif
+#ifndef XallocDefines
+#define XallocDefines /**/
+#endif
+#ifndef ServerErrorDefines
+#define ServerErrorDefines /**/
+#endif
+#ifndef FontCompilerFlags
+#define FontCompilerFlags -t
+#endif
+/*
+ * NOTE: IPv6Flags could be tacked on to either ConnectionFlags or
+ * ExtraConnectionDefs. Here, we choose the later in order to
+ * maximise exposure of the IPv6 code (a number of <OS>.def files
+ * contain ConnectionFlags overrides). Mind you, this might not
+ * the right thing to do when HasStreams is asserted.
+ */
+#ifndef BuildIPv6 /* If the OS also #define's AF_INET6 */
+#define BuildIPv6 YES
+#endif
+#ifndef IPv6Flags
+#if BuildIPv6
+#define IPv6Flags -DIPv6
+#else
+#define IPv6Flags /**/
+#endif
+#endif
+/*
+ * Assume by default that IPv6 sockets also listen for IPv4 connections.
+ * XDMCP support currently only works for both IPv4 and IPv6 when this is
+ * true.
+ */
+#ifndef IPv6SocketsAlsoIPv4
+#define IPv6SocketsAlsoIPv4 YES
+#endif
+#ifndef DECnetFlags
+#if HasDECnet
+#define DECnetFlags -DDNETCONN
+#else
+#define DECnetFlags
+#endif
+#endif
+#ifndef ConnectionFlags
+#if HasStreams
+#define ConnectionFlags -DSTREAMSCONN
+#else
+#define ConnectionFlags -DTCPCONN -DUNIXCONN DECnetFlags
+#endif
+#endif
+#if HasStickyDirBit
+STICKY_DEFINES = -DHAS_STICKY_DIR_BIT
+#endif
+#if HasFchown
+FCHOWN_DEFINES = -DHAS_FCHOWN
+#endif
+#ifndef ExtraConnectionDefs
+#define ExtraConnectionDefs $(STICKY_DEFINES) $(FCHOWN_DEFINES) IPv6Flags
+#endif
+#ifndef ProjectThreadsDefines
+#define ProjectThreadsDefines -DXTHREADS
+#endif
+#ifndef FontOSDefines
+#define FontOSDefines /**/
+#endif
+#ifndef FontDefines
+#define FontDefines -DFONT_SNF -DFONT_BDF -DFONT_PCF -DCOMPRESSED_FONTS FontOSDefines
+#endif
+#ifndef XawI18nDefines
+#if SystemV4
+#define XawI18nDefines -DHAS_WCTYPE_H
+#else
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+#endif
+#if Malloc0ReturnsNull
+#ifndef XMalloc0ReturnsNullDefines
+#define XMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines
+#endif
+#ifndef XtMalloc0ReturnsNullDefines
+#define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
+#endif
+#endif
+#ifndef ExtensionOSDefines
+#define ExtensionOSDefines /**/
+#endif
+
+#ifndef ExtensionDefines
+#ifndef MITMiscDefines
+#if BuildMITMiscExt
+#define MITMiscDefines -DMITMISC
+#else
+#define MITMiscDefines /**/
+#endif
+#endif
+#ifndef XTestDefines
+#if BuildTestExt
+#define XTestDefines -DXTEST
+#else
+#define XTestDefines /**/
+#endif
+#endif
+#ifndef XTrapDefines
+#if BuildXTrap
+#define XTrapDefines -DXTRAP
+#else
+#define XTrapDefines /**/
+#endif
+#endif
+#ifndef XSyncDefines
+#if BuildSyncExt
+#define XSyncDefines -DXSYNC
+#else
+#define XSyncDefines /**/
+#endif
+#endif
+#ifndef XCMiscDefines
+#if BuildXCMiscExt
+#define XCMiscDefines -DXCMISC
+#else
+#define XCMiscDefines /**/
+#endif
+#endif
+#ifndef ShapeDefines
+#if BuildShapeExt
+#define ShapeDefines -DSHAPE
+#else
+#define ShapeDefines /**/
+#endif
+#endif
+#ifndef GlxDefines
+#if BuildGlxExt
+#ifdef GlxExtraDefines
+#define GlxDefines -DGLXEXT GlxExtraDefines
+#else
+#define GlxDefines -DGLXEXT
+#endif
+#else
+#define GlxDefines /**/
+#endif
+#endif
+#ifndef DRMSrcDir
+#define DRMSrcDir $(TOP)/extras/drm
+#endif
+#ifndef MesaSrcDir
+#define MesaSrcDir $(TOP)/extras/Mesa
+#endif
+#ifndef OglSampleSrcDir
+#define OglSampleSrcDir $(TOP)/extras/ogl-sample
+#endif
+#ifndef ShmDefines
+#if HasShm
+#define ShmDefines -DMITSHM
+#else
+#define ShmDefines /**/
+#endif
+#endif
+#ifndef XInputDefines
+#if BuildXInputExt
+#define XInputDefines -DXINPUT
+#else
+#define XInputDefines /**/
+#endif
+#endif
+#ifndef XineramaDefines
+#if BuildXinerama
+#define XineramaDefines -DPANORAMIX
+#else
+#define XineramaDefines /**/
+#endif
+#endif
+#ifndef PrintOnlyServer
+#define PrintOnlyServer YES
+#endif
+#ifndef XprintDefines
+#if BuildXprint
+#if PrintOnlyServer
+#define XprintDefines -DXPRINT -DPIXPRIV
+#else
+#define XprintDefines -DXPRINT -DLOADABLEPRINTDDX -DPIXPRIV
+#endif
+#else
+#define XprintDefines /**/
+#endif
+#endif
+#ifndef XkbDefines
+#if BuildXKB
+#define XkbDefines -DXKB
+#else
+#define XkbDefines /**/
+#endif
+#endif
+#ifndef XkbClientDefines
+#if UseXKBInClients
+#define XkbClientDefines -DXKB
+#else
+#define XkbClientDefines /**/
+#endif
+#endif
+#ifndef XkbServerDefines
+#define XkbServerDefines /**/
+#endif
+#ifndef XkbDefRulesDefines
+#define XkbDefRulesDefines -D__XKBDEFRULES__='"$(XKBDEFRULES)"'
+#endif
+# ifndef XkbDefaultRulesFile
+# define XkbDefaultRulesFile XVendorStdFilePrefix
+#endif
+#ifndef LbxDefines
+#if BuildLBX
+#define LbxDefines -DLBX
+#else
+#define LbxDefines /**/
+#endif
+#endif
+#ifndef BigReqDefines
+#if BuildBigReqsExt
+#define BigReqDefines -DBIGREQS
+#else
+#define BigReqDefines /**/
+#endif
+#endif
+
+#ifndef EVIDefines
+#if BuildEVI
+#define EVIDefines -DEVI
+#else
+#define EVIDefines /**/
+#endif
+#endif
+
+#ifndef DBEDefines
+#if BuildDBE
+#define DBEDefines -DDBE
+#else
+#define DBEDefines /**/
+#endif
+#endif
+
+#ifndef PervasiveDBEDefines
+#define PervasiveDBEDefines /* -DNEED_DBE_BUF_BITS -DNEED_DBE_BUF_VALIDATE */
+#endif
+
+#ifndef MultibufferDefines
+#if BuildMultibuffer
+#define MultibufferDefines -DMULTIBUFFER
+#else
+#define MultibufferDefines /**/
+#endif
+#endif
+
+#ifndef ScreenSaverExtensionDefines
+#if BuildScreenSaverExt
+#define ScreenSaverExtensionDefines -DSCREENSAVER
+#else
+#define ScreenSaverExtensionDefines /**/
+#endif
+#endif
+#ifndef VidModeExtensionDefines
+#if BuildXF86VidModeExt
+#define VidModeExtensionDefines -DXF86VIDMODE
+#else
+#define VidModeExtensionDefines /**/
+#endif
+#endif
+#ifndef XF86MiscExtensionDefines
+#if BuildXF86MiscExt
+#define XF86MiscExtensionDefines -DXF86MISC
+#else
+#define XF86MiscExtensionDefines /**/
+#endif
+#endif
+
+#ifndef XF86BigfontExtensionDefines
+#if BuildXF86BigfontExt
+#define XF86BigfontExtensionDefines -DXF86BIGFONT
+#else
+#define XF86BigfontExtensionDefines /**/
+#endif
+#endif
+
+#ifndef XvExtensionDefines
+#if BuildXvExt
+#define XvExtensionDefines -DXV
+#else
+#define XvExtensionDefines /**/
+#endif
+#endif
+
+#ifndef XvMCExtensionDefines
+#if BuildXvMCExt
+#define XvMCExtensionDefines -DXVMC
+#else
+#define XvMCExtensionDefines /**/
+#endif
+#endif
+
+#ifndef XResExtensionDefines
+#if BuildXResExt
+#define XResExtensionDefines -DRES
+#else
+#define XResExtensionDefines /**/
+#endif
+#endif
+
+#ifndef RECORDDefines
+#if BuildRECORD
+#define RECORDDefines -DXRECORD
+#else
+#define RECORDDefines /**/
+#endif
+#endif
+
+#ifndef AppgroupDefines
+#if BuildAppgroup
+#define AppgroupDefines -DXAPPGROUP
+#else
+#define AppgroupDefines /**/
+#endif
+#endif
+
+#ifndef XCSecurityDefines
+#if BuildXCSecurity
+#define XCSecurityDefines -DXCSECURITY
+#else
+#define XCSecurityDefines /**/
+#endif
+#endif
+
+#ifndef CupDefines
+#if BuildCup
+#define CupDefines -DTOGCUP
+#else
+#define CupDefines /**/
+#endif
+#endif
+
+#ifndef DPMSDefines
+#if BuildDPMS
+#define DPMSDefines -DDPMSExtension
+#else
+#define DPMSDefines /**/
+#endif
+#endif
+
+#ifndef RenderDefines
+#if BuildRender
+#define RenderDefines -DRENDER
+#else
+#define RenderDefines /**/
+#endif
+#endif
+
+#ifndef RandRDefines
+#if BuildRandR
+#define RandRDefines -DRANDR
+#else
+#define RandRDefines /**/
+#endif
+#endif
+
+#ifndef FontCacheExtentionDefines
+#if BuildFontCache
+#define FontCacheExtensionDefines -DFONTCACHE
+#else
+#define FontCacheExtensionDefines /**/
+#endif
+#endif
+
+#ifndef XfixesDefines
+#if BuildXfixes
+#define XfixesDefines -DXFIXES
+#else
+#define XfixesDefines /**/
+#endif
+#endif
+
+#ifndef XDamageDefines
+#if BuildDamage
+#define XDamageDefines -DDAMAGE
+#else
+#define XDamageDefines /**/
+#endif
+#endif
+
+#ifndef CompositeDefines
+#if BuildComposite
+#define CompositeDefines -DCOMPOSITE
+#else
+#define CompositeDefines /**/
+#endif
+#endif
+
+#ifndef XevieDefines
+#if BuildXevie
+#define XevieDefines -DXEVIE
+#else
+#define XevieDefines /**/
+#endif
+#endif
+
+#ifndef RootlessDefines
+#if BuildRootless
+#define RootlessDefines -DROOTLESS
+#else
+#define RootlessDefines /**/
+#endif
+#endif
+
+#ifndef SitePervasiveExtensionDefines
+#define SitePervasiveExtensionDefines /**/
+#endif
+#ifndef PervasiveExtensionDefines
+#define PervasiveExtensionDefines \
+ ShapeDefines XInputDefines XkbDefines LbxDefines AppgroupDefines \
+ XCSecurityDefines CupDefines PervasiveDBEDefines \
+ XF86BigfontExtensionDefines DPMSDefines \
+ XprintDefines XineramaDefines \
+ SitePervasiveExtensionDefines RenderDefines RandRDefines \
+ XfixesDefines XDamageDefines CompositeDefines XevieDefines \
+ RootlessDefines
+#endif
+#ifndef SiteExtensionDefines
+#define SiteExtensionDefines /**/
+#endif
+#ifndef BaseExtensionDefines
+#define BaseExtensionDefines \
+ MultibufferDefines MITMiscDefines XTestDefines XTrapDefines \
+ XSyncDefines XCMiscDefines RECORDDefines \
+ ShmDefines BigReqDefines VidModeExtensionDefines \
+ XF86MiscExtensionDefines DBEDefines DPMSDefines EVIDefines \
+ ScreenSaverExtensionDefines XvExtensionDefines XvMCExtensionDefines \
+ GlxDefines FontCacheExtensionDefines SiteExtensionDefines \
+ XResExtensionDefines
+#endif
+#define ExtensionDefines BaseExtensionDefines ExtensionOSDefines
+#endif /* ExtensionDefines */
+
+#ifndef HasStrcasecmp
+#define HasStrcasecmp YES
+#endif
+
+#ifndef StrcasecmpDefines
+# if HasStrcasecmp
+# define StrcasecmpDefines /**/
+# else
+# define StrcasecmpDefines -DNEED_STRCASECMP
+# endif
+#endif
+
+#ifndef HasDevRandom
+#define HasDevRandom NO
+#endif
+
+#ifndef HasArc4Random
+#define HasArc4Random NO
+#endif
+
+#ifndef RandomDefines
+# if HasDevRandom
+# ifndef RandomDeviceFile
+# define RandomDeviceFile /dev/random
+# endif
+# ifndef ExtraRandomDefines
+# ifdef PollDevRandom /* Set if can poll() /dev/random to avoid blocking */
+# define ExtraRandomDefines -DPOLL_DEV_RANDOM
+# else
+# define ExtraRandomDefines /**/
+# endif
+# endif
+# define RandomDefines -DDEV_RANDOM=\"RandomDeviceFile\" ExtraRandomDefines
+# elif HasArc4Random
+# define RandomDefines -DARC4_RANDOM
+# else
+# define RandomDefines /**/
+# endif
+#endif
+
+#ifndef PreferXdmcpIPv6
+#define PreferXdmcpIPv6 NO
+#endif
+#ifndef ServerXdmcpIPv6Defines
+#if BuildIPv6 && !IPv6SocketsAlsoIPv4 && !PreferXdmcpIPv6
+#define ServerXdmcpIPv6Defines -DXDMCP_NO_IPV6
+#else
+#define ServerXdmcpIPv6Defines /**/
+#endif
+#endif
+
+#ifndef ServerXdmcpDefines
+#define ServerXdmcpDefines -DXDMCP ServerXdmcpIPv6Defines
+#endif
+#ifndef ServerOSDefines
+#define ServerOSDefines /**/
+#endif
+#if HasKrbIV
+#ifndef KrbIVDefines
+#define KrbIVDefines -DKERBEROS
+#endif
+#else
+#define KrbIVDefines /**/
+#endif
+#if HasKrb5
+#ifndef Krb5Defines
+#define Krb5Defines -DK5AUTH
+#endif
+#else
+#define Krb5Defines /**/
+#endif
+#ifndef ServerExtraDefines
+#define ServerExtraDefines /* -DPIXPRIV */
+#endif
+#ifndef ServerAssertDefines
+#define ServerAssertDefines -DNDEBUG
+#endif
+#ifndef ServerSnprintfDefines
+#if !HasSnprintf
+#define ServerSnprintfDefines -DNEED_SNPRINTF
+#else
+#define ServerSnprintfDefines /**/
+#endif
+#endif
+#ifndef ServerDefines
+#define ServerDefines StandardDefines PervasiveExtensionDefines ServerExtraDefines ServerAssertDefines ServerSnprintfDefines
+#endif
+
+#ifndef MesaUseX86Asm
+/* The current Mesa X86 ASM code doesn't work well with SVR4 shared libs. */
+# if HasX86Support && !SystemV4
+# define MesaUseX86Asm YES
+# else
+# define MesaUseX86Asm NO
+# endif
+#endif
+
+#ifndef MesaUseMMX
+#ifdef HasMMXSupport
+#define MesaUseMMX HasMMXSupport
+#else
+#define MesaUseMMX NO
+#endif
+#endif
+
+#ifndef MesaUse3DNow
+#ifdef Has3DNowSupport
+#define MesaUse3DNow Has3DNowSupport
+#else
+#define MesaUse3DNow NO
+#endif
+#endif
+
+#ifndef MesaUseSSE
+#ifdef HasSSESupport
+#define MesaUseSSE HasSSESupport
+#else
+#define MesaUseSSE NO
+#endif
+#endif
+
+/* For compatibility */
+#ifdef HasSSESupport
+#undef HasKatmaiSupport
+#define HasKatmaiSupport HasSSESupport
+#endif
+#undef MesaUseKatmai
+#define MesaUseKatmai MesaUseSSE
+
+#ifndef UsbMouseSupport
+# define UsbMouseSupport NO
+#endif
+
+#ifndef DefaultFSConfigFile
+#define DefaultFSConfigFile $(LIBDIR)/fs/config
+#endif
+
+#ifndef BinDir
+#ifdef ProjectRoot
+#define BinDir Concat(ProjectRoot,/bin)
+#else
+#define BinDir /usr/bin/X11
+#endif
+#endif
+#ifndef BuildIncRoot
+#define BuildIncRoot $(TOP)/exports
+#endif
+#ifndef BuildIncDir
+#define BuildIncDir $(BUILDINCROOT)/include
+#endif
+#ifndef BuildIncTop
+#define BuildIncTop ../.. /* relative to BuildIncDir */
+#endif
+#ifndef XTop
+# if ImportX11
+# define XTop $(TOP)/imports/x11
+# else
+# define XTop $(TOP)
+# endif
+#endif
+#ifndef XBuildIncRoot
+# if ImportX11
+# define XBuildIncRoot $(XTOP)
+# else
+# define XBuildIncRoot $(XTOP)/exports
+# endif
+#endif
+#ifndef XBuildIncDir
+# define XBuildIncDir $(XBUILDINCROOT)/include/X11
+#endif
+#ifndef XBuildIncTop
+# define XBuildIncTop ../../..
+#endif
+#ifndef XBuildBinDir
+# define XBuildBinDir $(XBUILDINCROOT)/bin
+#endif
+#ifndef BuildBinDir
+#define BuildBinDir $(TOP)/exports/bin
+#endif
+#ifndef BuildBinTop
+#define BuildBinTop ../.. /* relative to BuildBinDir */
+#endif
+#ifndef BuildLibDir
+#define BuildLibDir $(TOP)/exports/lib
+#endif
+#ifndef BuildLibTop
+#define BuildLibTop ../.. /* relative to BuildLibDir */
+#endif
+#ifndef BuildModuleDir
+#define BuildModuleDir $(BUILDLIBDIR)/modules
+#endif
+#ifndef BuildI18NDir
+# define BuildI18NDir $(BUILDLIBDIR)/locale
+#endif
+#ifndef BuildModuleTop
+#define BuildModuleTop $(BUILDLIBTOP)/..
+#endif
+#ifndef LibDir
+# ifdef ProjectRoot
+# define LibDir Concat(ProjectRoot,/lib/X11)
+# else
+# define LibDir /usr/lib/X11
+# endif
+#endif
+#ifndef ModuleDir
+#define ModuleDir $(USRLIBDIR)/modules
+#endif
+#ifndef InstSrcDir
+#define InstSrcDir Concat(ProjectRoot,/src)
+#endif
+#ifndef LibexecDir
+#ifdef ProjectRoot
+#define LibexecDir Concat(ProjectRoot,/libexec)
+#else
+#define LibexecDir /usr/X11/libexec
+#endif
+#endif
+#ifndef ConfigDir
+#define ConfigDir $(LIBDIR)/config
+#endif
+#ifndef DocDir
+#define DocDir $(LIBDIR)/doc
+#endif
+#ifndef DocHtmlDir
+#define DocHtmlDir $(DOCDIR)/html
+#endif
+#ifndef DocPsDir
+#define DocPsDir $(DOCDIR)/PostScript
+#endif
+#ifndef DocPdfDir
+#define DocPdfDir $(DOCDIR)/PDF
+#endif
+#ifndef FontDir
+#define FontDir $(LIBDIR)/fonts
+#endif
+#ifndef FontEncDir
+#define FontEncDir $(LIBDIR)/fonts/encodings
+#endif
+#ifndef AdmDir
+#define AdmDir /usr/adm
+#endif
+#ifndef XinitDir
+#define XinitDir $(LIBDIR)/xinit
+#endif
+#ifndef XdmDir
+#define XdmDir $(LIBDIR)/xdm
+#endif
+#ifndef XdmVarDir
+#define XdmVarDir $(VARLIBDIR)/xdm
+#endif
+#ifndef XdmAuthDir
+#define XdmAuthDir $(LIBDIR)/xdm
+#endif
+#ifndef XdmConfigurationSubdirectory /* under xdm sources */
+#define XdmConfigurationSubdirectory config
+#endif
+#ifndef TwmDir
+#define TwmDir $(LIBDIR)/twm
+#endif
+#ifndef XsmDir
+#define XsmDir $(LIBDIR)/xsm
+#endif
+#ifndef NlsDir
+#define NlsDir $(LIBDIR)/nls
+#endif
+#ifndef XLocaleDir
+#define XLocaleDir $(LIBDIR)/locale
+#endif
+#ifndef LbxproxyDir
+#define LbxproxyDir $(LIBDIR)/lbxproxy
+#endif
+#ifndef LbxproxyConfigSubdir /* under lbxproxy sources */
+#define LbxproxyConfigSubdir config
+#endif
+#ifndef ProxyManagerDir
+#define ProxyManagerDir $(LIBDIR)/proxymngr
+#endif
+#ifndef ServerConfigDir
+#define ServerConfigDir $(LIBDIR)/xserver
+#endif
+#ifndef XPrintDir
+#define XPrintDir ServerConfigDir
+#endif
+#ifndef EtcX11Directory
+#define EtcX11Directory /etc/X11
+#endif
+#ifndef InstallSecurityConfig
+#define InstallSecurityConfig YES /* Install sample security policy */
+#endif
+#ifndef XFileSearchPathBase
+/* avoid SCCS keyword */
+#define XFileSearchPathBase Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
+#endif
+#ifndef XFileSearchPathDefault
+#ifdef XAppLoadDir
+/* avoid SCCS keyword */
+#define XFileSearchPathDefault XAppLoadDir/Concat(%N%C,%S):XAppLoadDir/%N%S:XFileSearchPathBase
+#else
+#define XFileSearchPathDefault XFileSearchPathBase
+#endif
+#endif
+#ifndef XAppLoadDir
+#define XAppLoadDir $(LIBDIR)/app-defaults
+#endif
+#ifndef XtErrorPrefix
+#define XtErrorPrefix /* as empty string */
+#endif
+#ifndef XtExtraDefines
+#define XtExtraDefines /* as empty string */
+#endif
+#ifndef XtWarningPrefix
+#define XtWarningPrefix /* as empty string */
+#endif
+#ifndef OsNameDefines
+#define OsNameDefines /* as nothing */
+#endif
+#ifndef DefaultUserPath /* for xdm */
+#define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb
+#endif
+#ifndef DefaultSystemPath /* for xdm */
+#define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/ucb
+#endif
+#ifndef DefaultSystemShell /* for xdm to set in SHELL */
+#define DefaultSystemShell BourneShell
+#endif
+#ifndef ContribDir
+#define ContribDir $(XTOP)/../contrib /* contrib is outside core tree */
+#endif
+#ifndef UnsupportedDir
+#define UnsupportedDir $(XTOP)/unsupported
+#endif
+#ifndef AllocateLocalDefines
+#define AllocateLocalDefines /**/
+#endif
+
+#ifndef ForceNormalLib
+#define ForceNormalLib (HasGcc && !HasGcc2)
+#endif
+
+#ifndef XkbComp
+#define XkbComp xkbcomp
+#endif
+
+#ifndef PsWrap
+# ifndef UseInstalled
+# define PsWrap $(PSWRAPSRC)/pswrap
+# else
+# define PsWrap pswrap
+# endif
+#endif
+
+#ifndef ResourceConfigurationManagement
+#define ResourceConfigurationManagement YES
+#endif
+
+#ifndef XtPopdownConformance
+#define XtPopdownConformance YES
+#endif
+
+XCOMM -----------------------------------------------------------------------
+XCOMM X Window System make variables; these need to be coordinated with rules
+
+/*
+ * This list must be reflected in the DIRS_TO_BUILD list in the top-level
+ * Makefile.
+ */
+ XTOP = XTop
+ BINDIR = BinDir /* programs */
+ BUILDINCROOT = BuildIncRoot /* base of build loc */
+ BUILDINCDIR = BuildIncDir /* built headers */
+ BUILDINCTOP = BuildIncTop /* top relative to BUILDINCDIR */
+ BUILDLIBDIR = BuildLibDir /* built libraries */
+ BUILDLIBTOP = BuildLibTop /* top relative to BUILDLIBDIR */
+ BUILDBINDIR = BuildBinDir /* built binaries */
+ BUILDBINTOP = BuildBinTop /* top relative to BUILDBINDIR */
+ BUILDMODULEDIR = BuildModuleDir /* built server modules */
+ BUILDI18NDIR = BuildI18NDir /* built i81n modules */
+ BUILDMODULETOP = BuildModuleTop /* top relative to BUILDMODULEDIR */
+ XBUILDINCROOT = XBuildIncRoot /* base of X build loc */
+ XBUILDINCDIR = XBuildIncDir
+ XBUILDINCTOP = XBuildIncTop
+ XBUILDBINDIR = XBuildBinDir
+ INCDIR = $(INCROOT) /* header files */
+ ADMDIR = AdmDir /* server log files */
+ LIBDIR = LibDir /* rgb, XErrorDB, etc. */
+ LIBEXECDIR = LibexecDir
+ MODULEDIR = ModuleDir
+ TOP_X_INCLUDES = TopXInclude
+ XBINDIR = XBinDir /* BINDIR for X11ProjectRoot */
+
+ INSTSRCDIR = InstSrcDir /* Installed source (kernel modules). */
+
+#ifdef EtcX11Directory
+ ETCX11DIR = EtcX11Directory
+#endif
+#if UseEtcX11
+ CONFDIR = $(ETCX11DIR)
+#elif HasVarDirectory
+ CONFDIR = $(VARDIR)
+#endif
+ DOCDIR = DocDir
+ DOCHTMLDIR = DocHtmlDir
+ DOCPSDIR = DocPsDir
+ DOCPDFDIR = DocPdfDir
+ FONTDIR = FontDir /* font directories */
+ ENCODINGSDIR = FontEncDir /* font encodings directory */
+ XINITDIR = XinitDir /* xinit config files */
+ XDMDIR = XdmDir /* xdm config files */
+ XDMVARDIR = XdmVarDir /* xdm config files */
+ TWMDIR = TwmDir /* twm config files */
+ XSMDIR = XsmDir /* xsm config files */
+ NLSDIR = NlsDir /* nls files */
+ XLOCALEDIR = XLocaleDir /* locale files */
+ LBXPROXYDIR = LbxproxyDir /* lbxproxy files */
+ PROXYMANAGERDIR = ProxyManagerDir /* proxy manager config files */
+ XPRINTDIR = XPrintDir /* print config file root */
+ XAPPLOADDIR = XAppLoadDir /* application default resource dir */
+ FONTCFLAGS = FontCompilerFlags
+
+ INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */
+
+#if UseInstalledX11
+ RGB = $(XBINDIR)/rgb
+ FONTC = $(XBINDIR)/bdftopcf
+ MKFONTSCALE = $(XBINDIR)/mkfontscale
+ MKFONTDIR = $(XBINDIR)/mkfontdir
+ MKHTMLINDEX = $(XBINDIR)/mkhtmlindex
+ UCS2ANY = $(XBINDIR)/ProgramTargetName(ucs2any)
+ BDFTRUNCATE = $(XBINDIR)/bdftruncate
+ UCSMAPPREFIX = $(FONTDIR)/util/map-
+ XCURSORGEN = $(XBINDIR)/xcursorgen
+#else
+ RGB = $(CLIENTENVSETUP) $(XBUILDBINDIR)/rgb
+# if !CrossCompiling
+ FONTC = $(CLIENTENVSETUP) $(PRELOADFONTSETUP) $(XBUILDBINDIR)/bdftopcf
+ MKFONTSCALE = $(CLIENTENVSETUP) $(PRELOADFREETYPESETUP) $(XBUILDBINDIR)/mkfontscale
+ MKFONTDIR = $(MKFONTSCALE) -b -s -l
+ XCURSORGEN = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/xcursorgen
+ UCS2ANY = $(XBUILDBINDIR)/ProgramTargetName(ucs2any)
+# elif UseInstalledOnCrossCompile
+ MKFONTDIR = $(XBINDIR)/mkfontdir
+ MKFONTSCALE = $(XBINDIR)/mkfontscale
+ FONTC = $(XBINDIR)/bdftopcf
+ XCURSORGEN = $(XBINDIR)/xcursorgen
+ UCS2ANY = $(XBINDIR)/ucs2any
+# endif
+# if HasPerl
+ MKHTMLINDEX = RunPerlScript($(CONFIGSRC)/util/mkhtmlindex.pl,)
+# else
+ MKHTMLINDEX = $(SHELL) $(CONFIGSRC)/util/mkhtmlindex.sh
+# endif
+ BDFTRUNCATE = $(FONTSRC)/util/bdftruncate.pl
+ UCSMAPPREFIX = $(FONTSRC)/util/map-
+#endif
+
+ HTMLINDEXCMD = HtmlIndexCmd
+
+ DOCUTILSRC = $(XTOP)/doc/util
+ CLIENTSRC = $(TOP)/clients
+ DEMOSRC = $(TOP)/demos
+ XDOCMACROS = $(DOCUTILSRC)/macros.t
+ XIDXMACROS = $(DOCUTILSRC)/indexmacros.t
+ PROGRAMSRC = $(TOP)/programs
+ LIBSRC = $(XTOP)/lib
+ FONTSRC = $(XTOP)/fonts
+ ENCODINGSSRC = $(FONTSRC)/encodings
+ INCLUDESRC = BuildIncDir
+ XINCLUDESRC = $(INCLUDESRC)/X11
+ SERVERSRC = $(XTOP)/programs/Xserver
+ CONTRIBSRC = ContribDir
+ UNSUPPORTEDSRC = UnsupportedDir
+ DOCSRC = $(XTOP)/doc
+ RGBSRC = $(XTOP)/programs/rgb
+ BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
+ MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
+ FONTSERVERSRC = $(PROGRAMSRC)/xfs
+ FONTINCSRC = $(XTOP)/include/fonts
+ EXTINCSRC = $(XTOP)/include/extensions
+ FTSOURCEDIR = FreeTypeSrcDir
+ DRMSRCDIR = DRMSrcDir
+ MESASRCDIR = MesaSrcDir
+ OGLSAMPLESRCDIR = OglSampleSrcDir
+ PSWRAPSRC = $(XTOP)/config/pswrap
+ TRANSCOMMSRC = $(LIBSRC)/xtrans
+ TRANS_INCLUDES = -I$(TRANSCOMMSRC)
+ CONNECTION_FLAGS = ConnectionFlags ExtraConnectionDefs
+XTRANS_FAILDEFINES = XtransFailDefine
+#ifdef X11ProjectRoot
+ XPROJECTROOT = X11ProjectRoot
+#endif
+ VENDORMANNAME = XVendorManNameString
+ VENDORMANVERSION = XVendorManVersionString
+ XORGMANDEFS = XOrgManDefs
+ VENDORMANDEFS = VendorManDefs
+ VENDORNAME = XVendorNameString
+ VENDORNAMESHORT = XVendorNameStringShort
+
+#if defined (XVendorWebSupport)
+ VENDORWEBSUPPORT = XVendorWebSupport
+#endif
+VENDORSUPPORTDEFS = VendorSupportDefines
+
+ XKBDEFRULES = XkbDefaultRulesFile
+ XKBDEFRULESDEFS = XkbDefRulesDefines
+
+ XCONFIGFILE = XConfigFile
+ XCONFIGDIR = XConfigDir
+ XLOGFILE = XLogFile
+ XSERVERNAME = XServerName
+
+#if HasSharedLibraries
+#ifndef DontUseLibPathVar
+#ifndef BuildLibPathVar
+#define BuildLibPathVar LD_LIBRARY_PATH
+#endif
+#endif
+#endif
+#ifdef BuildLibPathVar
+# ifdef SystemBuildLibPath
+ SYSTEMENVLIBDIR = SystemBuildLibPath
+# endif
+#define XlocaleClientSetup Concat3(XLOCALEDIR,=,BuildI18NDir)
+ XENVLIBDIR = X11BuildLibPath
+ CLIENTENVSETUP = Concat3(BuildLibPathVar,=,BuildLibPath) XlocaleClientSetup
+#else
+ CLIENTENVSETUP =
+#endif
+
+#ifdef PreloadSetup
+ PRELOADSETUP = PreloadSetup
+#endif
+#ifdef PreloadFontSetup
+ PRELOADFONTSETUP = PreloadFontSetup
+#endif
+#ifdef PreloadFreetypeSetup
+ PRELOADFREETYPESETUP = PreloadFreetypeSetup
+#endif
+#ifdef PreloadXFTSetup
+ PRELOADXFTSETUP = PreloadXFTSetup
+#endif
+
+#ifndef ShLibIncludeFile
+/* need this to make ANSI-style preprocessors happy */
+#define ShLibIncludeFile <noop.rules>
+#endif
+
+#include ShLibIncludeFile
+
+#ifndef XBuildLibDir
+# define XBuildLibDir BuildLibDir
+#endif
+
+#ifndef NeedLibInsideFlag
+#define NeedLibInsideFlag NO
+#endif
+
+#ifndef SharedLibX11
+#define SharedLibX11 HasSharedLibraries
+#endif
+#ifndef NormalLibX11
+#define NormalLibX11 (!SharedLibX11 | ForceNormalLib)
+#endif
+#ifndef DebugLibX11
+#define DebugLibX11 NO /* debugged X library */
+#endif
+#ifndef ProfileLibX11
+#define ProfileLibX11 NO /* profiled X library */
+#endif
+ XLIBSRC = $(LIBSRC)/X11
+#if SharedLibX11
+#ifndef SharedX11Rev
+#define SharedX11Rev 6.2
+#endif
+SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev)
+#else
+ProjectUnsharedLibReferences(XONLY,X11,$(XLIBSRC),XBuildLibDir)
+#endif
+ /* Common alternate spellings */
+ DEPXLIBONLY = $(DEPXONLYLIB)
+ XLIBONLY = $(XONLYLIB)
+ LINTXONLYLIB = $(LINTXONLY)
+
+#if BuildScreenSaverLibrary
+#ifndef SharedLibXss
+#define SharedLibXss HasSharedLibraries
+#endif
+#ifndef NormalLibXss
+#define NormalLibXss (!SharedLibXss || ForceNormalLib)
+#endif
+#ifndef DebugLibXss
+#define DebugLibXss NO
+#endif
+#ifndef ProfileLibXss
+#define ProfileLibXss NO
+#endif
+#else
+#undef SharedLibXss
+#define SharedLibXss NO
+#undef NormalLibXss
+#define NormalLibXss NO
+#undef DebugLibXss
+#define DebugLibXss NO
+#undef ProfileLibXss
+#define ProfileLibXss NO
+#endif
+
+#if BuildXF86MiscLibrary
+#ifndef SharedLibXxf86misc
+#define SharedLibXxf86misc HasSharedLibraries
+#endif
+#ifndef NormalLibXxf86misc
+#define NormalLibXxf86misc (!SharedLibXxf86misc || ForceNormalLib)
+#endif
+#ifndef DebugLibXxf86misc
+#define DebugLibXxf86misc NO
+#endif
+#ifndef ProfileLibXxf86misc
+#define ProfileLibXxf86misc NO
+#endif
+#else
+#undef SharedLibXxf86misc
+#define SharedLibXxf86misc NO
+#undef NormalLibXxf86misc
+#define NormalLibXxf86misc NO
+#undef DebugLibXxf86misc
+#define DebugLibXxf86misc NO
+#undef ProfileLibXxf86misc
+#define ProfileLibXxf86misc NO
+#endif
+
+#if BuildXF86VidModeLibrary
+#ifndef SharedLibXxf86vm
+#define SharedLibXxf86vm HasSharedLibraries
+#endif
+#ifndef NormalLibXxf86vm
+#define NormalLibXxf86vm (!SharedLibXxf86vm || ForceNormalLib)
+#endif
+#ifndef DebugLibXxf86vm
+#define DebugLibXxf86vm NO
+#endif
+#ifndef ProfileLibXxf86vm
+#define ProfileLibXxf86vm NO
+#endif
+#else
+#undef SharedLibXxf86vm
+#define SharedLibXxf86vm NO
+#undef NormalLibXxf86vm
+#define NormalLibXxf86vm NO
+#undef DebugLibXxf86vm
+#define DebugLibXxf86vm NO
+#undef ProfileLibXxf86vm
+#define ProfileLibXxf86vm NO
+#endif
+
+#if BuildXF86DGALibrary
+#ifndef SharedLibXxf86dga
+#define SharedLibXxf86dga HasSharedLibraries
+#endif
+#ifndef NormalLibXxf86dga
+#define NormalLibXxf86dga (!SharedLibXxf86dga || ForceNormalLib)
+#endif
+#ifndef DebugLibXxf86dga
+#define DebugLibXxf86dga NO
+#endif
+#ifndef ProfileLibXxf86dga
+#define ProfileLibXxf86dga NO
+#endif
+#else
+#undef SharedLibXxf86dga
+#define SharedLibXxf86dga NO
+#undef NormalLibXxf86dga
+#define NormalLibXxf86dga NO
+#undef DebugLibXxf86dga
+#define DebugLibXxf86dga NO
+#undef ProfileLibXxf86dga
+#define ProfileLibXxf86dga NO
+#endif
+
+#if BuildXF86RushLibrary
+#ifndef SharedLibXxf86rush
+#define SharedLibXxf86rush HasSharedLibraries
+#endif
+#ifndef NormalLibXxf86rush
+#define NormalLibXxf86rush (!SharedLibXxf86rush || ForceNormalLib)
+#endif
+#ifndef DebugLibXxf86rush
+#define DebugLibXxf86rush NO
+#endif
+#ifndef ProfileLibXxf86rush
+#define ProfileLibXxf86rush NO
+#endif
+#else
+#undef SharedLibXxf86rush
+#define SharedLibXxf86rush NO
+#undef NormalLibXxf86rush
+#define NormalLibXxf86rush NO
+#undef DebugLibXxf86rush
+#define DebugLibXxf86rush NO
+#undef ProfileLibXxf86rush
+#define ProfileLibXxf86rush NO
+#endif
+
+#if BuildXvLibrary
+#ifndef SharedLibXv
+#define SharedLibXv HasSharedLibraries
+#endif
+#ifndef NormalLibXv
+#define NormalLibXv (!SharedLibXv || ForceNormalLib)
+#endif
+#ifndef DebugLibXv
+#define DebugLibXv NO
+#endif
+#ifndef ProfileLibXv
+#define ProfileLibXv NO
+#endif
+#else
+#undef SharedLibXv
+#define SharedLibXv NO
+#undef NormalLibXv
+#define NormalLibXv NO
+#undef DebugLibXv
+#define DebugLibXv NO
+#undef ProfileLibXv
+#define ProfileLibXv NO
+#endif
+
+#if BuildXvMCLibrary
+#ifndef SharedLibXvMC
+#define SharedLibXvMC HasSharedLibraries
+#endif
+#ifndef NormalLibXvMC
+#define NormalLibXvMC (!SharedLibXvMC || ForceNormalLib)
+#endif
+#ifndef DebugLibXvMC
+#define DebugLibXvMC NO
+#endif
+#ifndef ProfileLibXvMC
+#define ProfileLibXvMC NO
+#endif
+#else
+#undef SharedLibXvMC
+#define SharedLibXvMC NO
+#undef NormalLibXvMC
+#define NormalLibXvMC NO
+#undef DebugLibXvMC
+#define DebugLibXvMC NO
+#undef ProfileLibXvMC
+#define ProfileLibXvMC NO
+#endif
+
+#if BuildXineramaLibrary
+#ifndef SharedLibXinerama
+#define SharedLibXinerama HasSharedLibraries
+#endif
+#ifndef NormalLibXinerama
+#define NormalLibXinerama (!SharedLibXinerama || ForceNormalLib)
+#endif
+#ifndef DebugLibXinerama
+#define DebugLibXinerama NO
+#endif
+#ifndef ProfileLibXinerama
+#define ProfileLibXinerama NO
+#endif
+#else
+#undef SharedLibXinerama
+#define SharedLibXinerama NO
+#undef NormalLibXinerama
+#define NormalLibXinerama NO
+#undef DebugLibXinerama
+#define DebugLibXinerama NO
+#undef ProfileLibXinerama
+#define ProfileLibXinerama NO
+#endif
+
+#if BuildXResLibrary
+#ifndef SharedLibXRes
+#define SharedLibXRes HasSharedLibraries
+#endif
+#ifndef NormalLibXRes
+#define NormalLibXRes (!SharedLibXRes || ForceNormalLib)
+#endif
+#ifndef DebugLibXRes
+#define DebugLibXRes NO
+#endif
+#ifndef ProfileLibXRes
+#define ProfileLibXRes NO
+#endif
+#else
+#undef SharedLibXRes
+#define SharedLibXRes NO
+#undef NormalLibXRes
+#define NormalLibXRes NO
+#undef DebugLibXRes
+#define DebugLibXRes NO
+#undef ProfileLibXRes
+#define ProfileLibXRes NO
+#endif
+
+#if BuildDPSLibrary
+#ifndef SharedLibDps
+#define SharedLibDps HasSharedLibraries
+#endif
+#ifndef NormalLibDps
+#define NormalLibDps (!SharedLibDps || ForceNormalLib)
+#endif
+#ifndef DebugLibDps
+#define DebugLibDps NO
+#endif
+#ifndef ProfileLibDps
+#define ProfileLibDps NO
+#endif
+#else
+#undef SharedLibDps
+#define SharedLibDps NO
+#undef NormalLibDps
+#define NormalLibDps NO
+#undef DebugLibDps
+#define DebugLibDps NO
+#undef ProfileLibDps
+#define ProfileLibDps NO
+#endif
+
+#if BuildDPSTkLibrary
+#ifndef SharedLibDpsTk
+#define SharedLibDpsTk HasSharedLibraries
+#endif
+#ifndef NormalLibDpsTk
+#define NormalLibDpsTk (!SharedLibDpsTk || ForceNormalLib)
+#endif
+#ifndef DebugLibDpsTk
+#define DebugLibDpsTk NO
+#endif
+#ifndef ProfileLibDpsTk
+#define ProfileLibDpsTk NO
+#endif
+#else
+#undef SharedLibDpsTk
+#define SharedLibDpsTk NO
+#undef NormalLibDpsTk
+#define NormalLibDpsTk NO
+#undef DebugLibDpsTk
+#define DebugLibDpsTk NO
+#undef ProfileLibDpsTk
+#define ProfileLibDpsTk NO
+#endif
+
+#if BuildPSResLibrary
+#ifndef SharedLibPSRes
+#define SharedLibPSRes HasSharedLibraries
+#endif
+#ifndef NormalLibPSRes
+#define NormalLibPSRes (!SharedLibPSRes || ForceNormalLib)
+#endif
+#ifndef DebugLibPSRes
+#define DebugLibPSRes NO
+#endif
+#ifndef ProfileLibPSRes
+#define ProfileLibPSRes NO
+#endif
+#else
+#undef SharedLibPSRes
+#define SharedLibPSRes NO
+#undef NormalLibPSRes
+#define NormalLibPSRes NO
+#undef DebugLibPSRes
+#define DebugLibPSRes NO
+#undef ProfileLibPSRes
+#define ProfileLibPSRes NO
+#endif
+
+#if BuildRenderLibrary
+#ifndef SharedLibXrender
+#define SharedLibXrender HasSharedLibraries
+#endif
+#ifndef NormalLibXrender
+#define NormalLibXrender (!SharedLibXrender || ForceNormalLib)
+#endif
+#ifndef DebugLibXrender
+#define DebugLibXrender NO
+#endif
+#ifndef ProfileLibXrender
+#define ProfileLibXrender NO
+#endif
+#else
+#undef SharedLibXrender
+#define SharedLibXrender NO
+#undef NormalLibXrender
+#define NormalLibXrender NO
+#undef DebugLibXrender
+#define DebugLibXrender NO
+#undef ProfileLibXrender
+#define ProfileLibXrender NO
+#endif
+
+#if BuildRandRLibrary
+# ifndef SharedLibXrandr
+# define SharedLibXrandr HasSharedLibraries
+# endif
+# ifndef NormalLibXrandr
+# define NormalLibXrandr (!SharedLibXrandr || ForceNormalLib)
+# endif
+# ifndef DebugLibXrandr
+# define DebugLibXrandr NO
+# endif
+# ifndef ProfileLibXrandr
+# define ProfileLibXrandr NO
+# endif
+#else
+# undef SharedLibXrandr
+# define SharedLibXrandr NO
+# undef NormalLibXrandr
+# define NormalLibXrandr NO
+# undef DebugLibXrandr
+# define DebugLibXrandr NO
+# undef ProfileLibXrandr
+# define ProfileLibXrandr NO
+#endif
+
+#if BuildXfixesLibrary
+#ifndef SharedLibXfixes
+#define SharedLibXfixes HasSharedLibraries
+#endif
+#ifndef NormalLibXfixes
+#define NormalLibXfixes (!SharedLibXfixes || ForceNormalLib)
+#endif
+#ifndef DebugLibXfixes
+#define DebugLibXfixes NO
+#endif
+#ifndef ProfileLibXfixes
+#define ProfileLibXfixes NO
+#endif
+#else
+#undef SharedLibXfixes
+#define SharedLibXfixes NO
+#undef NormalLibXfixes
+#define NormalLibXfixes NO
+#undef DebugLibXfixes
+#define DebugLibXfixes NO
+#undef ProfileLibXfixes
+#define ProfileLibXfixes NO
+#endif
+
+#if BuildDamageLibrary
+#ifndef SharedLibXdamage
+#define SharedLibXdamage HasSharedLibraries
+#endif
+#ifndef NormalLibXdamage
+#define NormalLibXdamage (!SharedLibXdamage || ForceNormalLib)
+#endif
+#ifndef DebugLibXdamage
+#define DebugLibXdamage NO
+#endif
+#ifndef ProfileLibXdamage
+#define ProfileLibXdamage NO
+#endif
+#else
+#undef SharedLibXdamage
+#define SharedLibXdamage NO
+#undef NormalLibXdamage
+#define NormalLibXdamage NO
+#undef DebugLibXdamage
+#define DebugLibXdamage NO
+#undef ProfileLibXdamage
+#define ProfileLibXdamage NO
+#endif
+
+#if BuildCompositeLibrary
+#ifndef SharedLibXcomposite
+#define SharedLibXcomposite HasSharedLibraries
+#endif
+#ifndef NormalLibXcomposite
+#define NormalLibXcomposite (!SharedLibXcomposite || ForceNormalLib)
+#endif
+#ifndef DebugLibXcomposite
+#define DebugLibXcomposite NO
+#endif
+#ifndef ProfileLibXcomposite
+#define ProfileLibXcomposite NO
+#endif
+#else
+#undef SharedLibXcomposite
+#define SharedLibXcomposite NO
+#undef NormalLibXcomposite
+#define NormalLibXcomposite NO
+#undef DebugLibXcomposite
+#define DebugLibXcomposite NO
+#undef ProfileLibXcomposite
+#define ProfileLibXcomposite NO
+#endif
+
+#if BuildXevieLibrary
+#ifndef SharedLibXevie
+#define SharedLibXevie HasSharedLibraries
+#endif
+#ifndef NormalLibXevie
+#define NormalLibXevie (!SharedLibXevie || ForceNormalLib)
+#endif
+#ifndef DebugLibXevie
+#define DebugLibXevie NO
+#endif
+#ifndef ProfileLibXevie
+#define ProfileLibXevie NO
+#endif
+#else
+#undef SharedLibXevie
+#define SharedLibXevie NO
+#undef NormalLibXevie
+#define NormalLibXevie NO
+#undef DebugLibXevie
+#define DebugLibXevie NO
+#undef ProfileLibXevie
+#define ProfileLibXevie NO
+#endif
+
+#if BuildXcursorLibrary
+#ifndef SharedLibXcursor
+#define SharedLibXcursor HasSharedLibraries
+#endif
+#ifndef NormalLibXcursor
+#define NormalLibXcursor (!SharedLibXcursor || ForceNormalLib)
+#endif
+#ifndef DebugLibXcursor
+#define DebugLibXcursor NO
+#endif
+#ifndef ProfileLibXcursor
+#define ProfileLibXcursor NO
+#endif
+#else
+#undef SharedLibXcursor
+#define SharedLibXcursor NO
+#undef NormalLibXcursor
+#define NormalLibXcursor NO
+#undef DebugLibXcursor
+#define DebugLibXcursor NO
+#undef ProfileLibXcursor
+#define ProfileLibXcursor NO
+#endif
+
+#if BuildAppleWMLibrary
+#ifndef SharedLibAppleWM
+#define SharedLibAppleWM HasSharedLibraries
+#endif
+#ifndef NormalLibAppleWM
+#define NormalLibAppleWM (!SharedLibAppleWM || ForceNormalLib)
+#endif
+#ifndef DebugLibAppleWM
+#define DebugLibAppleWM NO
+#endif
+#ifndef ProfileLibAppleWM
+#define ProfileLibAppleWM NO
+#endif
+#else
+#undef SharedLibAppleWM
+#define SharedLibAppleWM NO
+#undef NormalLibAppleWM
+#define NormalLibAppleWM NO
+#undef DebugLibAppleWM
+#define DebugLibAppleWM NO
+#undef ProfileLibAppleWM
+#define ProfileLibAppleWM NO
+#endif
+
+#if BuildWindowsWMLibrary
+#ifndef SharedLibWindowsWM
+#define SharedLibWindowsWM HasSharedLibraries
+#endif
+#ifndef NormalLibWindowsWM
+#define NormalLibWindowsWM (!SharedLibWindowsWM || ForceNormalLib)
+#endif
+#ifndef DebugLibWindowsWM
+#define DebugLibWindowsWM NO
+#endif
+#ifndef ProfileLibWindowsWM
+#define ProfileLibWindowsWM NO
+#endif
+#else
+#undef SharedLibWindowsWM
+#define SharedLibWindowsWM NO
+#undef NormalLibWindowsWM
+#define NormalLibWindowsWM NO
+#undef DebugLibWindowsWM
+#define DebugLibWindowsWM NO
+#undef ProfileLibWindowsWM
+#define ProfileLibWindowsWM NO
+#endif
+
+#if BuildGLULibrary
+#ifndef SharedLibGlu
+#define SharedLibGlu HasSharedLibraries
+#endif
+#ifndef NormalLibGlu
+#define NormalLibGlu (!SharedLibX11 | ForceNormalLib)
+#endif
+#ifndef DebugLibGlu
+#define DebugLibGlu NO
+#endif
+#ifndef ProfileLibGlu
+#define ProfileLibGlu NO
+#endif
+#else
+#undef SharedLibGlu
+#define SharedLibGlu NO
+#undef NormalLibGlu
+#define NormalLibGlu NO
+#undef DebugLibGlu
+#define DebugLibGlu NO
+#undef ProfileLibGlu
+#define ProfileLibGlu NO
+#endif
+
+#if BuildGLXLibrary
+#ifndef SharedLibGlx
+#define SharedLibGlx HasSharedLibraries
+#endif
+#ifndef NormalLibGlx
+#define NormalLibGlx (!SharedLibX11 | ForceNormalLib)
+#endif
+#ifndef DebugLibGlx
+#define DebugLibGlx NO
+#endif
+#ifndef ProfileLibGlx
+#define ProfileLibGlx NO
+#endif
+#ifndef BuildLibGlxWithoutPIC
+#define BuildLibGlxWithoutPIC NO
+#endif
+#if BuildLibGlxWithoutPIC && SharedLibGlx
+#define SharedLibGlxWithoutPIC YES
+#else
+#define SharedLibGlxWithoutPIC NO
+#endif
+#ifndef LinkGLToUsrLib
+#define LinkGLToUsrLib NO
+#endif
+#if NothingOutsideProjectRoot
+#undef LinkGLToUsrLib
+#define LinkGLToUsrLib NO
+#endif
+#ifndef LinkGLToUsrInclude
+#define LinkGLToUsrInclude NO
+#endif
+#if NothingOutsideProjectRoot
+#undef LinkGLToUsrInclude
+#define LinkGLToUsrInclude NO
+#endif
+#else
+#undef SharedLibGlx
+#define SharedLibGlx NO
+#undef NormalLibGlx
+#define NormalLibGlx NO
+#undef DebugLibGlx
+#define DebugLibGlx NO
+#undef ProfileLibGlx
+#define ProfileLibGlx NO
+#endif
+/*
+ * Only make a shared GLw library on systems with Weak symbols
+ * because it depends on Motif. See xc/lib/GLw/README.txt for details
+ */
+#if BuildGLwLibrary
+#ifndef SharedLibGLw
+#define SharedLibGLw HasSharedLibraries && HasWeakSymbols
+#endif
+#ifndef NormalLibGLw
+#define NormalLibGLw (!SharedLibGLw || ForceNormalLib)
+#endif
+#ifndef DebugLibGLw
+#define DebugLibGLw NO /* debugged widget library */
+#endif
+#ifndef ProfileLibGLw
+#define ProfileLibGLw NO /* profiled widget library */
+#endif
+#ifndef GLwUseXmStubs
+ /* create stub (weak) Motif symbols */
+#define GLwUseXmStubs SharedLibGLw && HasWeakSymbols
+#endif
+#else
+#undef SharedLibGLw
+#define SharedLibGLw NO
+#undef NormalLibGLw
+#define NormalLibGLw NO
+#undef DebugLibGLw
+#define DebugLibGLw NO
+#undef ProfileLibGLw
+#define ProfileLibGLw NO
+#endif
+
+#ifndef SharedLibXext
+#define SharedLibXext HasSharedLibraries
+#endif
+#ifndef NormalLibXext
+#define NormalLibXext (!SharedLibXext | ForceNormalLib)
+#endif
+#ifndef DebugLibXext
+#define DebugLibXext NO /* debugged Xext library */
+#endif
+#ifndef ProfileLibXext
+#define ProfileLibXext NO /* profiled Xext library */
+#endif
+ XEXTLIBSRC = $(LIBSRC)/Xext
+#if SharedLibXext
+#ifndef SharedXextRev
+#define SharedXextRev 6.4
+#endif
+SharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),SOXEXTREV,SharedXextRev)
+#else
+ProjectUnsharedLibReferences(EXTENSION,Xext,$(XEXTLIBSRC),XBuildLibDir)
+#endif
+LINTEXTENSIONLIB = $(LINTEXTENSION)
+ DEPXLIB = $(DEPEXTENSIONLIB) $(DEPXONLYLIB)
+ XLIB = $(EXTENSIONLIB) $(XONLYLIB)
+ LINTXLIB = $(LINTXONLYLIB)
+
+ XSSLIBSRC = $(LIBSRC)/Xss
+#if SharedLibXss
+#ifndef SharedXssRev
+#define SharedXssRev 1.0
+#endif
+SharedLibReferences(XSS,Xss,$(XSSLIBSRC),SOXSSREV,SharedXssRev)
+#else
+ProjectUnsharedLibReferences(XSS,Xss,$(XSSLIBSRC),XBuildLibDir)
+#endif
+
+ XXF86MISCLIBSRC = $(LIBSRC)/Xxf86misc
+#if SharedLibXxf86misc
+#ifndef SharedXxf86miscRev
+#define SharedXxf86miscRev 1.1
+#endif
+SharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),SOXXF86MISCREV,SharedXxf86miscRev)
+#else
+ProjectUnsharedLibReferences(XXF86MISC,Xxf86misc,$(XXF86MISCLIBSRC),XBuildLibDir)
+#endif
+
+ XXF86VMLIBSRC = $(LIBSRC)/Xxf86vm
+#if SharedLibXxf86vm
+#ifndef SharedXxf86vmRev
+#define SharedXxf86vmRev 1.0
+#endif
+SharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),SOXXF86VMREV,SharedXxf86vmRev)
+#else
+ProjectUnsharedLibReferences(XXF86VM,Xxf86vm,$(XXF86VMLIBSRC),XBuildLibDir)
+#endif
+
+ XXF86DGALIBSRC = $(LIBSRC)/Xxf86dga
+#if SharedLibXxf86dga
+#ifndef SharedXxf86dgaRev
+#define SharedXxf86dgaRev 1.0
+#endif
+SharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),SOXXF86DGAREV,SharedXxf86dgaRev)
+#else
+ProjectUnsharedLibReferences(XXF86DGA,Xxf86dga,$(XXF86DGALIBSRC),XBuildLibDir)
+#endif
+
+#if BuildDmxLibrary
+#ifndef SharedLibDmx
+#define SharedLibDmx NO
+#endif
+#ifndef NormalLibDmx
+#define NormalLibDmx YES
+#endif
+#ifndef DebugLibDmx
+#define DebugLibDmx NO
+#endif
+#ifndef ProfileLibDmx
+#define ProfileLibDmx NO
+#endif
+#else /* BuildDmxLibrary */
+#undef SharedLibDmx
+#define SharedLibDmx NO
+#undef NormalLibDmx
+#define NormalLibDmx NO
+#undef DebugLibDmx
+#define DebugLibDmx NO
+#undef ProfileLibDmx
+#define ProfileLibDmx NO
+#endif /* BuildDmxLibrary */
+
+ XXF86RUSHLIBSRC = $(LIBSRC)/Xxf86rush
+#if SharedLibXxf86rush
+#ifndef SharedXxf86rushRev
+#define SharedXxf86rushRev 1.0
+#endif
+SharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),SOXXF86RUSHREV,SharedXxf86rushRev)
+#else
+ProjectUnsharedLibReferences(XXF86RUSH,Xxf86rush,$(XXF86RUSHLIBSRC),XBuildLibDir)
+#endif
+
+
+ XVLIBSRC = $(LIBSRC)/Xv
+#if SharedLibXv
+#ifndef SharedXvRev
+#define SharedXvRev 1.0
+#endif
+SharedLibReferences(XV,Xv,$(XVLIBSRC),SOXVREV,SharedXvRev)
+#else
+ProjectUnsharedLibReferences(XV,Xv,$(XVLIBSRC),XBuildLibDir)
+#endif
+
+
+ XVMCLIBSRC = $(LIBSRC)/XvMC
+#if SharedLibXvMC
+#ifndef SharedXvMCRev
+#define SharedXvMCRev 1.0
+#endif
+SharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),SOXVMCREV,SharedXvMCRev)
+#else
+ProjectUnsharedLibReferences(XVMC,XvMC,$(XVMCLIBSRC),XBuildLibDir)
+#endif
+
+ XINERAMALIBSRC = $(LIBSRC)/Xinerama
+#if SharedLibXinerama
+#ifndef SharedXineramaRev
+#define SharedXineramaRev 1.0
+#endif
+SharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),SOXINERAMAREV,SharedXineramaRev)
+#else
+ProjectUnsharedLibReferences(XINERAMA,Xinerama,$(XINERAMALIBSRC),XBuildLibDir)
+#endif
+
+ XRESLIBSRC = $(LIBSRC)/XRes
+#if SharedLibXRes
+#ifndef SharedXResRev
+#define SharedXResRev 1.0
+#endif
+SharedLibReferences(XRES,XRes,$(XRESLIBSRC),SOXRESREV,SharedXResRev)
+#else
+ProjectUnsharedLibReferences(XRES,XRes,$(XRESLIBSRC),XBuildLibDir)
+#endif
+
+ DMXLIBSRC = $(LIBSRC)/dmx
+#if SharedLibDmx
+#ifndef SharedDmxRev
+#define SharedDmxRev 1.0
+#endif
+SharedLibReferences(DMX,dmx,$(DMXLIBSRC),SODMXREV,SharedDmxRev)
+#else
+ProjectUnsharedLibReferences(DMX,dmx,$(DMXLIBSRC),XBuildLibDir)
+#endif
+
+ DPSLIBSRC = $(LIBSRC)/dps
+#if SharedLibDps
+#ifndef SharedDpsRev
+#define SharedDpsRev 1.0
+#endif
+SharedLibReferences(DPS,dps,$(DPSLIBSRC),SODPSREV,SharedDpsRev)
+#else
+ProjectUnsharedLibReferences(DPS,dps,$(DPSLIBSRC),XBuildLibDir)
+#endif
+
+ DPSTKLIBSRC = $(LIBSRC)/dpstk
+#if SharedLibDpsTk
+#ifndef SharedDpsTkRev
+#define SharedDpsTkRev 1.0
+#endif
+SharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),SODPSTKREV,SharedDpsTkRev)
+#else
+ProjectUnsharedLibReferences(DPSTK,dpstk,$(DPSTKLIBSRC),XBuildLibDir)
+#endif
+
+ PSRESLIBSRC = $(LIBSRC)/psres
+#if SharedLibPSRes
+#ifndef SharedPSResRev
+#define SharedPSResRev 1.0
+#endif
+SharedLibReferences(PSRES,psres,$(PSRESLIBSRC),SOPSRESREV,SharedPSResRev)
+#else
+ProjectUnsharedLibReferences(PSRES,psres,$(PSRESLIBSRC),XBuildLibDir)
+#endif
+
+ GLULIBSRC = $(LIBSRC)/GLU
+#if SharedLibGlu
+#ifndef SharedGluRev
+#define SharedGluRev 1.3
+#endif
+SharedLibReferences(GLU,GLU,$(GLULIBSRC),SOGLUREV,SharedGluRev)
+#else
+ProjectUnsharedLibReferences(GLU,GLU,$(GLULIBSRC),XBuildLibDir)
+#endif
+
+ GLXLIBSRC = $(LIBSRC)/GL
+#if SharedLibGlx
+#ifndef SharedGlxRev
+#define SharedGlxRev 1.2
+#endif
+SharedLibReferences(GLX,GL,$(GLXLIBSRC),SOGLREV,SharedGlxRev)
+#else
+ProjectUnsharedLibReferences(GLX,GL,$(GLXLIBSRC),XBuildLibDir)
+#endif
+ GLWIDGETSRC = $(LIBSRC)/GLw
+#if SharedLibGLw
+#ifndef SharedGLwRev
+#define SharedGLwRev 1.0 /* used to name the shared library */
+#endif
+SharedDSLibReferences(GLW,GLw,$(GLWIDGETSRC),SOGLWREV,SharedGLwRev)
+#else
+ProjectUnsharedLibReferences(GLW,GLw,$(GLWIDGETSRC),XBuildLibDir)
+#endif
+
+ XRENDERLIBSRC = $(LIBSRC)/Xrender
+#if SharedLibXrender
+#ifndef SharedXrenderRev
+#define SharedXrenderRev 1.2.2
+#endif
+SharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),SOXRENDERREV,SharedXrenderRev)
+#else
+ProjectUnsharedLibReferences(XRENDER,Xrender,$(XRENDERLIBSRC),XBuildLibDir)
+#endif
+
+ XRANDRLIBSRC = $(LIBSRC)/Xrandr
+#if SharedLibXrandr
+#ifndef SharedXrandrRev
+#define SharedXrandrRev 2.0
+#endif
+SharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),SOXRANDRREV,SharedXrandrRev)
+#else
+ProjectUnsharedLibReferences(XRANDR,Xrandr,$(XRANDRLIBSRC),XBuildLibDir)
+#endif
+
+ XFIXESLIBSRC = $(LIBSRC)/Xfixes
+#if SharedLibXfixes
+#ifndef SharedXfixesRev
+#define SharedXfixesRev 3.0
+#endif
+SharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),SOXFIXESREV,SharedXfixesRev)
+#else
+ProjectUnsharedLibReferences(XFIXES,Xfixes,$(XFIXESLIBSRC),XBuildLibDir)
+#endif
+
+ XDAMAGELIBSRC = $(LIBSRC)/Xdamage
+#if SharedLibXdamage
+#ifndef SharedXdamageRev
+#define SharedXdamageRev 1.0
+#endif
+SharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),SOXDAMAGEREV,SharedXdamageRev)
+#else
+ProjectUnsharedLibReferences(XDAMAGE,Xdamage,$(XDAMAGELIBSRC),XBuildLibDir)
+#endif
+
+XCOMPOSITELIBSRC = $(LIBSRC)/Xcomposite
+#if SharedLibXcomposite
+#ifndef SharedXcompositeRev
+#define SharedXcompositeRev 1.0
+#endif
+SharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),SOXCOMPOSITEREV,SharedXcompositeRev)
+#else
+ProjectUnsharedLibReferences(XCOMPOSITE,Xcomposite,$(XCOMPOSITELIBSRC),XBuildLibDir)
+#endif
+
+XEVIELIBSRC = $(LIBSRC)/Xevie
+#if SharedLibXevie
+#ifndef SharedXevieRev
+#define SharedXevieRev 1.0
+#endif
+SharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),SOXEVIEREV,SharedXevieRev)
+#else
+ProjectUnsharedLibReferences(XEVIE,Xevie,$(XEVIELIBSRC),XBuildLibDir)
+#endif
+
+ XCURSORLIBSRC = $(LIBSRC)/Xcursor
+#if SharedLibXcursor
+#ifndef SharedXcursorRev
+#define SharedXcursorRev 1.0.2
+#endif
+SharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),SOXCURSORREV,SharedXcursorRev)
+#else
+ProjectUnsharedLibReferences(XCURSOR,Xcursor,$(XCURSORLIBSRC),XBuildLibDir)
+#endif
+
+ APPLEWMLIBSRC = $(LIBSRC)/apple
+#if SharedLibAppleWM
+#ifndef SharedAppleWMRev
+#define SharedAppleWMRev 1.0
+#endif
+SharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),SOAPPLEWMREV,SharedAppleWMRev)
+#else
+ProjectUnsharedLibReferences(APPLEWM,AppleWM,$(APPLEWMLIBSRC),XBuildLibDir)
+#endif
+
+ WINDOWSWMLIBSRC = $(LIBSRC)/windows
+#if SharedLibWindowsWM
+#ifndef SharedWindowsWMRev
+#define SharedWindowsWMRev 1.0
+#endif
+SharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),SOWINDOWSWMREV,SharedWindowsWMRev)
+#else
+ProjectUnsharedLibReferences(WINDOWSWM,WindowsWM,$(WINDOWSWMLIBSRC),XBuildLibDir)
+#endif
+
+# ifndef SharedLibXfontcache
+# define SharedLibXfontcache HasSharedLibraries
+# endif
+# ifndef NormalLibXfontcache
+# define NormalLibXfontcache (!SharedLibXfontcache || ForceNormalLib)
+# endif
+# ifndef DebugLibXfontcache
+# define DebugLibXfontcache NO
+# endif
+# ifndef ProfileLibXfontcache
+# define ProfileLibXfontcache NO
+# endif
+
+ XFONTCACHELIBSRC = $(LIBSRC)/Xfontcache
+#if SharedLibXfontcache
+#ifndef SharedXfontcacheRev
+#define SharedXfontcacheRev 1.2
+#endif
+SharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),SOXFONTCACHEREV,SharedXfontcacheRev)
+#else
+ProjectUnsharedLibReferences(XFONTCACHE,Xfontcache,$(XFONTCACHELIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXau
+#define SharedLibXau YES
+#endif
+#ifndef NormalLibXau
+#define NormalLibXau (!SharedLibXau | ForceNormalLib)
+#endif
+#ifndef DebugLibXau
+#define DebugLibXau NO /* debugged auth library */
+#endif
+#ifndef ProfileLibXau
+#define ProfileLibXau NO /* profiled auth library */
+#endif
+ XAUTHSRC = $(LIBSRC)/Xau
+#if SharedLibXau
+#ifndef SharedXauRev
+#define SharedXauRev 6.0
+#endif
+SharedLibReferences(XAUTH,Xau,$(XAUTHSRC),SOXAUTHREV,SharedXauRev)
+#else
+#if !UseInstalledXauLib
+ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),XBuildLibDir)
+#else
+ProjectUnsharedLibReferences(XAUTH,Xau,$(XAUTHSRC),$(USRLIBDIR))
+#endif
+#endif
+
+#ifndef SharedLibXdmcp
+#define SharedLibXdmcp YES
+#endif
+#ifndef NormalLibXdmcp
+#define NormalLibXdmcp (!SharedLibXdmcp | ForceNormalLib)
+#endif
+#ifndef DebugLibXdmcp
+#define DebugLibXdmcp NO /* debugged XDMCP library */
+#endif
+#ifndef ProfileLibXdmcp
+#define ProfileLibXdmcp NO /* profiled XDMCP library */
+#endif
+ XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+#if SharedLibXdmcp
+#ifndef SharedXdmcpRev
+#define SharedXdmcpRev 6.0
+#endif
+SharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),SOXDMCPREV,SharedXdmcpRev)
+#else
+#if !UseInstalledXdmcpLib
+ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),XBuildLibDir)
+#else
+ProjectUnsharedLibReferences(XDMCP,Xdmcp,$(XDMCPLIBSRC),$(USRLIBDIR))
+#endif
+#endif
+
+#ifndef SharedLibXmu
+#define SharedLibXmu HasSharedLibraries
+#endif
+#ifndef NormalLibXmu
+#define NormalLibXmu (!SharedLibXmu | ForceNormalLib)
+#endif
+#ifndef DebugLibXmu
+#define DebugLibXmu NO /* debugged Xmu library */
+#endif
+#ifndef ProfileLibXmu
+#define ProfileLibXmu NO /* profiled Xmu library */
+#endif
+ XMUSRC = $(LIBSRC)/Xmu
+#if SharedLibXmu
+#ifndef SharedXmuRev
+#define SharedXmuRev 6.2
+#endif
+SharedDSLibReferences(XMU,Xmu,$(XMUSRC),SOXMUREV,SharedXmuRev)
+#else
+ProjectUnsharedLibReferences(XMU,Xmu,$(XMUSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXmuu
+#define SharedLibXmuu HasSharedLibraries
+#endif
+#ifndef NormalLibXmuu
+#define NormalLibXmuu (!SharedLibXmuu | ForceNormalLib)
+#endif
+#ifndef DebugLibXmuu
+#define DebugLibXmuu NO /* debugged Xmuu library */
+#endif
+#ifndef ProfileLibXmuu
+#define ProfileLibXmuu NO /* profiled Xmuu library */
+#endif
+ XMUUSRC = $(LIBSRC)/Xmuu
+#if SharedLibXmuu
+#ifndef SharedXmuuRev
+#define SharedXmuuRev 1.0
+#endif
+SharedLibReferences(XMUU,Xmuu,$(XMUUSRC),SOXMUUREV,SharedXmuuRev)
+#else
+ProjectUnsharedLibReferences(XMUU,Xmuu,$(XMUUSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedOldX
+#define SharedOldX HasSharedLibraries
+#endif
+#ifndef NormalOldX
+#define NormalOldX (!SharedOldX | ForceNormalLib)
+#endif
+#ifndef DebugOldX
+#define DebugOldX NO /* debugged old X library */
+#endif
+#ifndef ProfileOldX
+#define ProfileOldX NO /* profiled old X library */
+#endif
+ OLDXLIBSRC = $(LIBSRC)/oldX
+#if SharedOldX
+#ifndef SharedOldXRev
+#define SharedOldXRev 6.0
+#endif
+SharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),SOOLDXREV,SharedOldXRev)
+#else
+ProjectUnsharedLibReferences(OLDX,oldX,$(OLDXLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXp
+#define SharedLibXp HasSharedLibraries
+#endif
+#ifndef NormalLibXp
+#define NormalLibXp (!SharedLibXp | ForceNormalLib)
+#endif
+#ifndef DebugLibXp
+#define DebugLibXp NO /* debugged Xp library */
+#endif
+#ifndef ProfileLibXp
+#define ProfileLibXp NO /* profiled Xp library */
+#endif
+ XPLIBSRC = $(LIBSRC)/Xp
+#if SharedLibXp
+#ifndef SharedXpRev
+#define SharedXpRev 6.2
+#endif
+SharedLibReferences(XP,Xp,$(XPLIBSRC),SOXPREV,SharedXpRev)
+#else
+ProjectUnsharedLibReferences(XP,Xp,$(XPLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXt
+#define SharedLibXt HasSharedLibraries
+#endif
+#ifndef NormalLibXt
+#define NormalLibXt (!SharedLibXt | ForceNormalLib)
+#endif
+#ifndef DebugLibXt
+#define DebugLibXt NO /* debugged toolkit library */
+#endif
+#ifndef ProfileLibXt
+#define ProfileLibXt NO /* profiled toolkit library */
+#endif
+ TOOLKITSRC = $(LIBSRC)/Xt
+#if SharedLibXt
+#ifndef SharedXtRev
+#define SharedXtRev 6.0
+#endif
+SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev)
+#else
+ProjectUnsharedLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),XBuildLibDir)
+#endif
+ DEPXTOOLLIB = $(DEPXTOOLONLYLIB) $(DEPSMLIB) $(DEPICELIB)
+ XTOOLLIB = $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
+ LINTXTOOLLIB = $(LINTXTOOLONLYLIB)
+
+#ifndef SharedLibXa
+#define SharedLibXa (HasSharedLibraries & HasCplusplus)
+#endif
+#ifndef NormalLibXa
+/* #define NormalLibXa ((!SharedLibXa | ForceNormalLib) & HasCplusplus) */
+#define NormalLibXa YES /* needed for current tests, will correct later */
+#endif
+#ifndef DebugLibXa
+#define DebugLibXa NO /* debugged audio library */
+#endif
+#ifndef ProfileLibXa
+#define ProfileLibXa NO /* profiled audio library */
+#endif
+ XALIBSRC = $(LIBSRC)/Xa
+#if SharedLibXa
+#ifndef SharedXaRev
+#define SharedXaRev 1.0
+#endif
+SharedLibReferences(XA,Xa,$(XALIBSRC),SOXAREV,SharedXaRev)
+#else
+UnsharedLibReferences(XA,Xa,$(XALIBSRC))
+#endif
+
+#ifndef BuildXaw
+#define BuildXaw (BuildXprintLib && !BuildServersOnly)
+#endif
+
+ /* AWIDGETSRC is needed by libXaw6 and libXaw7 */
+ AWIDGETSRC = $(LIBSRC)/Xaw
+
+#if BuildXaw
+#ifndef SharedLibXaw
+#define SharedLibXaw HasSharedLibraries
+#endif
+#ifndef NormalLibXaw
+#define NormalLibXaw (!SharedLibXaw | ForceNormalLib)
+#endif
+#ifndef DebugLibXaw
+#define DebugLibXaw NO /* debugged widget library */
+#endif
+#ifndef ProfileLibXaw
+#define ProfileLibXaw NO /* profiled widget library */
+#endif
+#if SharedLibXaw
+#ifndef SharedXawRev
+#define SharedXawRev 8.0
+#endif
+SharedDSLibReferences(XAW,Xaw,$(AWIDGETSRC),SOXAWREV,SharedXawRev)
+#else
+ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGETSRC),XBuildLibDir)
+#endif
+#endif
+
+#ifndef BuildXaw7
+#define BuildXaw7 (HasSharedLibraries && !BuildServersOnly)
+#endif
+
+#if BuildXaw7
+#ifndef SharedLibXaw7
+#define SharedLibXaw7 HasSharedLibraries
+#endif
+#ifndef NormalLibXaw7
+#define NormalLibXaw7 NO
+#endif
+#ifndef DebugLibXaw7
+#define DebugLibXaw7 NO /* debugged widget library */
+#endif
+#ifndef ProfileLibXaw7
+#define ProfileLibXaw7 NO /* profiled widget library */
+#endif
+ AWIDGET7SRC = $(LIBSRC)/Xaw7
+#if SharedLibXaw7
+#ifndef SharedXaw7Rev
+#define SharedXaw7Rev 7.0
+#endif
+SharedDSLibReferences(XAW7,Xaw,$(AWIDGET7SRC),SOXAW7REV,SharedXaw7Rev)
+#if !BuildXaw
+SharedDSLibReferences(XAW,Xaw,$(AWIDGET7SRC),SOXAWREV,SharedXawRev)
+#endif
+#else
+ProjectUnsharedLibReferences(XAW7,Xaw,$(AWIDGET7SRC),XBuildLibDir)
+#if !BuildXaw
+ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET7SRC),XBuildLibDir)
+#endif
+#endif
+#endif
+
+
+#ifndef BuildXaw6
+#define BuildXaw6 (HasSharedLibraries && !BuildServersOnly)
+#endif
+
+#if BuildXaw6
+#ifndef SharedLibXaw6
+#define SharedLibXaw6 HasSharedLibraries
+#endif
+#ifndef NormalLibXaw6
+#define NormalLibXaw6 NO
+#endif
+#ifndef DebugLibXaw6
+#define DebugLibXaw6 NO /* debugged widget library */
+#endif
+#ifndef ProfileLibXaw6
+#define ProfileLibXaw6 NO /* profiled widget library */
+#endif
+ AWIDGET6SRC = $(LIBSRC)/Xaw6
+#if SharedLibXaw6
+#ifndef SharedXaw6Rev
+#define SharedXaw6Rev 6.1
+#endif
+SharedDSLibReferences(XAW6,Xaw,$(AWIDGET6SRC),SOXAW6REV,SharedXaw6Rev)
+#if !BuildXaw && !BuildXaw7
+SharedDSLibReferences(XAW,Xaw,$(AWIDGET6SRC),SOXAWREV,SharedXawRev)
+#endif
+#else
+ProjectUnsharedLibReferences(XAW6,Xaw,$(AWIDGET6SRC),XBuildLibDir)
+#if !BuildXaw && !BuildXaw7
+ProjectUnsharedLibReferences(XAW,Xaw,$(AWIDGET6SRC),XBuildLibDir)
+#endif
+#endif
+#endif
+
+#ifndef SharedLibXi
+#define SharedLibXi HasSharedLibraries
+#endif
+#ifndef NormalLibXi
+#define NormalLibXi (!SharedLibXi | ForceNormalLib)
+#endif
+#ifndef DebugLibXi
+#define DebugLibXi NO /* debugged Xi library */
+#endif
+#ifndef ProfileLibXi
+#define ProfileLibXi NO /* profiled Xi library */
+#endif
+ XILIBSRC = $(LIBSRC)/Xi
+#if SharedLibXi
+#ifndef SharedXiRev
+#define SharedXiRev 6.0
+#endif
+SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev)
+#else
+ProjectUnsharedLibReferences(XI,Xi,$(XILIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXtst
+#define SharedLibXtst HasSharedLibraries
+#endif
+#ifndef NormalLibXtst
+#define NormalLibXtst (!SharedLibXtst | ForceNormalLib)
+#endif
+#ifndef DebugLibXtst
+#define DebugLibXtst NO /* debugged Xtst library */
+#endif
+#ifndef ProfileLibXtst
+#define ProfileLibXtst NO /* profiled Xtst library */
+#endif
+ XTESTLIBSRC = $(LIBSRC)/Xtst
+#if SharedLibXtst
+#ifndef SharedXtstRev
+#define SharedXtstRev 6.1
+#endif
+SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev)
+#else
+ProjectUnsharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),XBuildLibDir)
+#endif
+
+ProjectUnsharedLibReferences(XBSD,Xbsd,$(LIBSRC)/Xbsd,XBuildLibDir)
+
+#ifndef SharedLibICE
+#define SharedLibICE HasSharedLibraries
+#endif
+#ifndef NormalLibICE
+#define NormalLibICE (!SharedLibICE | ForceNormalLib)
+#endif
+#ifndef DebugLibICE
+#define DebugLibICE NO /* debugged ICE library */
+#endif
+#ifndef ProfileLibICE
+#define ProfileLibICE NO /* profiled ICE library */
+#endif
+ ICESRC = $(LIBSRC)/ICE
+#if SharedLibICE
+#ifndef SharedICERev
+#define SharedICERev 6.4
+#endif
+SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev)
+#else
+ProjectUnsharedLibReferences(ICE,ICE,$(ICESRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibSM
+#define SharedLibSM HasSharedLibraries
+#endif
+#ifndef NormalLibSM
+#define NormalLibSM (!SharedLibSM | ForceNormalLib)
+#endif
+#ifndef DebugLibSM
+#define DebugLibSM NO /* debugged SM library */
+#endif
+#ifndef ProfileLibSM
+#define ProfileLibSM NO /* profiled SM library */
+#endif
+ SMSRC = $(LIBSRC)/SM
+#if SharedLibSM
+#ifndef SharedSMRev
+#define SharedSMRev 6.0
+#endif
+SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev)
+#else
+ProjectUnsharedLibReferences(SM,SM,$(SMSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXkey
+#define SharedLibXkey HasSharedLibraries
+#endif
+#ifndef NormalLibXkey
+#define NormalLibXkey (!SharedLibXkey | ForceNormalLib)
+#endif
+#ifndef DebugLibXkey
+#define DebugLibXkey NO /* debugged Xkey library */
+#endif
+#ifndef ProfileLibXkey
+#define ProfileLibXkey NO /* profiled Xkey library */
+#endif
+ XKEYSRC = $(LIBSRC)/Xkey
+#if SharedLibXkey
+#ifndef SharedXkeyRev
+#define SharedXkeyRev 6.0
+#endif
+SharedLibReferences(XKEY,Xkey,$(XKEYSRC),SOXKEYREV,SharedXkeyRev)
+#else
+ProjectUnsharedLibReferences(XKEY,Xkey,$(XKEYSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibFS
+#define SharedLibFS HasSharedLibraries
+#endif
+#ifndef NormalLibFS
+#define NormalLibFS (!SharedLibFS | ForceNormalLib)
+#endif
+#ifndef DebugLibFS
+#define DebugLibFS NO /* debugged FS library */
+#endif
+#ifndef ProfileLibFS
+#define ProfileLibFS NO /* profiled FS library */
+#endif
+ FSLIBSRC = $(LIBSRC)/FS
+#if SharedLibFS
+#ifndef SharedFSRev
+#define SharedFSRev 6.0
+#endif
+SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev)
+#else
+ProjectUnsharedLibReferences(FS,FS,$(FSLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibFont
+#define SharedLibFont HasSharedLibraries
+#endif
+#ifndef NormalLibFont
+#define NormalLibFont (!SharedLibFont | ForceNormalLib | XserverStaticFontLib)
+#endif
+#ifndef DebugLibFont
+#define DebugLibFont NO /* debugged Font library */
+#endif
+#ifndef ProfileLibFont
+#define ProfileLibFont NO /* profiled Font library */
+#endif
+ FONTLIBSRC = $(LIBSRC)/font
+#if SharedLibFont
+#ifndef SharedFontRev
+#define SharedFontRev 1.5
+#endif
+SharedFontLibReferences()
+XCOMM SharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),SOFONTREV,SharedFontRev)
+#else
+ProjectUnsharedFontLibReferences()
+XCOMM ProjectUnsharedLibReferences(XFONT,Xfont,$(FONTLIBSRC),XBuildLibDir)
+#endif
+
+ FONTSTUBLIBSRC = $(FONTLIBSRC)/stubs
+ProjectUnsharedLibReferences(FONTSTUB,fntstubs,$(FONTSUBLIBSRC),XBuildLibDir)
+ DEPFONTLIB = $(DEPXFONTLIB) $(DEPFONTSTUBLIB)
+ FONTLIB = $(XFONTLIB) $(FONTSTUBLIB) $(FREETYPE2LIB)
+
+
+#ifndef SharedLibFontEnc
+#define SharedLibFontEnc HasSharedLibraries
+#endif
+#ifndef NormalLibFontEnc
+#define NormalLibFontEnc (!SharedLibFontEnc | ForceNormalLib)
+#endif
+#ifndef DebugLibFontEnc
+#define DebugLibFontEnc NO /* debugged fontenc library */
+#endif
+#ifndef ProfileLibFontEnc
+#define ProfileLibFontEnc NO /* profiled fontenc library */
+#endif
+ FONTENCLIBSRC = $(LIBSRC)/fontenc
+#if SharedLibFontEnc
+#ifndef SharedFontEncRev
+#define SharedFontEncRev 1.0
+#endif
+SharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),SOFONTENCREV,SharedFontEncRev)
+#else
+ProjectUnsharedLibReferences(XFONTENC,fontenc,$(FONTENCLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef SharedLibXpm
+#define SharedLibXpm HasSharedLibraries
+#endif
+#ifndef NormalLibXpm
+#define NormalLibXpm (!SharedLibXpm | ForceNormalLib)
+#endif
+#ifndef DebugLibXpm
+#define DebugLibXpm NO
+#endif
+#ifndef ProfileLibXpm
+#define ProfileLibXpm NO
+#endif
+ XPMLIBSRC = $(LIBSRC)/Xpm
+#if SharedLibXpm
+#ifndef SharedXpmRev
+#define SharedXpmRev 4.11
+#endif
+SharedLibReferences(XPM,Xpm,$(XPMLIBSRC),SOXPMREV,SharedXpmRev)
+#else
+ProjectUnsharedLibReferences(XPM,Xpm,$(XPMLIBSRC),XBuildLibDir)
+#endif
+
+#if UseFreetype2
+
+#if BuildFreetype2Library
+
+#ifndef SharedLibFreetype2
+#define SharedLibFreetype2 HasSharedLibraries
+#endif
+#ifndef NormalLibFreetype2
+#define NormalLibFreetype2 (!SharedLibFreetype2 | ForceNormalLib)
+#endif
+#ifndef DebugLibFreetype2
+#define DebugLibFreetype2 NO
+#endif
+#ifndef ProfileLibFreetype2
+#define ProfileLibFreetype2 NO
+#endif
+ FREETYPE2LIBSRC = $(LIBSRC)/freetype2
+
+/*
+ * FreeType 2.1.9
+ *
+ * Get the library version information from version_info in
+ * in xc/extras/freetype2/builds/unix/configure.ac.
+ *
+ * current:revision:age = 9:7:3
+ *
+ * The LibtoolMinorVersions revision is "(current - age).age".
+ * The !LibtoolMinorVersions revision is "current.0".
+ * Freetype2Version should be set to "current.revision.age"
+ */
+#ifndef Freetype2Version
+#define Freetype2Version 9.7.3
+#endif
+
+#if SharedLibFreetype2
+#ifndef SharedLibtoolFreetype2Rev
+#define SharedLibtoolFreetype2Rev 9:7:3
+#endif
+#ifndef SharedFreetype2Rev
+#if LibtoolMinorVersions
+#define SharedFreetype2Rev 6.3.8
+#else
+#define SharedFreetype2Rev 9.0
+#endif
+#endif
+SharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),SOFREETYPE2REV,SharedFreetype2Rev)
+#else
+ProjectUnsharedLibReferences(FREETYPE2,freetype,$(FREETYPE2LIBSRC),XBuildLibDir)
+#endif
+
+#ifdef UseInstalled
+FREETYPE2INCDIR=$(INCDIR)
+#else
+FREETYPE2INCDIR=$(BUILDINCDIR)
+#endif
+
+#else /* BuildFreetype2Library */
+
+#if HasFreetype2
+
+#ifndef Freetype2Dir
+#define Freetype2Dir /usr
+#ifndef Freetype2DirStandard
+# define Freetype2DirStandard YES
+#endif
+#endif
+#ifndef Freetype2DirStandard
+#define Freetype2DirStandard NO
+#endif
+
+#ifndef Freetype2LibDir
+#define Freetype2LibDir Freetype2Dir/LibDirName
+# if Freetype2DirStandard
+# define Freetype2LibDirStandard YES
+# endif
+#endif
+#ifndef Freetype2LibDirStandard
+# define Freetype2LibDirStandard NO
+#endif
+
+#ifndef Freetype2IncDir
+#define Freetype2IncDir Freetype2Dir/include
+# if Freetype2DirStandard
+# define Freetype2IncDirStandard YES
+# endif
+#endif
+
+FREETYPE2DIR = Freetype2Dir
+FREETYPE2LIBDIR = Freetype2LibDir
+FREETYPE2INCDIR = Freetype2IncDir
+#if Freetype2LibDirStandard
+FREETYPE2LIB = -lfreetype
+#else
+FREETYPE2LIB = -L$(FREETYPE2LIBDIR) LinkerRuntimeLibraryPathFlag($(FREETYPE2LIBDIR)) -lfreetype
+#endif
+
+#endif /* HasFreetype2 */
+
+#endif /* else BuildFreetype2Library */
+
+#ifndef Freetype2IncDirStandard
+# define Freetype2IncDirStandard NO
+#endif
+
+#if BuildFreetype2Library || HasFreetype2
+#if Freetype2IncDirStandard
+FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
+#else
+FREETYPE2INCLUDES = -I$(FREETYPE2INCDIR) -I$(FREETYPE2INCDIR)/freetype2 -I$(FREETYPE2INCDIR)/freetype2/config
+#endif
+FREETYPE2DEFINES = -DFREETYPE2
+#endif
+
+#endif /* UseFreetype2 */
+
+#if HasMotif
+
+#ifndef MotifDir
+#define MotifDir /usr/X11R6
+#endif
+#ifndef MotifDirStandard
+#define MotifDirStandard NO
+#endif
+
+#ifndef MotifLibDir
+# define MotifLibDir MotifDir/LibDirName
+# if MotifDirStandard
+# define MotifLibDirStandard YES
+# endif
+#endif
+#ifndef MotifLibDirStandard
+# define MotifLibDirStandard NO
+#endif
+
+#ifndef MotifIncDir
+# define MotifIncDir MotifDir/include
+# if MotifDirStandard
+# define MotifIncDirStandard YES
+# endif
+#endif
+#ifndef MotifIncDirStandard
+# define MotifIncDirStandard NO
+#endif
+
+MOTIFDIR = MotifDir
+MOTIFLIBDIR = MotifLibDir
+MOTIFINCDIR = MotifIncDir
+
+#if MotifLibDirStandard
+MOTIFLIB = -lXm
+#else
+MOTIFLIB = -L$(MOTIFLIBDIR) LinkerRuntimeLibraryPathFlag($(MOTIFLIBDIR)) -lXm
+#endif
+
+#if MotifIncDirStandard
+MOTIFINCLUDES =
+#else
+MOTIFINCLUDES = -I$(MOTIFINCDIR)
+#endif
+
+#endif /* HasMotif */
+
+#ifndef SharedLibExpat
+#define SharedLibExpat HasSharedLibraries
+#endif
+#ifndef NormalLibExpat
+#define NormalLibExpat (!SharedLibExpat | ForceNormalLib)
+#endif
+#ifndef DebugLibExpat
+#define DebugLibExpat NO
+#endif
+#ifndef ProfileLibExpat
+#define ProfileLibExpat NO
+#endif
+ EXPATLIBSRC = $(LIBSRC)/expat
+
+/*
+ * Expat 1.95.6.
+ *
+ * Get the library version information from LIBCURRENT, LIBREVISION and LIBAGE
+ * in xc/extras/expat/configure.
+ *
+ * LIBCURRENT:LIBREVISION:LIBAGE = 4:0:4
+ *
+ * The LibtoolMinorVersions revision is "(LIBCURRENT - LIBAGE).LIBAGE".
+ * The !LibtoolMinorVersions revision is "LIBCURRENT.0".
+ */
+#ifndef ExpatVersion
+#define ExpatVersion 1.95.6
+#endif
+
+#if SharedLibExpat
+#ifndef SharedLibtoolExpatRev
+#define SharedLibtoolExpatRev 4:0:4
+#endif
+#ifndef SharedExpatRev
+#if LibtoolMinorVersions
+#define SharedExpatRev 0.4
+#else
+#define SharedExpatRev 4.0
+#endif
+#endif
+SharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),SOEXPATREV,SharedExpatRev)
+#else
+ProjectUnsharedLibReferences(EXPAT,expat,$(EXPATLIBSRC),XBuildLibDir)
+#endif
+
+#if UseExpat
+
+#if BuildExpatLibrary
+EXPATINCLUDES=$(TOP_X_INCLUDES)
+EXPATDEFINES=-DEXPAT
+#else /* BuildExpatLibrary */
+
+#if HasExpat
+
+#ifndef ExpatDir
+#define ExpatDir /usr
+#define ExpatDirStandard YES
+#endif
+#ifndef ExpatDirStandard
+#define ExpatDirStandard NO
+#endif
+
+#ifndef ExpatLibDir
+#define ExpatLibDir ExpatDir/LibDirName
+# if ExpatDirStandard
+# define ExpatLibDirStandard YES
+# endif
+#endif
+#ifndef ExpatLibDirStandard
+#define ExpatLibDirStandard NO
+#endif
+
+#ifndef ExpatIncDir
+#define ExpatIncDir ExpatDir/include
+# if ExpatDirStandard
+# define ExpatIncDirStandard YES
+# endif
+#endif
+#ifndef ExpatIncDirStandard
+#define ExpatIncDirStandard NO
+#endif
+
+EXPATDIR = ExpatDir
+EXPATLIBDIR = ExpatLibDir
+EXPATINCDIR = ExpatIncDir
+#if ExpatIncDirStandard
+EXPATINCLUDES =
+#else
+EXPATINCLUDES = -I$(EXPATINCDIR)
+#endif
+#if ExpatLibDirStandard
+EXPATLIB = -lexpat
+#else
+EXPATLIB = -L$(EXPATLIBDIR) LinkerRuntimeLibraryPathFlag($(EXPATLIBDIR)) -lexpat
+#endif
+EXPATDEFINES = -DEXPAT
+#endif /* HasExpat */
+
+#endif /* else BuildExpatLibrary */
+
+#define ExpatClientLibs $(EXPATLIB)
+#define ExpatClientDepLibs $(DEPEXPATLIB)
+
+#endif /* UseExpat */
+
+#ifndef SharedLibXft1
+#define SharedLibXft1 HasSharedLibraries
+#endif
+#ifndef NormalLibXft1
+#define NormalLibXft1 NO
+#endif
+#ifndef DebugLibXft1
+#define DebugLibXft1 NO
+#endif
+#ifndef ProfileLibXft1
+#define ProfileLibXft1 NO
+#endif
+ XFT1LIBSRC = $(LIBSRC)/Xft1
+#if SharedLibXft1
+#ifndef SharedXft1Rev
+#define SharedXft1Rev 1.1
+#endif
+SharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),SOXFT1REV,SharedXft1Rev)
+#else
+ProjectUnsharedLibReferences(XFT1,Xft,$(XFT1LIBSRC),XBuildLibDir)
+#endif
+
+#ifndef Xft1ClientDepLibs
+#if UseFreetype2
+#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPFREETYPE2LIB) $(DEPXRENDERLIB)
+#else
+#define Xft1ClientDepLibs $(DEPXFT1LIB) $(DEPXRENDERLIB)
+#endif
+#endif
+#ifndef Xft1ClientLibs
+#if UseFreetype2
+#define Xft1ClientLibs $(XFT1LIB) $(FREETYPE2LIB) $(XRENDERLIB)
+#else
+#define Xft1ClientLibs $(XFT1LIB) $(XRENDERLIB)
+#endif
+#endif
+
+#ifndef SharedLibXft
+#define SharedLibXft HasSharedLibraries
+#endif
+#ifndef NormalLibXft
+#define NormalLibXft (!SharedLibXft | ForceNormalLib)
+#endif
+#ifndef DebugLibXft
+#define DebugLibXft NO
+#endif
+#ifndef ProfileLibXft
+#define ProfileLibXft NO
+#endif
+ XFTLIBSRC = $(LIBSRC)/Xft
+#if SharedLibXft
+#ifndef SharedXftRev
+#define SharedXftRev 2.1.2
+#endif
+SharedLibReferences(XFT,Xft,$(XFTLIBSRC),SOXFTREV,SharedXftRev)
+#else
+ProjectUnsharedLibReferences(XFT,Xft,$(XFTLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef XftClientDepLibs
+#define XftClientDepLibs $(DEPXFTLIB) FontconfigClientDepLibs $(DEPXRENDERLIB)
+#endif
+#ifndef XftClientLibs
+#define XftClientLibs $(XFTLIB) FontconfigClientLibs $(XRENDERLIB)
+#endif
+
+#if UseFontconfig
+
+#if BuildFontconfigLibrary
+
+#ifndef SharedLibFontconfig
+#define SharedLibFontconfig HasSharedLibraries
+#endif
+#ifndef NormalLibFontconfig
+#define NormalLibFontconfig (!SharedLibFontconfig | ForceNormalLib)
+#endif
+#ifndef DebugLibFontconfig
+#define DebugLibFontconfig NO
+#endif
+#ifndef ProfileLibFontconfig
+#define ProfileLibFontconfig NO
+#endif
+ FONTCONFIGLIBSRC = $(LIBSRC)/fontconfig
+#if SharedLibFontconfig
+#ifndef SharedFontconfigRev
+#define SharedFontconfigRev 1.0.4
+#endif
+SharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),SOFONTCONFIGREV,SharedFontconfigRev)
+#else
+ProjectUnsharedLibReferences(FONTCONFIG,fontconfig,$(FONTCONFIGLIBSRC),XBuildLibDir)
+#endif
+
+#ifdef UseInstalled
+FONTCONFIGINCDIR=$(INCDIR)
+#else
+FONTCONFIGINCDIR=$(BUILDINCDIR)
+#endif
+
+FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
+
+#if UseInstalledX11
+FCCACHE = $(BINDIR)/fc-cache
+#else
+FCCACHE = set -x; $(CLIENTENVSETUP) $(PRELOADXFTSETUP) FONTCONFIG_PATH=$(FONTCONFIGLIBSRC) $(XBUILDBINDIR)/fc-cache
+#endif
+
+#else /* BuildFontconfigLibrary */
+
+#if HasFontconfig
+
+#ifndef FontconfigDir
+# define FontconfigDir /usr
+# ifndef FontconfigDirStandard
+# define FontconfigDirStandard YES
+# endif
+#endif
+
+#ifndef FontconfigDirStandard
+# define FontconfigDirStandard NO
+#endif
+
+#ifndef FontconfigLibDir
+# define FontconfigLibDir FontconfigDir/LibDirName
+# if FontconfigDirStandard
+# define FontconfigLibDirStandard YES
+# endif
+#endif
+#ifndef FontconfigLibDirStandard
+# define FontconfigLibDirStandard NO
+#endif
+
+#ifndef FontconfigBinDir
+# define FontconfigBinDir FontconfigDir/bin
+#endif
+
+#ifndef FontconfigIncDir
+# define FontconfigIncDir FontconfigDir/include
+# if FontconfigDirStandard
+# define FontconfigIncDirStandard YES
+# endif
+#endif
+
+#ifndef FontconfigIncDirStandard
+# define FontconfigIncDirStandard NO
+#endif
+
+FONTCONFIGDIR = FontconfigDir
+FONTCONFIGLIBDIR = FontconfigLibDir
+FONTCONFIGINCDIR = FontconfigIncDir
+FONTCONFIGBINDIR = FontconfigBinDir
+#if FontconfigLibDirStandard
+FONTCONFIGLIB = -lfontconfig
+#else
+FONTCONFIGLIB = -L$(FONTCONFIGLIBDIR) LinkerRuntimeLibraryPathFlag($(FONTCONFIGLIBDIR)) -lfontconfig
+#endif
+
+#if FontconfigIncDirStandard
+FONTCONFIGINCLUDES =
+#else
+FONTCONFIGINCLUDES = -I$(FONTCONFIGINCDIR)
+#endif
+
+FCCACHE = $(FONTCONFIGBINDIR)/fc-cache
+
+#endif /* HasFontconfig */
+
+#endif /* else BuildFontconfigLibrary */
+
+#if BuildFontconfigLibrary || HasFontconfig
+FONTCONFIGDEFINES = -DFONTCONFIG
+#endif
+
+#ifndef FontconfigClientDepLibs
+#define FontconfigClientDepLibs $(DEPFONTCONFIGLIB) $(DEPFREETYPE2LIB) ExpatClientDepLibs
+#endif
+#ifndef FontconfigClientLibs
+#define FontconfigClientLibs $(FONTCONFIGLIB) $(FREETYPE2LIB) ExpatClientLibs
+#endif
+
+#endif /* UseFontconfig */
+
+XFTINCLUDES=$(FONTCONFIGINCLUDES) $(FREETYPE2INCLUDES)
+
+#ifdef HasLibpng
+
+/*
+ * Libpng controls:
+ *
+ * LibpngDir prefix for all libpng files
+ * LibpngDirStandard Boolean - whether png headers/libs are
+ * in default compile/link paths
+ * LibpngLibDir Directory holding png library
+ * LibpngLibDirStandard Boolean - whether png libs are
+ * in default link path
+ * LibpngIncDir Directory holding png includes
+ * LibpngIncDirStandard Boolean - whether png includes are
+ * in default compile path
+ *
+ * Make sure that *Standard is set correctly, if not, the
+ * standard compile/link paths will be added *before* the
+ * local X directorys and installed versions of the standard
+ * X headers will end up getting used.
+ */
+
+#ifndef LibpngDir
+#define LibpngDir /usr
+#define LibpngDirStandard YES
+#endif
+#ifndef LibpngDirStandard
+#define LibpngDirStandard NO
+#endif
+
+#ifndef LibpngLibDir
+#define LibpngLibDir LibpngDir/LibDirName
+#if LibpngDirStandard
+#define LibpngLibDirStandard YES
+#endif
+#endif
+#ifndef LibpngLibDirStandard
+#define LibpngLibDirStandard NO
+#endif
+
+#ifndef LibpngIncDir
+#define LibpngIncDir LibpngDir/include
+#if LibpngDirStandard
+#define LibpngIncDirStandard YES
+#endif
+#endif
+#ifndef LibpngIncDirStandard
+#define LibpngIncDirStandard NO
+#endif
+
+LIBPNGINCDIR = LibpngIncDir
+#if LibpngIncDirStandard
+LIBPNGINC=
+#else
+LIBPNGINC = -I$(LIBPNGINCDIR)
+#endif
+LIBPNGDIR = LibpngDir
+LIBPNGLIBDIR = LibpngLibDir
+LIBPNGINCDIR = LibpngIncDir
+#if LibpngLibDirStandard
+LIBPNGLIB = -lpng
+#else
+LIBPNGLIB = -L$(LIBPNGLIBDIR) LinkerRuntimeLibraryPathFlag($(LIBPNGLIBDIR)) -lpng
+#endif
+
+#endif
+
+#ifndef XmuuClientDepLibs
+#define XmuuClientDepLibs $(DEPXMUULIB) $(DEPXLIB)
+#endif
+#ifndef XmuuClientLibs
+#define XmuuClientLibs $(XMUULIB) $(XLIB)
+#endif
+
+#ifndef LdLibraryPath
+#define LdLibraryPath LD_LIBRARY_PATH
+#endif
+
+#if BuildXKBlib
+# ifndef SharedLibxkbfile
+# define SharedLibxkbfile HasSharedLibraries
+# endif
+# ifndef NormalLibxkbfile
+# define NormalLibxkbfile (!SharedLibxkbfile | ForceNormalLib)
+# endif
+# ifndef DebugLibxkbfile
+# define DebugLibxkbfile NO
+# endif
+# ifndef ProfileLibxkbfile
+# define ProfileLibxkbfile NO
+# endif
+#else
+# ifndef SharedLibxkbfile
+# define SharedLibxkbfile NO
+# endif
+# ifndef NormalLibxkbfile
+# define NormalLibxkbfile NO
+# endif
+# ifndef DebugLibxkbfile
+# define DebugLibxkbfile NO
+# endif
+# ifndef ProfileLibxkbfile
+# define ProfileLibxkbfile NO
+# endif
+#endif
+ XKBFILELIBSRC = $(LIBSRC)/xkbfile
+#if SharedLibxkbfile
+# ifndef SharedxkbfileRev
+# define SharedxkbfileRev 1.0
+# endif
+SharedLibReferences(XKBFILE,xkbfile,$(XKBFILESRC),SOXKBFILEREV, SharedxkbfileRev)
+#else
+ProjectUnsharedLibReferences(XKBFILE,xkbfile,$(XKBFILELIBSRC),XBuildLibDir)
+#endif
+
+#if BuildXKBlib
+# ifndef XkbClientDepLibs
+# if UseXKBInClients
+# define XkbClientDepLibs $(DEPXKBFILELIB)
+# else
+# define XkbClientDepLibs /**/
+# endif
+# endif
+# ifndef XkbClientLibs
+# if UseXKBInClients
+# define XkbClientLibs $(XKBFILELIB)
+# else
+# define XkbClientLibs /**/
+# endif
+# endif
+
+# if defined(UseInstalled) || (CrossCompiling && UseInstalledOnCrossCompile)
+ XKBCOMPCMD = $(XBINDIR)/XkbComp
+# else
+ XKBCOMPSRC = $(PROGRAMSRC)/XkbComp
+# if CrossCompiling
+ XKBCOMPCMD = $(PROGRAMSRC)/XkbComp/cross/XkbComp
+# else
+ XKBCOMPCMD = $(CLIENTENVSETUP) $(PRELOADSETUP) $(XBUILDBINDIR)/XkbComp
+# endif
+# endif
+#else /* !BuildXKBlib */
+# ifndef XkbClientDepLibs
+# define XkbClientDepLibs
+# endif
+# ifndef XkbClientLibs
+# define XkbClientLibs
+# endif
+#endif /* BuildXKBlib */
+
+#if BuildXKBlib
+# ifndef SharedLibxkbui
+# define SharedLibxkbui HasSharedLibraries
+# endif
+# ifndef NormalLibxkbui
+# define NormalLibxkbui (!SharedLibxkbui || ForceNormalLib)
+# endif
+# ifndef DebugLibxkbui
+# define DebugLibxkbui NO
+# endif
+# ifndef ProfileLibxkbui
+# define ProfileLibxkbui NO
+# endif
+#else
+# ifndef SharedLibxkbui
+# define SharedLibxkbui NO
+# endif
+# ifndef NormalLibxkbui
+# define NormalLibxkbui NO
+# endif
+# ifndef DebugLibxkbui
+# define DebugLibxkbui NO
+# endif
+# ifndef ProfileLibxkbui
+# define ProfileLibxkbui NO
+# endif
+#endif
+ XKBUILIBSRC = $(LIBSRC)/xkbui
+#if SharedLibxkbui
+# ifndef SharedxkbuiRev
+# define SharedxkbuiRev 1.0
+# endif
+SharedLibReferences(XKBUI,xkbui,$(XKBUISRC),SOXKBUIREV, SharedxkbuiRev)
+#else
+ProjectUnsharedLibReferences(XKBUI,xkbui,$(XKBUILIBSRC),XBuildLibDir)
+#endif
+
+#ifndef XkbuiLibs
+# define XkbuiLibs $(XKBUILIB)
+#endif
+#ifndef XkbuiDepLibs
+# define XkbuiDepLibs $(DEPXKBFILELIB)
+#endif
+
+#ifndef SharedxrxRev
+# define SharedxrxRev 6.8
+#endif
+
+#ifndef SharedxrxnestRev
+# define SharedxrxnestRev 6.8
+#endif
+
+#ifndef ExtraXawReqs
+# if BuildXaw
+# define ExtraXawReqs $(XPLIB)
+# else
+# define ExtraXawReqs /**/
+# endif
+#endif
+
+EXTRAXAWREQS = ExtraXawReqs
+
+#ifndef ExtraXawClientDepLibs
+# if BuildXaw
+# define ExtraXawClientDepLibs $(DEPXPLIB)
+# else
+# define ExtraXawClientDepLibs /**/
+# endif
+#endif
+
+EXTRAXAWCLIENTDEPLIBS = ExtraXawClientDepLibs
+
+#ifndef XawClientDepLibs
+#define XawClientDepLibs $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXPMLIB) $(EXTRAXAWCLIENTDEPLIBS) $(DEPXLIB)
+#endif
+
+#ifndef ExtraXawClientLibs
+# if BuildXaw
+# define ExtraXawClientLibs $(XPLIB)
+# else
+# define ExtraXawClientLibs /**/
+# endif
+#endif
+
+EXTRAXAWCLIENTLIBS = ExtraXawClientLibs
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#ifndef SharedLibXTrap
+#define SharedLibXTrap HasSharedLibraries
+#endif
+#ifndef NormalLibXTrap
+#define NormalLibXTrap (!SharedLibXTrap | ForceNormalLib)
+#endif
+#ifndef DebugLibXTrap
+#define DebugLibXTrap NO /* debugged XTrap library */
+#endif
+#ifndef ProfileLibXTrap
+#define ProfileLibXTrap NO /* profiled XTrap library */
+#endif
+ XTRAPLIBSRC = $(LIBSRC)/XTrap
+#if SharedLibXTrap
+#ifndef SharedXTrapRev
+#define SharedXTrapRev 6.4
+#endif
+SharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),SOXTRAPREV,SharedXTrapRev)
+#else
+ProjectUnsharedLibReferences(XTRAP,XTrap,$(XTRAPLIBSRC),XBuildLibDir)
+#endif
+
+#ifndef NeedDefaultDepLibs
+#define NeedDefaultDepLibs YES
+#endif
+
+#if NeedDefaultDepLibs
+/*
+ * Individual libraries should override this
+ */
+#if HasSharedLibraries || defined(UseInstalled)
+ DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+#else
+ DEPLIBS = $(LOCAL_LIBRARIES)
+#endif
+ DEPLIBS1 = $(DEPLIBS)
+ DEPLIBS2 = $(DEPLIBS)
+ DEPLIBS3 = $(DEPLIBS)
+ DEPLIBS4 = $(DEPLIBS)
+ DEPLIBS5 = $(DEPLIBS)
+ DEPLIBS6 = $(DEPLIBS)
+ DEPLIBS7 = $(DEPLIBS)
+ DEPLIBS8 = $(DEPLIBS)
+ DEPLIBS9 = $(DEPLIBS)
+ DEPLIBS10 = $(DEPLIBS)
+#endif /* NeedDefaultDepLibs */
+
+
+/*
+ * InstallAppDefaults - simple rules to install application default file
+ */
+#ifndef InstallAppDefaults
+#define InstallAppDefaults(class) InstallAppDefaultsLong(class,class)
+#endif /* InstallAppDefaults */
+
+/*
+ * InstallAppDefaultsLong - general rule to install application default file
+ * if the InstallAppDefFiles configuration parameter is set.
+ */
+#ifndef InstallAppDefaultsLong
+#if UseConfDirForAppDefaults
+#if InstallAppDefFiles
+#define InstallAppDefaultsLong(file,class) @@\
+LinkConfDirectory(app-defaults,.,app-defaults,.) @@\
+InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#else
+#define InstallAppDefaultsLong(file,class) @@\
+LinkConfDirectory(app-defaults,.,app-defaults,.) @@\
+InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#endif /* InstallAppDefFiles */
+#else /* UseConfDirForAppDefaults */
+#if InstallAppDefFiles
+#define InstallAppDefaultsLong(file,class) @@\
+InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#else
+#define InstallAppDefaultsLong(file,class) @@\
+InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#endif /* InstallAppDefFiles */
+#endif /* UseConfDirForAppDefaults */
+#endif /* InstallAppDefaultsLong */
+
+/*
+ * MakeFcCache - generate rules to build fontconfig cache database
+ */
+
+#if defined UseFreetype2 && !CrossCompiling
+
+# ifndef MakeFcCache
+# define MakeFcCache(deplist) @@\
+all:: fonts.cache @@\
+ @@\
+fonts.cache: deplist @@\
+ RunProgram(FCCACHE, $(FCCACHEOPTS) .) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(fonts.cache*)
+# endif /* MakeFcCache */
+
+# ifndef InstallFcCache
+# define InstallFcCache(dest) @@\
+install:: @@\
+ RunProgram(FCCACHE, $(FCCACHEOPTS) $(DESTDIR)dest)
+# endif /* InstallFcCache */
+
+#else
+
+#ifndef MakeFcCache
+#define MakeFcCache(deplist)
+#endif
+
+#ifndef InstallFcCache
+#define InstallFcCache(dest)
+#endif
+
+#endif
+
+/*
+ * MakeFontsScale - generate rules to build fonts.scale database.
+ */
+#ifndef MakeFontsScale
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define MakeFontsScale(deplist) @@\
+all:: fonts.scale @@\
+ @@\
+fonts.scale: deplist @@\
+ RemoveFile(fonts.scale) @@\
+ RunProgram(MKFONTSCALE, .) @@\
+ @@\
+clean:: @@\
+ RemoveFile(fonts.scale)
+# else
+# define MakeFontsScale(deplist) @@\
+clean:: @@\
+ RemoveFile(fonts.scale)
+# endif
+#endif /* MakeFontsScale */
+
+/*
+ * MakeFontsDir - generate rules to build fonts.dir database.
+ */
+#ifndef MakeFontsDir
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define MakeFontsDir(deplist) @@\
+all:: fonts.dir @@\
+ @@\
+fonts.dir: deplist @@\
+ RemoveFile(fonts.dir) @@\
+ RunProgram(MKFONTDIR, $(MKFONTDIROPTS) .) @@\
+ @@\
+clean:: @@\
+ RemoveFile(fonts.dir)
+# else
+# define MakeFontsDir(deplist) @@\
+clean:: @@\
+ RemoveFile(fonts.dir)
+# endif
+#endif /* MakeFontsDir */
+
+
+/*
+ * MakeFonts - generate rules to build font database.
+ */
+#ifndef MakeFonts
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define MakeFonts() @@\
+all:: $(OBJS) @@\
+ @@\
+MakeFontsDir($(OBJS)) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
+# else
+# define MakeFonts() @@\
+MakeFontsDir($(OBJS)) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(*.pcf *.pcf.Z *.pcf.gz)
+# endif
+#endif /* MakeFonts */
+
+#ifndef InstallFontsDir
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define InstallFontsDir(dest) @@\
+install:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @if [ X$(STATIC_FONTS_SCALE) = X ]; then (set -x; \ @@\
+ RemoveFile($(DESTDIR)dest/fonts.scale); \ @@\
+ RunProgram(MKFONTSCALE, $(DESTDIR)dest)); \ @@\
+ else (set -x; \ @@\
+ InstallInline(fonts.scale,$(INSTDATFLAGS),dest)); \ @@\
+ fi @@\
+ RemoveFile($(DESTDIR)dest/fonts.dir) @@\
+ RunProgram(MKFONTDIR, $(MKFONTDIROPTS) $(DESTDIR)dest)
+# else
+# define InstallFontsDir(dest)
+# endif
+#endif
+
+/*
+ * InstallFontObjs - generate rules to install font files
+ */
+#ifndef InstallFontObjs
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define InstallFontObjs(objs,dest) @@\
+InstallMultipleFlags(objs,dest,$(INSTDATFLAGS)) @@\
+ @@\
+InstallFontsDir(dest)
+# else
+# define InstallFontObjs(objs,dest)
+# endif
+#endif /* InstallFontObjs */
+
+
+/*
+ * InstallFonts - generate rules to install font files
+ */
+#ifndef InstallFonts
+#define InstallFonts(dest) @@\
+InstallFontObjs($(OBJS),dest)
+#endif /* InstallFonts */
+
+
+/*
+ * InstallFontAliases - generate rules to install font aliases databases.
+ */
+#ifndef InstallFontAliases
+#define InstallFontAliases(dest) @@\
+InstallTarget(install,fonts.alias,$(INSTDATFLAGS),dest)
+#endif /* InstallFontAliases */
+
+#ifndef InstallNamedFontAliases
+#define InstallNamedFontAliases(src,dest) @@\
+InstallNamedTarget(install,src,$(INSTDATFLAGS),dest,fonts.alias)
+#endif /* InstallNamedFontAliases */
+
+#ifndef FontSrc
+#define FontSrc(basename) basename.bdf
+#endif
+
+#ifndef FontBaseObj
+#define FontBaseObj(basename)basename.pcf
+#endif
+
+/*
+ * InstallFontScale - generate rules to install font scale database.
+ */
+#ifndef InstallFontScale
+#define InstallFontScale(dest) @@\
+InstallTarget(install,fonts.scale,$(INSTDATFLAGS),dest)
+#endif /* InstallFontScale */
+
+/*
+ * UncompressedFontTargetLong
+ */
+#if ! CrossCompiling || UseInstalledOnCrossCompile
+# ifndef UncompressedFontTargetLong
+# define UncompressedFontTargetLong(sname,tname) @@\
+FontBaseObj(tname): FontSrc(sname) @@\
+ RunProgram(FONTC,$(FONTCFLAGS) $? -o $@)
+# endif /* UncompressedFontTargetLong */
+#else
+# ifndef UncompressedFontTargetLong
+# define UncompressedFontTargetLong(sname,tname)
+# endif
+#endif
+
+/*
+ * CompressedFontTarget
+ */
+#ifndef GzipFontCompression
+#define GzipFontCompression NO
+#endif
+
+#if ! CrossCompiling || UseInstalledOnCrossCompile
+# ifndef CompressedFontTargetLong
+# if GzipFontCompression
+# define CompressedFontTargetLong(sname,tname) @@\
+FontBaseObj(tname).gz: FontSrc(sname) @@\
+ RunProgram(FONTC,$(FONTCFLAGS) $?) | $(GZIPCMD) > $@
+# else
+# define CompressedFontTargetLong(sname,tname) @@\
+FontBaseObj(tname).Z: FontSrc(sname) @@\
+ RunProgram(FONTC,$(FONTCFLAGS) $?) | $(COMPRESS) > $@
+# endif
+# endif /* CompressedFontTargetLong */
+#else
+# define CompressedFontTargetLong(sname,tname)
+#endif
+
+/*
+ * UncompressedFontTarget
+ */
+#ifndef UncompressedFontTarget
+#define UncompressedFontTarget(basename) UncompressedFontTargetLong(basename,basename)
+#endif /* UncompressedFontTarget */
+
+#ifndef CompressedFontTarget
+#define CompressedFontTarget(basename) CompressedFontTargetLong(basename,basename)
+#endif /* CompressedFontTarget */
+
+#if !defined(FontTarget) && !defined(FontObj)
+#if CompressAllFonts
+#define FontTargetLong(sname,tname) CompressedFontTargetLong(sname,tname)
+#define FontTarget(basename) CompressedFontTarget(basename)
+#if GzipFontCompression
+#define FontObj(basename) FontBaseObj(basename).gz
+#else
+#define FontObj(basename) FontBaseObj(basename).Z
+#endif
+#else
+#define FontTargetLong(sname,tname) UncompressedFontTargetLong(sname,tname)
+#define FontTarget(basename) UncompressedFontTarget(basename)
+#define FontObj(basename) FontBaseObj(basename)
+#endif /* CompressAllFonts */
+#endif
+
+
+#ifndef EncObj
+#define EncObj(basename) basename.enc
+#endif
+#ifndef EncObjComp
+#if GzipFontCompression
+#define EncObjComp(basename) basename.enc.gz
+#else
+#define EncObjComp(basename) basename.enc.Z
+#endif
+#endif
+
+#ifndef EncodingTarget
+#define EncodingTarget(basename) /**/
+#endif
+
+#ifndef CompEncodingTarget
+#if GzipFontCompression
+#define CompEncodingTarget(basename) @@\
+EncObjComp(basename): EncObj(basename) @@\
+ cat $? | $(GZIPCMD) > $@
+#else
+#define CompEncodingTarget(basename) @@\
+EncObjComp(basename): EncObj(basename) @@\
+ cat $? | $(COMPRESS) > $@
+#endif
+#endif
+
+#ifndef MakeEncDir
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define MakeEncDir(deplist,inst,dirlist ) @@\
+AllTarget(encodings.dir) @@\
+ @@\
+encodings.dir: deplist @@\
+ RemoveFiles(encodings.dir fonts.dir) @@\
+ @(E=; for i in dirlist; do \ @@\
+ E="$$E -e $$i"; done; \ @@\
+ set -x; \ @@\
+ RunProgram(MKFONTDIR, -n -r -p inst/ $$E .)) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(fonts.dir encodings.dir)
+# else
+# define MakeEncDir(deplist,inst,dirlist ) @@\
+clean:: @@\
+ RemoveFiles(fonts.dir encodings.dir)
+# endif
+#endif
+
+#ifndef MakeEncodings
+#define MakeEncodings(deplist,inst,dirlist) @@\
+ @@\
+MakeEncDir(deplist $(OBJS),inst,dirlist) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(*.enc.Z *.enc.gz)
+#endif /* MakeEncodings */
+
+#ifndef InstallEncObjs
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define InstallEncObjs(objs,dest) @@\
+InstallMultipleFlags(objs,dest,$(INSTDATFLAGS)) @@\
+ @@\
+InstallTarget(install,encodings.dir,$(INSTDATFLAGS),dest)
+# else
+# define InstallEncObjs(objs,dest)
+# endif
+#endif /* InstallEncObjs */
+
+#ifndef InstallEncodings
+#define InstallEncodings(dest) @@\
+InstallEncObjs($(OBJS),dest)
+#endif /* InstallEncodings */
+
+#ifndef InstallEncodingsDir
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define InstallEncodingsDir(edir,fdir) @@\
+InstallNamedTarget(install,edir/encodings.dir,$(INSTDATFLAGS),fdir,encodings.dir)
+# else
+# define InstallEncodingsDir(edir,fdir)
+# endif
+#endif
+
+
+#ifndef MakeBdfFontFromUCSMaster
+#define MakeBdfFontFromUCSMaster(font,enc) @@\
+font-enc.bdf: font.bdf $(UCS2ANY) @@\
+ RemoveFile($@) @@\
+ $(UCS2ANY) font.bdf $(UCSMAPPREFIX)enc enc @@\
+ @@\
+clean:: @@\
+ RemoveFile(font-enc.bdf)
+#endif
+
+#ifndef MakeTruncatedUCSBdfFont
+#if HasPerl5
+#define MakeTruncatedUCSBdfFont(font,trunc,name) @@\
+name.bdf: font.bdf $(BDFTRUNCATE) @@\
+ RemoveFile($@) @@\
+ RunPerlScript($(BDFTRUNCATE),trunc < font.bdf > name.bdf) @@\
+ @@\
+clean:: @@\
+ RemoveFile(name.bdf)
+#endif
+#endif
+
+/*
+ * InstallXpPMFLink - install link for a Xprint PMF "font" from one
+ * print model to another
+ */
+#ifndef InstallXpPMFLink
+#define InstallXpPMFLink(fontfilename,srcmodelfontdir,destmodelfontdir) @@\
+ InstallLink(install,srcmodelfontdir/fontfilename,fontfilename,destmodelfontdir)
+#endif /* InstallXpPMFLink */
+/*
+ * InstallXpMultiplePMFLinks - install multiple links for PMF fonts
+ * from one print model to another
+ */
+#ifndef InstallXpMultiplePMFLinks
+#define InstallXpMultiplePMFLinks(list,srcmodelfontdir,destmodelfontdir) @@\
+install:: @@\
+ MakeDir($(DESTDIR)destmodelfontdir) @@\
+ for i in list ; do \ @@\
+ $(RM) $(DESTDIR)destmodelfontdir/$$i ; \ @@\
+ $(LN) -s -f srcmodelfontdir/$$i $(DESTDIR)destmodelfontdir/$$i ; \ @@\
+ done
+#endif /* InstallXpPMFLink */
+
+/*
+ * InstallXpPMFFontsDir - make and install a fonts.dir index for model-config fonts
+ */
+#ifndef InstallXpPMFFontsDir
+#if BuildServersOnly
+#define InstallXpPMFFontsDir(destmodelfontdir) /**/
+#else
+#define InstallXpPMFFontsDir(destmodelfontdir) @@\
+install:: @@\
+ ($(MKFONTSCALE) -b -s -l $(DESTDIR)destmodelfontdir)
+#endif
+#endif /* InstallXpPMFFontsDir */
+
+
+/*
+ * MakeXkbDir
+ */
+#ifndef MakeXkbDir
+# if !CrossCompiling || UseInstalledOnCrossCompile
+# define MakeXkbDir(basedir,subdir) @@\
+all:: Concat(subdir,.dir) @@\
+ @@\
+Concat(subdir,.dir): @@\
+ RemoveFile(Concat(subdir,.dir)) @@\
+ $(XKBCOMPCMD) -lfhlpR -o Concat(subdir,.dir) '*' @@\
+ @@\
+InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir) @@\
+ @@\
+clean:: @@\
+ RemoveFile(Concat(subdir,.dir))
+# else
+# define MakeXkbDir(basedir,subdir) @@\
+clean:: @@\
+ RemoveFile(Concat(subdir,.dir))
+# endif
+#endif
+
+/*
+ * PostProcessTroffPS - by default moves the working output into place,
+ * but can be a hook for more complicated post-processing.
+ */
+#ifndef PostProcessTroffPS
+#define PostProcessTroffPS(temp,real) $(MV) temp real
+#endif
+
+/*
+ * PostProcessTroffHTML - by default moves the working output into place,
+ * but can be a hook for more complicated post-processing.
+ */
+#ifndef PostProcessTroffHTML
+#define PostProcessTroffHTML(temp,real) $(MV) temp real
+#endif
+
+#ifdef HTMLroffCmd
+#define HtmlTarget(file) file.html
+#define HtmlClean(file) file.nhtml file.html file*.png
+#else
+#define HtmlTarget(file) /**/
+#define HtmlClean(file) /**/
+#endif
+
+#ifdef PsToPdfCmd
+#define PdfTarget(file) file.pdf
+#define PdfClean(file) file.pdf
+#else
+#define PdfTarget(file) /**/
+#define PdfClean(file) /**/
+#endif
+
+#ifndef ConvertPsToPdf
+#ifdef PsToPdfCmd
+#define ConvertPsToPdf(file) @@\
+file.pdf: file.ps @@\
+ RemoveFile(file.pdf) @@\
+ $(PSTOPDFCMD) < file.ps > file.pdf
+#else
+#define ConvertPsToPdf(file) /**/
+#endif
+#endif
+
+#if HasPdfLatex
+#define PdfLatexTarget(file) file.pdf
+#define PdfLatexClean(file) file.pdf
+#else
+#define PdfLatexTarget(file) /**/
+#define PdfLatexClean(file) /**/
+#endif
+
+#ifndef LatexToPdf
+#if HasPdfLatex && defined(PdfLatexCmd)
+#define LatexToPdf(file) @@\
+file.pdf: file.tex @@\
+ RemoveFile(file.pdf) @@\
+ $(PDFLATEXCMD) file.tex
+#else
+#define LatexToPdf(file) /**/
+#endif
+#endif
+
+
+#ifndef MakeDepSimpleHtmlDoc
+#ifdef HTMLroffCmd
+#define MakeDepSimpleHtmlDoc(file,deps,srcs) @@\
+HtmlTarget(file): deps @@\
+ $(HTMLROFF) $(MSMACROS) $(XDOCMACROS) Concat(-P-I,file) srcs \ @@\
+ 2> index.raw > file.nhtml \ @@\
+ && PostProcessTroffHTML(file.nhtml,$@)
+#else
+#define MakeDepSimpleHtmlDoc(file,deps,srcs) /**/
+#endif
+#endif
+
+#ifndef MakeTblHtmlDoc
+#ifdef HTMLroffCmd
+#define MakeTblHtmlDoc(file,srcs) @@\
+file.html: srcs @@\
+ $(TBL) $(XDOCMACROS) srcs | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\
+ 2> index.raw > file.nhtml \ @@\
+ && PostProcessTroffHTML(file.nhtml,$@)
+#else
+#define MakeTblHtmlDoc(file,srcs) /**/
+#endif
+#endif
+
+#ifndef MakeEqnHtmlDoc
+#ifdef HTMLroffCmd
+#define MakeEqnHtmlDoc(file,srcs) @@\
+file.html: srcs @@\
+ $(TBL) $(XDOCMACROS) srcs | $(EQN) | $(HTMLROFF) $(MSMACROS) Concat(-P-I,file) \ @@\
+ 2> index.raw > file.nhtml \ @@\
+ && PostProcessTroffHTML(file.nhtml,$@)
+#else
+#define MakeEqnHtmlDoc(file,srcs) /**/
+#endif
+#endif
+
+
+#ifndef MakeDepSimpleDoc
+#define MakeDepSimpleDoc(file,deps,srcs) @@\
+all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\
+.PRECIOUS: file.ps @@\
+ @@\
+file.ps: deps @@\
+ -$(TROFF) $(MSMACROS) $(XDOCMACROS) srcs \ @@\
+ 2> index.raw > file.nps \ @@\
+ && PostProcessTroffPS(file.nps,$@) @@\
+ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\
+ else test $$? -le 1; fi @@\
+ @@\
+file.txt: deps @@\
+ $(NROFF) $(MSMACROS) $(XDOCMACROS) srcs 2> index.raw | \ @@\
+ $(COL) $(COLFLAGS) > $@ @@\
+ @@\
+MakeDepSimpleHtmlDoc(file,deps,srcs) @@\
+ @@\
+ConvertPsToPdf(file) @@\
+ @@\
+clean:: @@\
+ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
+#endif
+
+#ifndef MakeSimpleDoc
+#define MakeSimpleDoc(file,srcs) MakeDepSimpleDoc(file,srcs,srcs)
+#endif
+
+#ifndef MakeTblDoc
+#define MakeTblDoc(file,srcs) @@\
+all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\
+.PRECIOUS: file.ps @@\
+ @@\
+file.ps: srcs @@\
+ -$(TBL) $(XDOCMACROS) srcs | $(TROFF) $(MSMACROS) \ @@\
+ 2> index.raw > file.nps \ @@\
+ && PostProcessTroffPS(file.nps,$@) @@\
+ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\
+ else test $$? -le 1; fi @@\
+ @@\
+file.txt: srcs @@\
+ $(TBL) $(XDOCMACROS) srcs | $(NROFF) $(MSMACROS) 2> index.raw \ @@\
+ | $(COL) $(COLFLAGS) > $@ @@\
+ @@\
+MakeTblHtmlDoc(file,srcs) @@\
+ @@\
+ConvertPsToPdf(file) @@\
+ @@\
+clean:: @@\
+ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
+#endif
+
+#ifndef MakeEqnDoc
+#define MakeEqnDoc(file,srcs) @@\
+all:: file.ps file.txt HtmlTarget(file) PdfTarget(file) @@\
+.PRECIOUS: file.ps @@\
+ @@\
+file.ps: srcs @@\
+ -$(TBL) $(XDOCMACROS) srcs | $(EQN) | $(TROFF) $(MSMACROS) \ @@\
+ 2> index.raw > file.nps \ @@\
+ && PostProcessTroffPS(file.nps,$@) @@\
+ @if grep '^[^1-9.]' index.raw | grep -v warning; then exit 1; \ @@\
+ else test $$? -le 1; fi @@\
+ @@\
+file.txt: srcs @@\
+ $(TBL) $(XDOCMACROS) srcs | $(NEQN) | $(NROFF) $(MSMACROS) \ @@\
+ 2> index.raw | $(COL) $(COLFLAGS) > $@ @@\
+ @@\
+MakeEqnHtmlDoc(file,srcs) @@\
+ @@\
+ConvertPsToPdf(file) @@\
+ @@\
+clean:: @@\
+ $(RM) index.raw file.nps file.ps file.txt HtmlClean(file) PdfClean(file)
+#endif
+
+#ifndef MakeDocIndex
+#define MakeDocIndex(file,srcs) @@\
+all:: file.idx.ps @@\
+ @@\
+file.idx.ps: srcs index.raw @@\
+ sed -n '$$p' index.raw > index.pageno @@\
+ grep '^[1-9]' index.raw | \ @@\
+ (sort -f '-t:' -k2,2 -k1,1n 2>/dev/null || \ @@\
+ sort -f '-t:' +1 -3 +0n -1n) | \ @@\
+ awk -f $(DOCUTILSRC)/fixindex.awk | \ @@\
+ awk -f $(DOCUTILSRC)/block.awk > index.troff @@\
+ cat srcs $(XIDXMACROS) index.troff | \ @@\
+ $(TROFF) -me > file.idx.nps && \ @@\
+ $(MV) file.idx.nps $@ @@\
+ $(RM) index.troff index.pageno @@\
+ @@\
+clean:: @@\
+ $(RM) index.troff index.pageno file.idx.nps file.idx.ps
+#endif
+
+#ifndef MakeLatexDoc
+#if HasLatex
+#define MakeLatexDoc(file,src) @@\
+all:: file.ps PdfLatexTarget(file) @@\
+ @@\
+file.dvi: src @@\
+ $(LATEX) src @@\
+ @@\
+file.ps: file.dvi @@\
+ $(DVIPS) -o file.nps file && $(MV) file.nps $@ @@\
+ @@\
+LatexToPdf(file) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(file.nps file.ps file.dvi file.log) @@\
+ RemoveFiles(file.aux file.toc file.lof file.lot) @@\
+ $(RM) PdfLatexClean(file)
+#else /* HasLatex */
+#define MakeLatexDoc(file,src) @@\
+all:: @@\
+file.ps: src @@\
+ @echo "cannot make file.ps: no latex on this system"; exit 1
+#endif /* HasLatex (else) */
+#endif /* MakeLatexDoc */
+
+#ifndef InstallDoc
+#define InstallDoc(name,deps) @@\
+install:: deps @@\
+ MakeDir($(DESTDIR)$(DOCPSDIR)) @@\
+ @if [ -f name.ps -a X$(NOPS) = X ]; then set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.ps \ @@\
+ $(DESTDIR)$(DOCPSDIR); \ @@\
+ fi ; RemoveOldFile(name.ps,name.PS,$(DOCPSDIR)) @@\
+ MakeDir($(DESTDIR)$(DOCDIR)) @@\
+ @if [ -f name.txt -a X$(NOTXT) = X ]; then set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.txt \ @@\
+ $(DESTDIR)$(DOCDIR); \ @@\
+ fi ; RemoveOldFile(name.txt,name.TXT,$(DOCDIR)) @@\
+ MakeDir($(DESTDIR)$(DOCHTMLDIR)) @@\
+ @if [ -f name.html -a X$(NOHTML) = X ]; then (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.html \ @@\
+ $(DESTDIR)$(DOCHTMLDIR)); \ @@\
+ for i in name*.png; do \ @@\
+ if [ -f $$i ]; then (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $$i \ @@\
+ $(DESTDIR)$(DOCHTMLDIR)); \ @@\
+ fi; \ @@\
+ done; \ @@\
+ fi @@\
+ MakeDir($(DESTDIR)$(DOCPDFDIR)) @@\
+ @if [ -f name.pdf -a X$(NOPDF) = X ]; then set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) name.pdf \ @@\
+ $(DESTDIR)$(DOCPDFDIR); \ @@\
+ fi
+#endif
+
+#ifndef InstallRoffDoc
+#define InstallRoffDoc(name) InstallDoc(name,name.ps name.txt)
+#endif
+
+#ifndef InstallLatexDoc
+#if HasLatex
+#define InstallLatexDoc(name) InstallDoc(name,name.ps)
+#else
+#define InstallLatexDoc(name)
+#endif
+#endif
+
+#ifndef LinkHardcopyPS
+# if CaseSensitiveFileSystem
+# define LinkHardcopyPS(name) \
+ @if [ -f name.PS ]; then set -x; \ @@\
+ RemoveFile(name.ps); \ @@\
+ $(LN) name.PS name.ps; \ @@\
+ fi
+# else
+# define LinkHardcopyPS(name)
+# endif
+#endif
+
+
+#ifndef InstallHardcopyDoc
+#define InstallHardcopyDoc(name,deps) @@\
+all:: name.ps PdfTarget(name) @@\
+ @@\
+name.ps: deps @@\
+ @if [ -f name.PS.gz ]; then set -x; \ @@\
+ RemoveFile(name.ps); \ @@\
+ gzip -d < name.PS.gz > name.ps; \ @@\
+ fi @@\
+ LinkHardcopyPS(name) @@\
+ @@\
+ConvertPsToPdf(name) @@\
+ @@\
+clean:: @@\
+ $(RM) name.ps PdfClean(name) @@\
+ @@\
+InstallDoc(name,deps)
+#endif
+
+/*
+ * Rule for maintainers to use to updated generated copies of fonts in the
+ * source tree. Use with care.
+ */
+
+#ifndef UpdateDerivedFont
+#define UpdateDerivedFont(src,dst) @@\
+update.fonts:: src @@\
+ -@if [ -f dst ]; then \ @@\
+ if [ "$(FORCEUPDATE)" = yes ]; then \ @@\
+ if [ "$(FOLLOWLINK)" = no ]; then \ @@\
+ (set -x; $(RM) dst); \ @@\
+ fi; \ @@\
+ set -x; cp src dst; \ @@\
+ else \ @@\
+ grep -v "XFree86:" src > __tmp1__; \ @@\
+ grep -v "XFree86:" dst > __tmp2__; \ @@\
+ if diff __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \ @@\
+ else \ @@\
+ if [ "$(FOLLOWLINK)" = no ]; then \ @@\
+ (set -x; $(RM) dst); \ @@\
+ fi; \ @@\
+ set -x; cp src dst; \ @@\
+ fi; \ @@\
+ fi; \ @@\
+ fi @@\
+ @$(RM) __tmp1__ __tmp2__
+#endif
+
+#if !HasFreetype2
+ FT2PRELOADPATTERN = libfreetype.so.?
+#endif
+#if !HasFontconfig
+ FCPRELOADPATTERN = libfontconfig.so.?
+#endif
+ XFTPRELOADPATTERN = libXft.so.?
+ XRENDERPRELOADPATTERN = libXrender.so.?
+ XFONTPRELOADPATTERN = libXfont*.so.?
+
diff --git a/nx-X11/config/cf/apollo.cf b/nx-X11/config/cf/apollo.cf
new file mode 100644
index 000000000..8a5196295
--- /dev/null
+++ b/nx-X11/config/cf/apollo.cf
@@ -0,0 +1,38 @@
+XCOMM platform: $Xorg: apollo.cf,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
+
+/*
+ * Minimally tested, and only in the bsd4.3 environment. X_NOT_POSIX is not
+ * in Xosdefs.h, because we suspect someone might want to try building with
+ * POSIX support in the sysv environment (the OS doc seems to imply that
+ * POSIX is supported in sysv).
+ */
+
+#ifndef OSName
+#define OSName Domain/OS SR10.3
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 10
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 3
+#endif
+
+#ifndef CCompilerMajorVersion
+#define CCompilerMajorVersion 6
+#endif
+#ifndef CCompilerMinorVersion
+#define CCompilerMinorVersion 8
+#endif
+
+#define StandardDefines -DX_NOT_POSIX
+#define BuildServer NO
+#define HasNdbm YES
+#define ConnectionFlags -DTCPCONN
+
+#define InstallManPageLong(file,destdir,dest) @@\
+install.man:: file.man @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(NROFF) $(MANMACROS) file.man > file.mantxt @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.mantxt $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
+ $(RM) file.mantxt
diff --git a/nx-X11/config/cf/bsd.cf b/nx-X11/config/cf/bsd.cf
new file mode 100644
index 000000000..d47839341
--- /dev/null
+++ b/nx-X11/config/cf/bsd.cf
@@ -0,0 +1,37 @@
+XCOMM platform: $Xorg: bsd.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/bsd.cf,v 1.2 1998/09/06 04:46:50 dawes Exp $
+
+#ifndef OSName
+#define OSName 4.3bsd
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 3
+#endif
+
+#define BootstrapCFlags -DNOSTDHDRS
+#define StandardDefines -DNOSTDHDRS -DCSRG_BASED
+#define HasVoidSignalReturn NO
+#define HasBsearch NO
+#define DirFailPrefix -
+#define AvoidNullMakeCommand YES
+
+#define BuildServer NO
+
+#ifdef VaxArchitecture
+#define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
+#endif
+
+#if OSMajorVersion >= 4 && OSMinorVersion >= 3
+#define SetTtyGroup YES
+#endif
+
+#if OSMajorVersion==4 && OSMinorVersion>=2
+#define HasUsableFileMmap YES
+#endif
diff --git a/nx-X11/config/cf/bsdLib.rules b/nx-X11/config/cf/bsdLib.rules
new file mode 100644
index 000000000..b293b3fa2
--- /dev/null
+++ b/nx-X11/config/cf/bsdLib.rules
@@ -0,0 +1,540 @@
+XCOMM $Xorg: bsdLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+
+
+XCOMM $XFree86: xc/config/cf/bsdLib.rules,v 3.27 2003/11/20 00:41:37 dawes Exp $
+/*
+ * NetBSD/FreeBSD shared library rules
+ */
+
+#ifndef UseElfFormat
+#define UseElfFormat NO
+#endif
+
+#if !UseElfFormat
+/* a.out shared libs */
+#ifndef HasSharedLibraries
+# ifndef Arm32Architecture
+# define HasSharedLibraries YES
+# endif
+#endif
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef -DBSDSHLIB
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <bsdLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -Bshareable
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fpic
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest
+@@\
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(LD) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryDataTarget */
+
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+/*
+ * SharedLibReferences - variables for shared libraries
+ */
+#ifndef SharedLibReferences
+#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+revname = rev @@\
+Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+ /*
+ * SharedFontLibReferences - shared font libraries
+ */
+#ifndef SharedFontLibReferences
+#define SharedFontLibReferences() @@\
+SOFONTREV = SharedFontRev @@\
+DEPFONTLIB = SharedLibDependencies(Xfont,$(FONTLIBSRC),SOFONTREV) @@\
+FONTLIB = -L$(FREETYPELIBDIR) -L$(FONTLIBSRC) LoaderLibPrefix -lXfont @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+#endif
+
+/*
+ * SharedDSLibReferences - variables for shared libraries
+ */
+#ifndef SharedDSLibReferences
+#define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
+revname = rev @@\
+Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+#else /* UseElfFormat */
+
+/*
+ * NetBSD/FreeBSD (ELF) shared library rules
+ * Cloned from Linux ELF rules, with the following major change:
+ *
+ * Shared libraries depend on -lc. Since we don't have to worry
+ * about libc vs. libg, etc., this is a good idea. (This is actually
+ * implied by using $(CC) to build the shared libraries.) Adding it
+ * explicitly will break threaded applications on platforms that use
+ * libc_r for thread support.
+ */
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+
+#ifndef UseRpath
+#define UseRpath YES
+#endif
+
+#ifndef BaseShLibReqs
+#define BaseShLibReqs /* -lc */
+#endif
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <bsdLib.tmpl>
+#endif
+#ifndef RpathLoadFlags
+#if UseRpath
+#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#else
+#define RpathLoadFlags /**/
+#endif
+#endif
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+#ifndef ExtraLoadFlags
+#ifdef UseInstalled
+#define ExtraLoadFlags RpathLoadFlags
+#else
+#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+#endif
+#endif
+
+#ifndef HardCodeLibdirFlag
+#define HardCodeLibdirFlag RpathLoadFlags
+#endif
+
+#if !defined(ShlibGlobalsFlags)
+#define ShlibGlobalsFlags -Wl,-Bsymbolic
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#ifndef FreeBSDArchitecture
+INSTALLMINORREV = true
+#else
+INSTALLMINORREV = false
+#endif
+
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @T=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`;\ @@\
+ if $(INSTALLMINORREV); then \ @@\
+ INST=Concat(lib,libname.so.rev); \ @@\
+ LINK=$$T; \ @@\
+ else \ @@\
+ INST=$$T; \ @@\
+ fi; \ @@\
+ (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) $$INST $(DESTDIR)dest); \ @@\
+ if [ X"$$LINK" != X ]; then (set -x; \ @@\
+ $(RM) $(DESTDIR)dest/$$LINK; \ @@\
+ $(LN) $$INST $(DESTDIR)dest/$$LINK); \ @@\
+ fi; \ @@\
+ if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) $$T Concat($(DESTDIR)dest/lib,libname.so)); \ @@\
+ fi
+#endif /* InstallSharedLibrary */
+
+#ifndef InstallSharedLibtoolLibrary
+
+#define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\
+ R=`expr rev : '.*:\([^:]*\):'`; \ @@\
+ A=`expr rev : '.*:\([^:]*\)'`; \ @@\
+ REV=$$V; \ @@\
+ REVLIST=""; \ @@\
+ i=$$A; \ @@\
+ while [ $$i -gt 0 ]; do \ @@\
+ REVLIST="$$REVLIST `expr $$REV - $$i`"; \ @@\
+ i=`expr $$i - 1`; \ @@\
+ done
+
+#define InstallSharedLibtoolLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -e; \ @@\
+ T=Concat(lib,libname.so.$$REV); \ @@\
+ if $(INSTALLMINORREV); then \ @@\
+ INST=$$T.0; \ @@\
+ LINK=$$T; \ @@\
+ else \ @@\
+ INST=$$T; \ @@\
+ fi; \ @@\
+ (set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) $$INST $(DESTDIR)dest); \ @@\
+ if [ X"$$LINK" != X ]; then (set -x; \ @@\
+ $(RM) $(DESTDIR)dest/$$LINK; \ @@\
+ $(LN) $$INST $(DESTDIR)dest/$$LINK); \ @@\
+ fi; \ @@\
+ for i in $$REVLIST; do (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so.$$i); \ @@\
+ $(LN) Concat(lib,libname.so.$$REV) Concat($(DESTDIR)dest/lib,libname.so.$$i)); \ @@\
+ done; \ @@\
+ if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.$$REV) Concat($(DESTDIR)dest/lib,libname.so)); \ @@\
+ fi
+#endif /* InstallSharedLibtoolLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ (set -x; cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) $$SONAME @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedLibraryTarget */
+
+#ifndef SharedLibtoolLibraryTarget
+#define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): solist @@\
+ $(RM) $@~ @@\
+ @set +e; SetRevisions(rev); \ @@\
+ SONAME=$@.$$REV; \ @@\
+ set -e; \ @@\
+ (set -x; cd down; $(CC) -o up/$$SONAME~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ (set -x; $(RM) $$SONAME; $(MV) $$SONAME~ $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME); \ @@\
+ if $(INSTALLMINORREV); then (set -x; \ @@\
+ $(RM) $$SONAME.0; \ @@\
+ $(LN) $$SONAME $$SONAME.0); \ @@\
+ fi; \ @@\
+ if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) $@; \ @@\
+ $(LN) $$SONAME $@); \ @@\
+ LinkBuildLibraryInline($@); \ @@\
+ fi @@\
+ @@\
+clean:: @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(RM) Concat(lib,libname.so.$$REV); \ @@\
+ $(RM) Concat(lib,libname.so.$$REV.0) @@\
+ $(RM) Concat(lib,libname.so)
+
+#endif /* SharedLibtoolLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) $$SONAME @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) $$SONAME @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+#ifndef SharedDriModuleTarget
+#define SharedDriModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ $@.map @@\
+ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\
+ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ $@.map @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name @@\
+ $(RM) name.map
+
+#endif /* SharedDriModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+#if defined(FreeBSDArchitecture)
+
+/*
+ * Support for building a.out compatibility libraries on a FreeBSD/ELF system.
+ */
+#ifndef BuildAoutLibraries
+#define BuildAoutLibraries NO
+#endif
+
+#if BuildAoutLibraries
+
+#define ExtraLibRules
+
+#ifndef AoutSharedLibraryDef
+#define AoutSharedLibraryDef -DBSDSHLIB
+#endif
+#ifndef AoutSharedLibraryLoadFlags
+#define AoutSharedLibraryLoadFlags -aout -Bshareable
+#endif
+#ifndef AoutPositionIndependentCFlags
+#define AoutPositionIndependentCFlags -fpic
+#endif
+
+/*
+ * InstallAoutSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallAoutSharedLibrary
+#define InstallAoutSharedLibrary(libname,rev,dest) @@\
+install:: Concat(aout/lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(aout/lib,libname.so.rev) $(DESTDIR)dest
+@@\
+
+#endif /* InstallAoutSharedLibrary */
+
+/*
+ * AoutSharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef AoutSharedLibraryTarget
+#define AoutSharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(down/lib,libname.so.rev)) @@\
+ @@\
+Concat(down/lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ AoutSharedLibraryLoadFlags solist) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(down/lib,libname.so.rev)
+
+#endif /* AoutSharedLibraryTarget */
+
+#define AoutCDebugFlags -aout DefaultCDebugFlags
+#define AoutCplusplusDebugFlags -aout DefaultCplusplusDebugFlags
+
+#define AoutLibObjCompile(options) LibObjCompile(aout,AoutCDebugFlags AoutSharedLibraryDef AoutPositionIndependentCFlags options)
+#define AoutLibObjCplusplusCompile(options) LibObjCompile(aout,AoutCplusplusDebugFlags options)
+
+#define ExtraLibMkdir() _LibMkdir(aout)
+#define ExtraObjCompile(options) AoutLibObjCompile(options)
+#define ExtraObjCplusplusCompile(options) AoutLibObjCplusplusCompile(options)
+#define ExtraCleanDir() LibCleanDir(aout)
+
+#define ExtraLibraryTarget(libname,so,objs) AoutSharedLibraryTarget(libname,so,objs,aout,..)
+#define ExtraInstallLibrary(libname,so) InstallAoutSharedLibrary(libname,so,$(SHLIBDIR)/aout)
+
+#endif
+#endif
+
+
+#endif /* UseElfFormat */
diff --git a/nx-X11/config/cf/bsdLib.tmpl b/nx-X11/config/cf/bsdLib.tmpl
new file mode 100644
index 000000000..8d55581e3
--- /dev/null
+++ b/nx-X11/config/cf/bsdLib.tmpl
@@ -0,0 +1,100 @@
+XCOMM $Xorg: bsdLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/bsdLib.tmpl,v 3.23 2003/11/04 01:59:31 dawes Exp $
+
+/*
+ * NetBSD/FreeBSD/OpenBSD shared library template
+ */
+
+#if !UseElfFormat
+
+#ifndef SharedXlibi18nReqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#endif
+
+#ifndef SharedXtReqs
+#define SharedXtReqs /**/
+#endif
+#ifndef SharedXawReqs
+#define SharedXawReqs /**/
+#endif
+#ifndef SharedXmuReqs
+# if !defined(Mc68020Architecture) || !defined(OpenBSDArchitecture)
+# define SharedXmuReqs $(LDPRELIBS) $(XTOOLONLYLIB) $(XONLYLIB)
+# else
+ /* At least the hp300 and the sun3 OpenBSD ports need that */
+# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+# endif
+#endif
+#ifndef SharedXcursorReqs
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#endif
+
+#else /* UseElfFormat */
+
+/*
+ * NetBSD/FreeBSD/OpenBSD (ELF) shared library template
+ * Cloned from Linux ELF rules, but with a minor number.
+ */
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+/* Allow for libpthread, as overridden by OS definitions */
+#if !defined(SharedX11Reqs)
+#define SharedX11Reqs
+#endif
+
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIBS) $(XONLYLIB)
+#ifndef SharedXtReqs
+#define SharedXtReqs $(LDPRELIBS) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#endif
+#ifndef SharedXawReqs
+#define SharedXawReqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#endif
+#define SharedXaw7Reqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXextReqs $(LDPRELIBS) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIBS) $(XLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIBS) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIBS) $(ICELIB)
+#ifndef SharedGLReqs
+#define SharedGLReqs $(LDPRELIBS) $(XLIB)
+#endif
+#ifndef SharedGLUReqs
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#endif
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXfixesReqs $(LDPRELIB) $(XLIB)
+#define SharedXdamageReqs $(LDPRELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXevieReqs $(LDPRELIB) $(XLIB)
+#endif /* UseElfFormat */
diff --git a/nx-X11/config/cf/bsdi.cf b/nx-X11/config/cf/bsdi.cf
new file mode 100644
index 000000000..d0d78ee3d
--- /dev/null
+++ b/nx-X11/config/cf/bsdi.cf
@@ -0,0 +1,364 @@
+XCOMM platform: $Xorg: bsdi.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/bsdi.cf,v 3.37 2003/04/24 22:14:53 herrb Exp $
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSVendor
+#define OSVendor BSDI
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#define HasBSD44Sockets YES
+#define HasBsdMake YES
+#define HasDlopen YES
+#define HasPutenv YES
+#define HasSnprintf YES
+#define HasMkstemp YES
+#define HasUsableFileMmap YES
+#define HasZlib YES
+#define HasSetUseContext YES
+#define HasBSDAuth YES
+#define HasSetProcTitle YES
+#define HasBasename NO
+
+#if 0
+#define HasKrb5 YES
+#define Krb5Include -I/usr/include/krb5
+#define Krb5Libraries -lkrb5 -lk5crypto -lprofile -lcom_err
+#endif
+
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB) -lstdc++
+
+#if (OSMajorVersion == 4 && OSMinorVersion >= 1) || (OSMajorVersion > 4)
+#define HasNCurses YES
+#else
+#define HasNCurses NO
+#endif
+#if (OSMajorVersion == 4 && OSMinorVersion >= 3) || (OSMajorVersion > 4)
+#define HasStrlcat YES
+#else
+#define HasStrlcat NO
+#endif
+
+#define BuildLBX YES
+#define GzipFontCompression YES
+#define BuildXaw6 NO
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+XCOMM BSD/OS 5.1 (intel) comes with gcc 3.2.2 installed as gcc and cc.
+
+XCOMM BSD/OS 5.0 (intel) comes with gcc 2.95.3 installed as gcc and cc.
+
+XCOMM BSD/OS 4.3/4.3.1 (intel) comes with gcc 2.95.3 installed as gcc and cc.
+
+XCOMM BSD/OS 4.2 (intel) comes with gcc 2.95.2 installed as gcc and cc.
+XCOMM BSD/OS 4.2 (sparc) comes with gcc 2.95.2 installed as gcc and cc.
+
+XCOMM BSD/OS 4.1 (intel) comes with gcc 2.91.66 installed as gcc and cc.
+XCOMM BSD/OS 4.1 (sparc) comes with gcc 2.95.2 installed as gcc and cc.
+
+XCOMM BSD/OS 4.0.1 (intel) comes with gcc 2.7.2.1 installed as gcc2, gcc and cc.
+XCOMM BSD/OS 4.0.1 (sparc) comes with gcc 2.7.2.1 installed as gcc2, gcc and cc.
+XCOMM Punt on OS revs earlier than 4.0.1
+
+XCOMM BSDI uses shlicc for compiling C and shlic++ for compiling C++
+XCOMM using static shared libraries. We also build ELF dynamic shared
+XCOMM libraries as well as normal archive libraries.
+
+XCOMM BSD/OS 3.0 comes with gcc 2.7.2 installed as gcc2 and gcc.
+XCOMM gcc 1.42 is installed as cc.
+
+XCOMM BSD/OS 2.1 comes with gcc 2.7.1 installed as gcc2 and gcc.
+XCOMM gcc 1.42 is installed as cc.
+
+XCOMM BSD/OS 2.0 comes with gcc 2.6.3 installed as gcc2 and gcc.
+XCOMM gcc 1.42 is installed as cc.
+
+XCOMM BSD/386 1.1 comes with gcc 2.5.8 installed as gcc2.
+XCOMM BSD/386 1.0 comes with gcc 1.40 as the only compiler.
+XCOMM The default is to use gcc2 on release 2.1, 2.0 and 1.1 and gcc1 on 1.0
+XCOMM The defaults can be altered by defining "HasGcc2" as YES or NO in
+XCOMM xf86site.def
+
+#ifndef HasGcc
+# define HasGcc YES
+#endif
+#if OSMajorVersion > 1 || OSMinorVersion >= 1
+# ifndef HasGcc2
+# define HasGcc2 YES
+# endif
+#endif
+#if HasGcc2
+# ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus YES
+# endif
+# ifdef i386Architecture
+# define CcCmd gcc /* shlicc */
+# define CplusplusCmd g++ /* shlicc++ */
+# if ((OSMajorVersion == 4 && OSMinorVersion >= 2) || (OSMajorVersion > 4))
+# define OptimizedCDebugFlags -O3 -mcpu=pentiumpro -march=pentium
+# else
+# define OptimizedCDebugFlags -O2 -m486
+# endif
+# endif
+# ifdef PpcArchitecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define OptimizedCDebugFlags -O2
+# endif
+# ifdef SparcArchitecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define OptimizedCDebugFlags -O2 -cpu=v8 -mtune=v8
+# endif
+#else
+# define CcCmd cc
+# define OptimizedCDebugFlags -O
+#endif
+
+/*
+ * A hack to work around an optimization problem with GCC 2.95.2 - 2.95.4
+ */
+#if ((OSMajorVersion == 4 && OSMinorVersion >= 2) || (OSMajorVersion > 4))
+#define GccOptBug295
+#endif
+
+#define CppCmd /usr/bin/cpp
+#define HasGroff YES
+#define MkdirHierCmd mkdir -p
+#define SetTtyGroup YES
+#define HasNdbm YES
+#define DBMLibrary /**/
+#define HasWChar32 YES
+#define DirFailPrefix -
+#define AvoidNullMakeCommand YES
+#define HasVarRun YES
+#define HasVarDb YES
+
+# ifndef GccUsesGas
+# define GccUsesGas YES
+# endif
+#if HasGcc
+#ifndef DefaultCCOptions
+#if defined(UseInstalled) && (!defined(XF86LinkKit) || !XF86LinkKit)
+#define DefaultCCOptions /**/
+#else
+#define DefaultCCOptions /* -ansi */
+#endif
+#endif
+#endif
+
+#if GccUsesGas
+# define GccGasOption -DGCCUSESGAS
+#else
+# define GccGasOption /**/
+#endif
+
+/*
+ * Build a threaded X server on BSD/OS 4.1 and newer releases
+ */
+#if (OSMajorVersion == 4 && OSMinorVersion >= 1) || (OSMajorVersion > 4)
+#define HasPosixThreads YES /* this will autodefine HasThreadedX */
+#define HasThreadSafeAPI YES
+/*
+ * Heck, build a server that can load modules too...
+ */
+#define DoLoadableServer Yes
+#endif
+
+XCOMM math.h uses _REENTRANT in FreeBSD, so we define it here too
+#if (OSMajorVersion >= 5)
+#define SystemMTDefines -D_REENTRANT -D_THREAD_SAFE -D_POSIX_THREAD_SAFE_FUNCTIONS
+#elif (OSMajorVersion == 4 && OSMinorVersion >= 1)
+#define SystemMTDefines -D_REENTRANT -D_THREAD_SAFE
+#endif
+
+
+#ifdef i386Architecture
+#ifndef BuildXF86DRI
+#define BuildXF86DRI NO
+#endif
+#endif
+
+#ifdef i386Architecture
+# define HasTk YES
+# define TkLibName tk4.2
+# define TkLibDir /usr/contrib/lib
+# define TkIncDir /usr/include
+# define XF86SetupUsesStaticTk NO
+# define HasTcl YES
+# define TclLibName tcl7.6
+# define TclLibDir /usr/contrib/lib
+# define TclIncDir /usr/include
+# define XF86SetupUsesStaticTcl NO
+# define SharedLibXv YES
+# define SharedLibXinerama YES
+# define ServerExtraDefines GccGasOption XFree86ServerDefines -I/sys
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define XFree86ConsoleDefines -DBSDI_VT
+# if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 1)
+# include <bsdiLib.rules>
+# define DontUseLibPathVar
+# define BuildDynamicLoading YES
+# define ServerCcCmd cc
+# define ServerExtraSysLibs DlLibrary
+# endif
+# define XConfigDir /etc/X11
+#endif
+
+#ifdef PpcArchitecture
+# define BuildServer NO
+# define BuildFonts NO
+# define XConfigDir /etc/X11
+# include <bsdiLib.rules>
+# define DontUseLibPathVar
+# define BuildDynamicLoading YES
+# define ServerCcCmd cc
+# define ServerExtraSysLibs DlLibrary
+#endif
+
+#ifdef SparcArchitecture
+# define ServerExtraDefines
+# define ServerOSDefines -DDDXOSINIT
+#endif
+
+#define HasShm YES
+#define AsmDefines -DUSE_GAS
+
+#ifndef LdPreLib
+#define LdPreLib -L$(BUILDLIBDIR) -L$(USRLIBDIR)
+#endif
+
+#if OSMajorVersion >= 4
+#define StandardDefines -D__ELF__ -DCSRG_BASED
+#else
+#define StandardDefines -DCSRG_BASED
+#endif
+
+#define InstallCmd /usr/bin/install
+#define EqnCmd eqn -Tps
+#define NeqnCmd eqn -Tascii
+ COL = col
+ NEQN = NeqnCmd
+ NROFF = nroff
+
+#define DefaultUserPath :/bin:/usr/bin:/usr/local/bin:$(BINDIR)
+#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
+
+#define StripInstalledPrograms YES
+#define InstPgmFlags -s -m 0555 -o bin -g bin
+#define InstBinFlags -m 0555 -o bin -g bin
+#define InstUidFlags -m 4555 -o root -g bin
+#define InstLibFlags -m 0444 -o bin -g bin
+#define InstIncFlags -m 0444 -o bin -g bin
+#define InstManFlags -m 0444 -o bin -g bin
+#define InstDatFlags -m 0444 -o bin -g bin
+
+XCOMM Man pages need to be formatted when installed, so override the default
+XCOMM imake rules.
+
+#define ManSuffix 1
+#define ManSourcePath $(MANPATH)/cat
+
+#define InstallManPageLong(file,destdir,dest) @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+all:: file.0 @@\
+ @@\
+file.0:: file.$(MANNEWSUFFIX) @@\
+ @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\
+ then \ @@\
+ cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\
+ cp /tmp/$$$$.man file.0; \ @@\
+ $(RM) /tmp/$$$$.man; \ @@\
+ fi @@\
+ @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ -@if [ -f file.0 ]; \ @@\
+ then \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
+ fi
+
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+ InstallManPageLong(file,destdir,dest)
+
+#define InstallMultipleManSuffix(list,dest,suff) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.suff; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff $(DESTDIR)dest/$$i.0; \ @@\
+ $(RM) /tmp/$$$$.suff); \ @@\
+ done
+
+#define InstallMultipleMan(list,dest) @@\
+ InstallMultipleManSuffix(list,dest,man)
+
+#define InstallManPageAliases(file,destdir,aliases) @@\
+install.man:: @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in aliases; do \ @@\
+ (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.0;\ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.0 $$i.0);\ @@\
+ ); \ @@\
+ done
+
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+ InstallManPageAliases(file,destdir,aliases)
+
+/*
+ * These seem redundant, but leave them in for now.
+ */
+#ifdef i386Architecture
+#define i386Bsd 1
+#define i386Bsdi 1
+#include <xorg.cf>
+#endif
+
+#ifdef SparcArchitecture
+#ifndef XsunMonoServer
+#define XsunMonoServer NO /* monochrome only */
+#endif
+#ifndef XsunServer
+#define XsunServer YES /* mono + 8 bit color */
+#endif
+#ifndef Xsun24Server
+#define Xsun24Server NO /* mono + 8 bit color + 24 bit c
+olor */
+#endif
+
+#ifndef NeedConstPrototypes
+#define NeedConstPrototypes YES
+#endif
+#ifndef NeedNestedPrototypes
+#define NeedNestedPrototypes YES
+#endif
+#ifndef NeedVarargsPrototypes
+#define NeedVarargsPrototypes YES
+#endif
+
+#ifndef BuildXKB
+#define BuildXKB YES
+#endif
+
+#endif /* SparcArchitecture */
+
diff --git a/nx-X11/config/cf/bsdiLib.rules b/nx-X11/config/cf/bsdiLib.rules
new file mode 100644
index 000000000..85a99521f
--- /dev/null
+++ b/nx-X11/config/cf/bsdiLib.rules
@@ -0,0 +1,239 @@
+XCOMM $XFree86: xc/config/cf/bsdiLib.rules,v 3.3 2003/10/09 22:43:18 herrb Exp $
+
+/*
+ * BSDI shared library rules (converted from SVr4/Linux rules)
+ */
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <bsdiLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+#ifndef BaseShLibReqs
+#define BaseShLibReqs -lc
+#endif
+#ifndef RanlibInstFlags
+#define RanlibInstFlags -t
+#endif
+#ifndef SharedCCLdCmd
+/* NOT $(CC), which is probably 'shlicc'. */
+#define SharedCCLdCmd cc
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CCENVSETUP) SharedCCLdCmd -o up/$@~ $(SHLIBLDFLAGS) \
+ -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) $$SONAME @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CCENVSETUP) SharedCCLdCmd -o up/$@~ $(SHLIBLDFLAGS) \
+ -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ @SONAME=`echo Concat(lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) $$SONAME @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CCENVSETUP) SharedCCLdCmd -o $@~ $(SHLIBLDFLAGS) \
+ solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+/*
+ * Hacks for BSD/OS static shared libraries.
+ * We replace the normal library build and install rules.
+ */
+
+SHLIB_MAP=$${SHLIB_MAP-/etc/shlib.map}
+
+#define BsdiStaticLibraryName(libname)Concat(Concat(lib,libname),_s)
+#define BsdiStaticStubLibraryName(libname)BsdiStaticLibraryName(libname).a
+
+#define MakeBsdiStaticSharedLibrary(libname) \
+ @SHARED=; \
+ eval $$( (echo 'MAP() { [ "X$$1" = "X-l'libname'" ] || return 0;' \
+ 'echo "TADDR=$$2;";' \
+ 'echo "DADDR=$$3;";' \
+ 'echo "SHARED=$$5;";' \
+ 'shift 5; echo "ARGS='"'"'"$$@"'"'"';";' \
+ 'exit 0; }'; cat $(SHLIB_MAP)) | sh); \
+ [ -n "$$SHARED" ] || exit 0; \
+ echo building static shared libname library; \
+ shlib -m $(SHLIB_MAP) -t $$TADDR -d $$DADDR \
+ -n BsdiStaticLibraryName(libname) \
+ -s BsdiStaticStubLibraryName(libname) \
+ $$( [ -f 'loader.lib'libname'.c' ] && \
+ echo -b 'loader.lib'libname'.c') \
+ $$( [ -f 'lib'libname'.const' ] && \
+ echo -c 'lib'libname'.const') \
+ $$( [ -f 'lib'libname'.except' ] && \
+ echo -e 'lib'libname'.except') \
+ $$( [ -f $$SHARED ] && echo -i $$SHARED) \
+ $$ARGS LibraryTargetName(libname)
+
+#define InstallBsdiStaticSharedLibrary(libname) \
+ @SHARED=; \
+ eval $$( (echo 'MAP() { [ "X$$1" = "X-l'libname'" ] || return 0;' \
+ 'echo "SHARED=$$5;";' \
+ 'echo "STUB=$$(dirname $$4)/$$(basename $$5).a;";' \
+ 'exit 0; }'; cat $(SHLIB_MAP)) | sh); \
+ [ -n "$$SHARED" ] || exit 0; \
+ echo installing static shared libname library; \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ BsdiStaticLibraryName(libname) $(DESTDIR)$$SHARED; \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ BsdiStaticStubLibraryName(libname) $(DESTDIR)$$STUB; \
+ RanLibrary($(RANLIBINSTFLAGS) $(DESTDIR)$$STUB) @@\
+ -@eval $$( (echo 'MAP() { [ "X$$1" = "X-l'libname'" ] || return 0;' \
+ 'echo "LDIR=$$(dirname $$4)"; exit 0; }'; \
+ cat $(SHLIB_MAP)) | sh); \
+ [ -f Concat(loader.lib,libname.c) ] && \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ Concat(loader.lib,libname.c) \
+ $(DESTDIR)$$LDIR/Concat(loader.lib,libname.c); \
+ [ -f Concat(lib,libname.const) ] && \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ Concat(lib,libname.const) \
+ $(DESTDIR)$$LDIR/Concat(lib,libname.const); \
+ [ -f Concat(lib,libname.except) ] && \
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ Concat(lib,libname.except) \
+ $(DESTDIR)$$LDIR/Concat(lib,libname.except); exit 0
+
+#ifndef UnsharedLibraryTarget
+#define UnsharedLibraryTarget(libname,objlist,down,up) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist @@\
+ RemoveFile($@) @@\
+ (cd down; MakeLibrary(up/$@,objlist)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@) @@\
+ MakeBsdiStaticSharedLibrary(libname) @@\
+ @@\
+clean:: @@\
+ $(RM) BsdiStaticLibraryName(libname) BsdiStaticStubLibraryName(libname)
+#endif /* UnsharedLibraryTarget */
+
+#ifndef UnsharedLibraryTarget3
+#define UnsharedLibraryTarget3(libname,objlist1,objlist2,objlist3,down,up) @@\
+ UnsharedLibraryTarget(libname,objlist1 objlist2 objlist3,down,up)
+#endif /* UnsharedLibraryTarget3 */
+
+#ifndef InstallLibrary
+#define InstallLibrary(libname,dest) @@\
+install:: LibraryTargetName(libname) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) \
+ LibraryTargetName(libname) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) \
+ $(DESTDIR)dest/LibraryTargetName(libname)) @@\
+ InstallBsdiStaticSharedLibrary(libname)
+#endif /* InstallLibrary */
diff --git a/nx-X11/config/cf/bsdiLib.tmpl b/nx-X11/config/cf/bsdiLib.tmpl
new file mode 100644
index 000000000..28087bfb0
--- /dev/null
+++ b/nx-X11/config/cf/bsdiLib.tmpl
@@ -0,0 +1,43 @@
+XCOMM $XFree86: xc/config/cf/bsdiLib.tmpl,v 3.3 2003/05/29 21:56:57 herrb Exp $
+
+/*
+ * BSDI shared library template (converted from Linux template)
+ */
+
+/*
+ * Linux ELF shared libraries (which BSDI uses)
+ * are deficient in link semantics...
+ */
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define FrescoSysLibs CplusplusLibC MathLibrary
+
+#define SharedX11Reqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedFrescoReqs $(LDPRELIB) $(XONLYLIB) FrescoSysLibs
+#define SharedXtfReqs $(LDPRELIB) $(FRESCOLIB) $(XTOOLLIB) $(XLIB) FrescoSysLibs
+
+/* Motif lib requirements */
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB)
+#define SharedXmReqs $(LDPRELIB) SharedXReqs
+#define SharedMrmReqs $(LDPRELIB) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIB) $(XMLIB) SharedXReqs
diff --git a/nx-X11/config/cf/cde.rules b/nx-X11/config/cf/cde.rules
new file mode 100644
index 000000000..315047207
--- /dev/null
+++ b/nx-X11/config/cf/cde.rules
@@ -0,0 +1,226 @@
+/*
+ * @OSF_COPYRIGHT@
+ * COPYRIGHT NOTICE
+ * Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group , Inc.
+ * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
+ * the full copyright text.
+ *
+ * (c) Copyright 1996 Digital Equipment Corporation.
+ * (c) Copyright 1996 Hewlett-Packard Company.
+ * (c) Copyright 1996 International Business Machines Corp.
+ * (c) Copyright 1996 Sun Microsystems, Inc.
+ * (c) Copyright 1996 Novell, Inc.
+ * (c) Copyright 1996 FUJITSU LIMITED.
+ * (c) Copyright 1996 Hitachi.
+ */
+XCOMM $Xorg: cde.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+/* Note whether we are the top level project. */
+#ifndef SeenTopLevelProject
+# define SeenTopLevelProject YES
+# define CDEIsTopLevelProject YES
+#else
+# define CDEIsTopLevelProject NO
+#endif
+
+/* Include the Motif project rules file. */
+#include <Motif.rules>
+
+
+/* Use the in-tree CDE by default. */
+#ifndef UseInstalledCDE
+# define UseInstalledCDE NO
+#endif
+#ifdef UseInstalled
+# undef UseInstalledCDE
+# define UseInstalledCDE YES
+#endif
+
+#ifndef ImportCDE
+# ifdef UseImports
+# define ImportCDE YES
+# else
+# define ImportCDE NO
+# endif
+#endif
+#if UseInstalledCDE
+# undef ImportCDE
+# define ImportCDE NO
+#endif
+
+/* If CDE has a different ProjectRoot we need to search the regular ones too. */
+#ifdef CDEProjectRoot
+# define CUsrLibDirPath Concat(MUsrLibDirPath,:$(CDEPROJECTROOT)/lib)
+#else
+# define CUsrLibDirPath MUsrLibDirPath
+#endif
+#ifdef UsrLibDirPath
+# undef UsrLibDirPath
+#endif
+#define UsrLibDirPath CUsrLibDirPath
+
+#if ImportCDE
+# define CLdPreLibs -L$(CDELIBSRC)
+#elif defined(UseInstalledCDE) && defined(CDEProjectRoot)
+# define CLdPreLibs -L$(CDEPROJECTROOT)/lib
+#else
+# define CLdPreLibs /**/
+#endif
+#ifdef LdPreLibs
+# undef LdPreLibs
+#endif
+#define LdPreLibs LdPreLib CLdPreLibs MLdPreLibs XLdPreLibs
+
+#ifdef CDEProjectRoot
+# define CLdPostLibs -L$(CDEPROJECTROOT)/lib
+#else
+# define CLdPostLibs /**/
+#endif
+#ifdef LdPostLibs
+# undef LdPostLibs
+#endif
+#define LdPostLibs LdPostLib CLdPostLibs MLdPostLibs XLdPostLibs
+
+#ifdef TopIncludes
+# undef TopIncludes
+#endif
+#define TopIncludes TopInclude $(TOP_CDE_INCLUDES) $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
+
+#if UseInstalledCDE && defined(CDEProjectRoot)
+# define CDEBuildLibPath $(CDEPROJECTROOT)/lib
+#elif UseInstalledCDE
+# define CDEBuildLibPath $(USRLIBDIR)
+#elif ImportCDE
+# define CDEBuildLibPath $(CDELIBSRC)
+#else
+# define CDEBuildLibPath $(TOP)/exports/lib
+#endif
+#ifdef BuildLibPath
+# undef BuildLibPath
+#endif
+#ifdef SystemBuildLibPath
+# define BuildLibPath \
+$(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
+#else
+# define BuildLibPath $(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR)
+#endif
+
+
+#ifndef CdeInstallationTop
+# define CdeInstallationTop /usr/dt
+#endif
+#ifndef CdeConfigurationTop
+# define CdeConfigurationTop /etc/dt
+#endif
+#ifndef CdeLogFilesTop
+# define CdeLogFilesTop /var/dt
+#endif
+#ifndef CdeUserTop
+# define CdeUserTop .dt
+#endif
+
+#ifndef CdeProjectDefines
+# define CdeProjectDefines \
+ -DANSICPP -DMULTIBYTE -DNLS16 \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
+#endif
+#ifdef ProjectDefines
+# undef ProjectDefines
+#endif
+#define ProjectDefines X11ProjectDefines MotifProjectDefines CdeProjectDefines
+
+#ifndef CdeCplusplusProjectDefines
+# define CdeCplusplusProjectDefines CdeProjectDefines
+#endif
+#ifdef CplusplusProjectDefines
+# undef CplusplusProjectDefines
+#endif
+#define CplusplusProjectDefines \
+ X11CplusplusProjectDefines MotifCplusplusProjectDefines CdeCplusplusProjectDefines
+
+/*
+ * Doc build rules
+ */
+
+/*
+ * MakeSdlVolume - generate rules to create an SDL volume, in the specified
+ * directory, from an SGML source doc.
+ * Note: the volume name must match the directory name.
+ */
+#ifndef MakeSdlVolume
+#define MakeSdlVolume(vol,dir,env,opts,dep) @@\
+all:: dir/vol.sdl @@\
+ @@\
+dir/vol.sdl: dep @@\
+ MakeDir(dir) @@\
+ env $(DTDOCBOOK) $(DTDOCBOOKOPTIONS) opts -o dir/vol.sdl vol/book.sgm @@\
+ @@\
+clean:: @@\
+ $(RM) dir/vol.sdl vol/book.log
+#endif
+
+/*
+ * MakeTocFile - generate rules to create an SGML TOC file.
+ * Note: the volume name must match the directory name.
+ */
+#ifndef MakeTocFile
+#define MakeTocFile(vol,env,opts,ttle,ident,dep) @@\
+all:: vol/TOC.sgm @@\
+ @@\
+vol/TOC.sgm: dep @@\
+ MakeDir($(DTINFOGENTMPDIR)) @@\
+ env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm @@\
+ @@\
+clean:: @@\
+ $(RM) vol/TOC.sgm
+#endif
+
+#ifndef MakeTocFile3
+#define MakeTocFile3(vol,env,opts,ttle,ident,dep1,dep2,dep3) @@\
+all:: vol/TOC.sgm @@\
+ @@\
+vol/TOC.sgm: dep1 @@\
+vol/TOC.sgm: dep2 @@\
+vol/TOC.sgm: dep3 @@\
+ MakeDir($(DTINFOGENTMPDIR)) @@\
+ env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm @@\
+ @@\
+clean:: @@\
+ $(RM) vol/TOC.sgm
+#endif
+
+/*
+ * TocFileDep - generate TOC file dependency rule
+ */
+#ifndef TocFileDep
+#define TocFileDep(vol,dep) @@\
+vol/TOC.sgm: dep
+#endif
+
+/*
+ * MakeInfolib - generate rules to create an infolib.
+ */
+#ifndef MakeInfolib
+#define MakeInfolib(infolib,bkcase,env,opts,dep) @@\
+all:: infolib/bkcase/dtsearch/dtsearch.ocf @@\
+ @@\
+infolib/bkcase/dtsearch/dtsearch.ocf: dep @@\
+ MakeDir($(DTINFOGENTMPDIR)) @@\
+ MakeDir(infolib) @@\
+ env $(DTINFOGEN) build -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -l infolib bookcase.bc
+#endif
+
+/*
+ * InfolibDep - generate infolib dependency rule - Highly depending on MMDB!
+ */
+#ifndef InfolibDep
+#define InfolibDep(infolib,bkcase,dep) @@\
+infolib/bkcase/dtsearch/dtsearch.ocf: dep
+#endif
+
+#ifndef InfolibDep3
+#define InfolibDep3(infolib,bkcase,dep1,dep2,dep3) @@\
+infolib/bkcase/dtsearch/dtsearch.ocf: dep1 @@\
+infolib/bkcase/dtsearch/dtsearch.ocf: dep2 @@\
+infolib/bkcase/dtsearch/dtsearch.ocf: dep3
+#endif
diff --git a/nx-X11/config/cf/cde.tmpl b/nx-X11/config/cf/cde.tmpl
new file mode 100644
index 000000000..c30a449a8
--- /dev/null
+++ b/nx-X11/config/cf/cde.tmpl
@@ -0,0 +1,439 @@
+XCOMM $Xorg: cde.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+/* Include the Motif project template file. */
+#include <Motif.tmpl>
+
+#ifndef _CUse
+# if UseInstalledCDE
+# define _CUse(a,b) a
+# else
+# define _CUse(a,b) b
+# endif
+#endif
+
+#ifndef _CUseCat
+# if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
+# if UseInstalledCDE
+# define _CUseCat(a,b,c) a##c
+# else
+# define _CUseCat(a,b,c) b##c
+# endif
+# else
+# if UseInstalledCDE
+# define _CUseCat(a,b,c) a/**/c
+# else
+# define _CUseCat(a,b,c) b/**/c
+# endif
+# endif
+#endif
+
+#ifndef CDETop
+# if ImportCDE
+# define CDETop $(TOP)/imports/cde
+# else
+# define CDETop $(TOP)
+# endif
+#endif
+
+#define CDESharedRev 2.1
+
+#ifndef SharedLibPam
+# define SharedLibPam HasSharedLibraries
+#endif
+#ifndef NormalLibPam
+# define NormalLibPam (!SharedLibPam | ForceNormalLib)
+#endif
+#ifndef DebugLibPam
+# define DebugLibPam NO
+#endif
+#ifndef ProfileLibPam
+# define ProfileLibPam NO
+#endif
+#ifndef SharedPamRev
+# define SharedPamRev CDESharedRev
+#endif
+
+#ifndef SharedLibTt
+# define SharedLibTt HasSharedLibraries
+#endif
+#ifndef NormalLibTt
+# define NormalLibTt (!SharedLibTt | ForceNormalLib)
+#endif
+#ifndef DebugLibTt
+# define DebugLibTt NO
+#endif
+#ifndef ProfileLibTt
+# define ProfileLibTt NO
+#endif
+#ifndef SharedTtRev
+# define SharedTtRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtSvc
+# define SharedLibDtSvc HasSharedLibraries
+#endif
+#ifndef NormalLibDtSvc
+# define NormalLibDtSvc (!SharedLibDtSvc | ForceNormalLib)
+#endif
+#ifndef DebugLibDtSvc
+# define DebugLibDtSvc NO
+#endif
+#ifndef ProfileLibDtSvc
+# define ProfileLibDtSvc NO
+#endif
+#ifndef SharedDtSvcRev
+# define SharedDtSvcRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtSearch
+# define SharedLibDtSearch HasSharedLibraries
+#endif
+#ifndef NormalLibDtSearch
+# define NormalLibDtSearch (!SharedLibDtSearch | ForceNormalLib)
+#endif
+#ifndef DebugLibDtSearch
+# define DebugLibDtSearch NO
+#endif
+#ifndef ProfileLibDtSearch
+# define ProfileLibDtSearch NO
+#endif
+#ifndef SharedDtSearchRev
+# define SharedDtSearchRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtWidget
+# define SharedLibDtWidget HasSharedLibraries
+#endif
+#ifndef NormalLibDtWidget
+# define NormalLibDtWidget (!SharedLibDtWidget | ForceNormalLib)
+#endif
+#ifndef DebugLibDtWidget
+# define DebugLibDtWidget NO
+#endif
+#ifndef ProfileLibDtWidget
+# define ProfileLibDtWidget NO
+#endif
+#ifndef SharedDtWidgetRev
+# define SharedDtWidgetRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtHelp
+# define SharedLibDtHelp HasSharedLibraries
+#endif
+#ifndef NormalLibDtHelp
+# define NormalLibDtHelp (!SharedLibDtHelp | ForceNormalLib)
+#endif
+#ifndef DebugLibDtHelp
+# define DebugLibDtHelp NO
+#endif
+#ifndef ProfileLibDtHelp
+# define ProfileLibDtHelp NO
+#endif
+#ifndef SharedDtHelpRev
+# define SharedDtHelpRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtPrint
+# define SharedLibDtPrint HasSharedLibraries
+#endif
+#ifndef NormalLibDtPrint
+# define NormalLibDtPrint (!SharedLibDtPrint | ForceNormalLib)
+#endif
+#ifndef DebugLibDtPrint
+# define DebugLibDtPrint NO
+#endif
+#ifndef ProfileLibDtPrint
+# define ProfileLibDtPrint NO
+#endif
+#ifndef SharedDtPrintRev
+# define SharedDtPrintRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtTerm
+# define SharedLibDtTerm HasSharedLibraries
+#endif
+#ifndef NormalLibDtTerm
+# define NormalLibDtTerm (!SharedLibDtTerm | ForceNormalLib)
+#endif
+#ifndef DebugLibDtTerm
+# define DebugLibDtTerm NO
+#endif
+#ifndef ProfileLibDtTerm
+# define ProfileLibDtTerm NO
+#endif
+#ifndef SharedDtTermRev
+# define SharedDtTermRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtMrm
+# define SharedLibDtMrm HasSharedLibraries
+#endif
+#ifndef NormalLibDtMrm
+# define NormalLibDtMrm (!SharedLibDtMrm | ForceNormalLib)
+#endif
+#ifndef DebugLibDtMrm
+# define DebugLibDtMrm NO
+#endif
+#ifndef ProfileLibDtMrm
+# define ProfileLibDtMrm NO
+#endif
+#ifndef SharedDtMrmRev
+# define SharedDtMrmRev CDESharedRev
+#endif
+
+#ifndef SharedLibDtMmdb
+# define SharedLibDtMmdb HasSharedLibraries
+#endif
+#ifndef NormalLibDtMmdb
+# define NormalLibDtMmdb (!SharedLibDtMmdb | ForceNormalLib)
+#endif
+#ifndef DebugLibDtMmdb
+# define DebugLibDtMmdb NO
+#endif
+#ifndef ProfileLibDtMmdb
+# define ProfileLibDtMmdb NO
+#endif
+#ifndef SharedDtMmdbRev
+# define SharedDtMmdbRev CDESharedRev
+#endif
+
+#ifndef SharedLibCsa
+# define SharedLibCsa HasSharedLibraries
+#endif
+#ifndef NormalLibCsa
+# define NormalLibCsa (!SharedLibCsa | ForceNormalLib)
+#endif
+#ifndef DebugLibCsa
+# define DebugLibCsa NO
+#endif
+#ifndef ProfileLibCsa
+# define ProfileLibCsa NO
+#endif
+#ifndef SharedCsaRev
+# define SharedCsaRev CDESharedRev
+#endif
+
+#ifndef DtLocalesToBuild
+#define DtLocalesToBuild de_DE.ISO8859-1 es_ES.ISO8859-1 fr_FR.ISO8859-1 it_IT.ISO8859-1 ja_JP.dt-eucJP
+#endif
+
+#ifndef DtCodeGen
+# if UseInstalledCDE
+# define DtCodeGen dtcodegen
+# else
+# define DtCodeGen $(CLIENTENVSETUP) $(CDESRC)/dtappbuilder/src/abmf/dtcodegen
+# endif
+#endif
+
+#ifndef BuildCDEDoc
+# define BuildCDEDoc YES
+#endif
+
+#ifndef UseNSGMLS
+# ifdef SunArchitecture
+# define UseNSGMLS NO
+# else
+# define UseNSGMLS YES
+# endif
+#endif
+#ifndef SGMLParser
+# if UseNSGMLS
+# define SGMLDir $(NSGMLSSRC)
+# define SGMLParser $(NSGMLSSRC)/nsgmls
+# else
+# define SGMLDir $(SGMLSSRC)
+# define SGMLParser $(SGMLSSRC)/sgmls
+# endif
+#endif
+
+#ifndef DtInfoGen
+# if UseInstalledCDE
+# define DtInfoGen dtinfogen
+# else
+# define DtInfoGen $(CLIENTENVSETUP) $(DTLCXENVSETUP) DTINFO_HOME=$(DTINFOGENSRC) DTINFO_BIN=$(DTINFOGENSRC)/install:$(DTINFOGENSRC)/mmdb/StyleSheet:$(DTINFOGENSRC)/mmdb/src:SGMLDir:$(CDESRC)/dtsr $(DTINFOGENSRC)/infolib/etc/dtinfogen
+# endif
+#endif
+#ifndef DtInfoGenTmpDir
+# define DtInfoGenTmpDir $(TOP)/doc/tmp
+#endif
+
+#ifndef DtDocBook
+# if UseInstalledCDE
+# define DtDocBook dtdocbook
+# else
+# define DtDocBook $(CLIENTENVSETUP) $(DTLCXENVSETUP) $(CDESRC)/dtdocbook/doc2sdl/dtdocbook
+# endif
+#endif
+#ifndef DtDocBookOptions
+# if UseInstalledCDE
+# define DtDocBookOptions
+# else
+# define DtDocBookOptions -t $(CDESRC)/dtdocbook/doc2sdl -H $(HELPTAGPASS2DEF) -I $(CDESRC)/dtdocbook/instant/instant -L $(CDESRC)/dtdocbook/xlate_locale/xlate_locale -S SGMLParser
+# endif
+#endif
+
+ CDETOP = CDETop
+#if ImportCDE || UseInstalledCDE
+ CDEINCLUDESRC = $(CDETOP)/include
+#else
+ CDEINCLUDESRC = $(CDETOP)/exports/include
+#endif
+ TOP_CDE_INCLUDES = -I$(CDEINCLUDESRC)
+ CDELIBSRC = $(CDETOP)/lib
+ PAMSRC = $(CDELIBSRC)/pam/libpam
+ TTSRC = $(CDELIBSRC)/tt
+ DTSVCSRC = $(CDELIBSRC)/DtSvc
+ DTSEARCHSRC = $(CDELIBSRC)/DtSearch
+ DTWIDGETSRC = $(CDELIBSRC)/DtWidget
+ DTHELPSRC = $(CDELIBSRC)/DtHelp
+ DTPRINTSRC = $(CDELIBSRC)/DtPrint
+ DTTERMSRC = $(CDELIBSRC)/DtTerm
+ DTMRMSRC = $(CDELIBSRC)/DtMrm
+ DTMMDBSRC = $(CDELIBSRC)/DtMmdb
+ CSASRC = $(CDELIBSRC)/csa
+ CDESRC = $(CDETOP)/programs
+#ifdef BuildLibPathVar
+ DTENVLIBDIR = CDEBuildLibPath
+#endif
+#ifdef CDEProjectRoot
+ CDEPROJECTROOT = CDEProjectRoot
+#endif
+ CDE_INSTALLATION_TOP = CdeInstallationTop
+CDE_CONFIGURATION_TOP = CdeConfigurationTop
+ CDE_LOGFILES_TOP = CdeLogFilesTop
+ CDE_USER_TOP = CdeUserTop
+
+ DTCODEGEN = DtCodeGen
+ HELPPARSERSRC = $(CDESRC)/dthelp/parser
+ HELPTAG = _CUseCat($(BINDIR),$(HELPPARSERSRC)/helptag,/dthelptag)
+ HELPTAGPASS1DEF = _CUseCat($(BINDIR),$(HELPPARSERSRC)/pass1/helptag,/dthelp_htag1)
+ HELPTAGPASS2DEF = _CUseCat($(BINDIR),$(HELPPARSERSRC)/pass2/htag2,/dthelp_htag2)
+ DTDOCBOOK = DtDocBook
+ DTDOCBOOKOPTIONS = DtDocBookOptions
+#if UseNSGMLS
+ NSGMLSSRC = $(CDESRC)/nsgmls
+#else
+ SGMLSSRC = $(CDESRC)/dtdocbook/sgmls
+#endif
+ DTINFOGENSRC = $(CDESRC)/dtinfo/dtinfogen
+ DTINFOGEN = DtInfoGen
+ DTINFOGENTMPDIR = DtInfoGenTmpDir
+#ifdef DtInfoGenOptions
+ DTINFOGENOPTIONS = DtInfoGenOptions
+#endif
+#ifdef ArchitectureDefines
+ ARCHITECTURE_DEFINES = ArchitectureDefines
+#endif
+#if !UseInstalledCDE
+DTLCXENVSETUP = DTLCXSEARCHPATH=$(DTHELPSRC)
+#endif
+
+#ifndef TtClientLibs
+# define TtClientLibs $(TTLIB) $(XLIB)
+#endif
+#ifndef TtClientDepLibs
+# define TtClientDepLibs $(DEPTTLIB) $(DEPXLIB)
+#endif
+
+/* These libraries use UseInstalledCDE instead of UseInstalled. */
+#undef _Use
+#undef _UseCat
+#define _Use _CUse
+#define _UseCat _CUseCat
+
+#ifndef CDEBuildLibDir
+# define CDEBuildLibDir BuildLibDir
+#endif
+
+#if SharedLibPam
+SharedLibReferences(PAM,pam,$(PAMSRC),SOPAMREV,SharedPamRev)
+#else
+ProjectUnsharedLibReferences(PAM,pam,$(PAMSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibTt
+SharedLibReferences(TT,tt,$(TTSRC)/lib,SOTTREV,SharedTtRev)
+#else
+ProjectUnsharedLibReferences(TT,tt,$(TTSRC)/lib,CDEBuildLibDir)
+#endif
+
+#if SharedLibDtSvc
+SharedLibReferences(DTSVC,DtSvc,$(DTSVCSRC),SODTSVCREV,SharedDtSvcRev)
+#else
+ProjectUnsharedLibReferences(DTSVC,DtSvc,$(DTSVCSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtSearch
+SharedLibReferences(DTSEARCH,DtSearch,$(DTSEARCHSRC),SODTSEARCHREV,SharedDtSearchRev)
+#else
+ProjectUnsharedLibReferences(DTSEARCH,DtSearch,$(DTSEARCHSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtWidget
+SharedLibReferences(DTWIDGET,DtWidget,$(DTWIDGETSRC),SODTWIDGETREV,SharedDtWidgetRev)
+#else
+ProjectUnsharedLibReferences(DTWIDGET,DtWidget,$(DTWIDGETSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtHelp
+SharedLibReferences(DTHELP,DtHelp,$(DTHELPSRC),SODTHELPREV,SharedDtHelpRev)
+#else
+ProjectUnsharedLibReferences(DTHELP,DtHelp,$(DTHELPSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtPrint
+SharedLibReferences(DTPRINT,DtPrint,$(DTPRINTSRC),SODTPRINTREV,SharedDtPrintRev)
+#else
+ProjectUnsharedLibReferences(DTPRINT,DtPrint,$(DTPRINTSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtTerm
+SharedLibReferences(DTTERM,DtTerm,$(DTTERMSRC),SODTTERMREV,SharedDtTermRev)
+#else
+ProjectUnsharedLibReferences(DTTERM,DtTerm,$(DTTERMSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtMrm
+SharedLibReferences(DTMRM,DtMrm,$(DTMRMSRC),SODTMRMREV,SharedDtMrmRev)
+#else
+ProjectUnsharedLibReferences(DTMRM,DtMrm,$(DTMRMSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtMmdb
+SharedLibReferences(DTMMDB,DtMmdb,$(DTMMDBSRC),SODTMMDBREV,SharedDtMmdbRev)
+#else
+ProjectUnsharedLibReferences(DTMMDB,DtMmdb,$(DTMMDBSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibDtCm
+SharedLibReferences(DTCM,DtCm,$(DTCMSRC),SODTCMREV,SharedDtCmRev)
+#else
+ProjectUnsharedLibReferences(DTCM,DtCm,$(DTCMSRC),CDEBuildLibDir)
+#endif
+
+#if SharedLibCsa
+SharedLibReferences(CSA,csa,$(CSASRC),SOCSAREV,SharedCsaRev)
+#else
+ProjectUnsharedLibReferences(CSA,csa,$(CSASRC),CDEBuildLibDir)
+#endif
+
+
+/* Revert to the normal library rules. */
+#undef _Use
+#undef _UseCat
+#define _Use _XUse
+#define _UseCat _XUseCat
+
+
+#ifndef DtClientLibs
+# define DtClientLibs $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB)
+#endif
+#ifndef DepDtClientLibs
+# define DepDtClientLibs $(DEPDTPRINTLIB) $(DEPDTHELPLIB) $(DEPDTWIDGETLIB) $(DEPDTSVCLIB) $(DEPTTLIB) $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXPLIB) $(DEPXLIB)
+#endif
+#ifndef DtClientSysLibs
+# define DtClientSysLibs $(DYNLIBSYSLIB) $(ICONVSYSLIB) $(REGEXSYSLIB) -lm
+#endif
+#ifndef DtClientExtraLibs
+# define DtClientExtraLibs /**/
+#endif
diff --git a/nx-X11/config/cf/convex.cf b/nx-X11/config/cf/convex.cf
new file mode 100644
index 000000000..3b522f7a7
--- /dev/null
+++ b/nx-X11/config/cf/convex.cf
@@ -0,0 +1,102 @@
+XCOMM platform: $Xorg: convex.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+#define OSName ConvexOS V9.0
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 9
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef VersionNumber
+#define VersionNumber 0.0.0.0
+#endif
+
+#define BootstrapCFlags -tm c1
+#define SetTtyGroup YES
+#define BuildServer NO
+#define ConnectionFlags -DTCPCONN -DUNIXCONN -DCOVUENETCONN
+#define InstallXdmConfig YES
+#define XdmDir $(LIBDIR)/xdm-sample
+#define XdmServersType fs /* one tab here */
+#define HasXmWidgets NO
+#define InstKmemFlags -g kmem -m 2711 -v $(VERSION)
+#define InstScriptFlags -m 0755 -g bin
+#define InstManFlags -m 0444 -g bin
+#define DefaultCCOptions -fn -tm c1
+#define LibraryCCOptions -fx -tm c1
+#define StripFlags -r -x
+#define HasSecureOS YES
+#define BuildExamples YES
+#define BuildMotif NO
+#define BuildConvexClients YES
+#define MotifBC YES
+#define UilCommand uil
+#define ExampleDir $(LIBDIR)/examples
+#define UnSupDir $(LIBDIR)/unsupported
+#define BuildTestExt YES
+#define DefaultScreenSaverTime 0
+
+#if BuildTestExt
+#define TestDefines -DXTESTEXT1
+#else
+#define TestDefines /**/
+#endif
+
+#define ExtensionOSDefines TestDefines
+
+ VERSION = VersionNumber
+ UIL = UilCommand
+ UNSUPDIR = UnSupDir /* unsupported examples and code */
+
+/*
+ * _Use - makes a choice based on UseInstalled.
+ */
+#ifndef _Use
+#ifdef UseInstalled
+#define _Use(a,b) a
+#else
+#define _Use(a,b) b
+#endif
+#endif
+
+/*
+ * _UseCat - combination of _Use and Concat.
+ * exists to avoid problems with some preprocessors
+ */
+#ifndef _UseCat
+#if (defined(__STDC__) || (defined(__convex__) && defined(__stdc__)))
+&& !defined(UnixCpp)
+#ifdef UseInstalled
+#define _UseCat(a,b,c) a##c
+#else
+#define _UseCat(a,b,c) b##c
+#endif
+#else
+#ifdef UseInstalled
+#define _UseCat(a,b,c) a/**/c
+#else
+#define _UseCat(a,b,c) b/**/c
+#endif
+#endif
+#endif
+
+#if HasXmWidgets
+ MRESOURCESRC = $(LIBSRC)/Mrm
+DEPMRESOURCELIB = _UseCat($(USRLIBDIR),$(MRESOURCESRC),/libMrm.a)
+ MRESOURCELIB = LoaderLibPrefix _Use(-lMrm,$(DEPMRESOURCELIB))
+LINTMRESOURCELIB= _UseCat($(LINTLIBDIR),$(MRESOURCESRC),/llib-lMrm.ln)
+
+ XMLIBSRC = $(LIBSRC)/Xm
+ DEPXMLIB = _UseCat($(USRLIBDIR),$(XMLIBSRC),/libXm.a)
+ XMLIB = LoaderLibPrefix _Use(-lXm,$(DEPXMLIB))
+ LINTXMLIB = _UseCat($(LINTLIBDIR),$(XMLIBSRC),/llib-lXm.ln)
+
+ UILLIBSRC = $(LIBSRC)/uil
+ DEPUILLIB = _UseCat($(USRLIBDIR),$(UILLIBSRC),/libUil.a)
+ UILLIB = LoaderLibPrefix _Use(-lUil,$(DEPUILLIB))
+ LINTUILLIB = _UseCat($(LINTLIBDIR),$(UILLIBSRC),/llib-lUil.ln)
+
+#endif
diff --git a/nx-X11/config/cf/cray.cf b/nx-X11/config/cf/cray.cf
new file mode 100644
index 000000000..2cc570f56
--- /dev/null
+++ b/nx-X11/config/cf/cray.cf
@@ -0,0 +1,49 @@
+XCOMM platform: $Xorg: cray.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+#define OSName UNICOS 8.0
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 8
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+
+#define SystemV YES
+#define Malloc0ReturnsNull YES
+#define RemoveTargetProgramByMoving YES
+#define ArCmd bld cr
+#define StandardDefines -DSYSV -DUSG
+#define ExecableScripts NO
+#define HasPoll NO
+#define HasXServer NO
+#define ConnectionFlags -DTCPCONN
+#define HasShm NO
+#define NativeFPFormat CRAY_Float
+#ifdef UseInstalled
+#define InstallCmd install
+#else
+#define InstallCmd $(SHELL) $(CONFIGSRC)/util/install.sh
+#endif
+
+#ifdef _CRAY2
+#define DefaultCCOptions -hpagelm -hlimitlm
+#endif
+
+#if OSMajorVersion >= 6
+#define PreProcessCmd /lib/pcpp
+#define CppCmd /lib/pcpp
+#else
+# if OSMajorVersion == 5
+# define PreProcessCmd /lib/cpp
+# define CppCmd /lib/cpp
+# define ExtraLoadFlags -lnet
+# endif
+#endif
+
+/* XKB library code does not work here yet */
+#define BuildXKBlib NO
+
+#define MotifDefines -DNO_REGEX -DNO_REGCOMP
diff --git a/nx-X11/config/cf/cross.def b/nx-X11/config/cf/cross.def
new file mode 100644
index 000000000..9f71091f5
--- /dev/null
+++ b/nx-X11/config/cf/cross.def
@@ -0,0 +1,45 @@
+/* $XFree86: xc/config/cf/cross.def,v 1.1 2000/12/08 22:09:34 keithp Exp $ */
+/*
+ * This file contains redefinitions of some symbols to enable
+ * cross compilation: e.g. paths for include files and paths to
+ * compiler images. It will have to be edited to reflect these
+ * given your local configuration.
+ */
+#if 0
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+#undef CplusplusCmd
+#define HasCplusplus YES
+#define CplusplusCmd /opt/Embedix/tools/bin/arm-linux-g++
+#define DoRanlibCmd YES
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ServerXdmcpDefines /**/
+
+#define HostCcCmd cc
+#endif
+#include <cross.rules>
diff --git a/nx-X11/config/cf/cross.def.NX.original b/nx-X11/config/cf/cross.def.NX.original
new file mode 100644
index 000000000..9f71091f5
--- /dev/null
+++ b/nx-X11/config/cf/cross.def.NX.original
@@ -0,0 +1,45 @@
+/* $XFree86: xc/config/cf/cross.def,v 1.1 2000/12/08 22:09:34 keithp Exp $ */
+/*
+ * This file contains redefinitions of some symbols to enable
+ * cross compilation: e.g. paths for include files and paths to
+ * compiler images. It will have to be edited to reflect these
+ * given your local configuration.
+ */
+#if 0
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+#undef CplusplusCmd
+#define HasCplusplus YES
+#define CplusplusCmd /opt/Embedix/tools/bin/arm-linux-g++
+#define DoRanlibCmd YES
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ServerXdmcpDefines /**/
+
+#define HostCcCmd cc
+#endif
+#include <cross.rules>
diff --git a/nx-X11/config/cf/cross.def.X.original b/nx-X11/config/cf/cross.def.X.original
new file mode 100644
index 000000000..958c746ce
--- /dev/null
+++ b/nx-X11/config/cf/cross.def.X.original
@@ -0,0 +1,45 @@
+/* $XFree86: xc/config/cf/cross.def,v 1.1 2000/12/08 22:09:34 keithp Exp $ */
+/*
+ * This file contains redefinitions of some symbols to enable
+ * cross compilation: e.g. paths for include files and paths to
+ * compiler images. It will have to be edited to reflect these
+ * given your local configuration.
+ */
+#if 0
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /skiff/local/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /skiff/local/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /skiff/local/bin/arm-linux-gcc
+#undef CplusplusCmd
+#define HasCplusplus YES
+#define CplusplusCmd /skiff/local/bin/arm-linux-g++
+#define DoRanlibCmd YES
+#define RanlibCmd /skiff/local/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/skiff/local/arm-linux/lib
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ServerXdmcpDefines /**/
+
+#define HostCcCmd cc
+#endif
+#include <cross.rules>
diff --git a/nx-X11/config/cf/cross.rules b/nx-X11/config/cf/cross.rules
new file mode 100644
index 000000000..da02643af
--- /dev/null
+++ b/nx-X11/config/cf/cross.rules
@@ -0,0 +1,147 @@
+XCOMM $XFree86: xc/config/cf/cross.rules,v 1.7 2002/04/04 14:05:33 eich Exp $
+
+#ifndef HostCcCmd
+#define HostCcCmd cc
+#endif
+
+#define HostLinkRule(target,flags,objs,libs) HostCcCmd -I$(BUILDINCDIR) -o target flags objs libs
+
+/* ComplexHostProgramTarget - Compile a program such that we can run
+ * it on this host, i.e., don't use the default cross compiler.
+ */
+#ifndef ComplexHostProgramTarget
+#define ComplexHostProgramTarget(program) @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* ComplexHostProgramTarget */
+
+
+#ifndef SimpleHostProgramTarget
+#define SimpleHostProgramTarget(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* SimpleHostProgramTarget */
+
+#ifndef SimpleHostProgramTarget_1
+#define SimpleHostProgramTarget_1(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* SimpleHostProgramTarget_1 */
+
+
+#ifndef SimpleHostProgramTarget_2
+#define SimpleHostProgramTarget_2(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* SimpleHostProgramTarget_2 */
+
+#ifndef SimpleHostProgramTarget_3
+#define SimpleHostProgramTarget_3(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* SimpleHostProgramTarget_3 */
+
+#ifndef SimpleHostProgramTarget_4
+#define SimpleHostProgramTarget_4(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=HostCcCmd @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)\ @@\
+ $(CROSSCOMPILEDEFINES) $(CROSSCOMPILEBOOTSTRAPDEFINES) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(HostProgramTargetName(program)) @@\
+ @@\
+HostProgramTargetName(program): program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(HostProgramTargetName(program))
+#endif /* SimpleHostProgramTarget_4 */
diff --git a/nx-X11/config/cf/cygwin.cf b/nx-X11/config/cf/cygwin.cf
new file mode 100644
index 000000000..73ed8cec5
--- /dev/null
+++ b/nx-X11/config/cf/cygwin.cf
@@ -0,0 +1,469 @@
+/* Cygwin/X vendor strings and version */
+#include "xorgversion.def"
+
+#ifndef CygxVersionMajor
+# define CygxVersionMajor XORG_VERSION_MAJOR
+#endif
+#ifndef CygxVersionMinor
+# define CygxVersionMinor XORG_VERSION_MINOR
+#endif
+#ifndef CygxVersionPatch
+# define CygxVersionPatch XORG_VERSION_PATCH
+#endif
+#ifndef CygxVersionSnap
+# define CygxVersionSnap XORG_VERSION_SNAP
+#endif
+#ifndef CygxVersionServer
+# define CygxVersionServer 0
+#endif
+
+#ifndef CygxVersion
+# define CygxVersion (10000000 * CygxVersionMajor + 100000 * CygxVersionMinor + 1000 * CygxVersionPatch + CygxVersionSnap)
+#endif
+
+#ifndef CygxVersionString
+# define CygxVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap%CygxVersionServer| sed -e 's/ /./g' -e 's/%/-/g'`
+#endif
+
+#ifndef CygxManVersionString
+# define CygxManVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap| sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+#endif
+
+#ifndef XVendorString
+# define XVendorString "The Cygwin/X Project"
+#endif
+#ifndef XVendorRelease
+# define XVendorRelease CygxVersion
+#endif
+#ifndef XVendorManVersionString
+# define XVendorManVersionString CygxManVersionString
+#endif
+#ifndef XVendorManNameString
+# define XVendorManNameString "Cygwin/X"
+#endif
+#ifndef XVendorContact
+# define XVendorContact "cygwin-xfree@cygwin.com"
+#endif
+
+/* Operating system strings and version */
+#ifndef OSName
+# define OSName Cygwin
+#endif
+#ifndef OSVendor
+# define OSVendor Red Hat Inc.
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef ProjectRoot
+# define ProjectRoot /usr/X11R6
+#endif
+
+#if !CrossCompiling
+# define HasGcc2 YES
+#endif /* !CrossCompiling */
+#define HasGcc2ForCplusplus YES
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define UnixCpp /* Just a flag that affects Concat macros in Imake.rules */
+
+#define ExtraLoadFlags -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc
+
+#define HasShadowPasswd NO
+#define HasLibCrypt YES
+#define HasPutenv YES
+#define HasPoll NO
+#if (OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion >= 5)
+# define HasStrlcat YES
+#endif
+#define HasShm YES
+
+#define HasSnprintf YES
+#ifndef HasMakefileSafeInclude
+# define HasMakefileSafeInclude YES
+#endif
+
+/*
+ * Cygwin has Tcl/Tk, but you need to keep the version numbers
+ * of the libs in sync. These version numbers may change
+ * occassionally.
+ */
+#define Hastcl YES
+#define Hastk YES
+#define TclLibName tcl80
+#define TkLibName tk80
+
+#define HasSockets YES
+#define GzipFontCompression YES
+#define HasZlib YES
+#ifndef GzipLibrary
+# define GzipLibrary -lz.dll
+#endif
+
+/* We don't need -lm */
+#define MathLibrary /**/
+
+/*
+ * /lib/libtermcap.a doesn't have tgetent, which is needed for
+ * xc/programs/xterm/resize.exe
+ */
+#define TermcapLibrary -lncurses.dll
+
+#define AvoidNullMakeCommand YES
+#define StripInstalledPrograms YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull NO
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+#define SetTtyGroup YES
+#define ExpandManNames YES
+#define HasDlopen NO
+#define HasGnuMake YES
+#define UseGccMakeDepend NO
+#define ThreadedX YES
+#define HasThreadSafeAPI YES
+#if !CrossCompiling
+#define CaseSensitiveFileSystem NO
+#endif
+#define HasWChar32 YES
+#define HasBasename NO /* basename() in libc */
+
+#define LnCmd ln -s
+#ifndef CcCmd
+# define CcCmd gcc
+#endif /* CcCmd */
+#ifndef CplusplusCmd
+# define CplusplusCmd g++
+#endif /* CplusplusCmd */
+#ifndef AsCmd
+# define AsCmd as
+#endif /* AsCmd */
+
+#define GccGasOption -DGCCUSESGAS
+#define AsmDefines -DUSE_GAS -DGCCUSESGAS
+
+#ifndef LdCmd
+# define LdCmd gcc -lautomode
+#endif /* LdCmd */
+
+#define MkdirHierCmd mkdir -p
+
+#ifndef CppCmd
+# define CppCmd cpp
+#endif /* CppCmd */
+#ifndef YaccCmd
+# define YaccCmd bison -y
+#endif /* YaccCmd */
+
+#define LexCmd flex -l
+#define LexLib -lfl
+#define HasFlex YES
+#ifndef CrossCompileDir
+# ifndef HasExpat
+# define HasExpat YES
+# endif
+# ifndef HasFreetype2
+# define HasFreetype2 YES
+# endif
+# ifndef HasFontconfig
+# define HasFontconfig YES
+# endif
+#endif
+
+/* Cygwin-specific Windows resource compiler command */
+#ifdef CrossCompileDir
+# ifndef WindresCmd
+# define WindresCmd Concat3(CrossCompileDir,/,windres)
+# endif
+#else
+# ifndef WindresCmd
+# define WindresCmd windres
+# endif
+#endif
+
+#define PreProcessCmd CcCmd -E
+
+#ifndef PostIncDir
+# ifdef CrossCompileDir
+# define PostIncDir `CrossCompileDir/CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
+# else
+# define PostIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
+# endif
+#endif
+#ifndef ExtraIncDir
+# ifdef CrossCompileDir
+# define ExtraIncDir CrossCompileDir/../include/w32api
+# else
+# define ExtraIncDir /usr/include/w32api
+# endif
+#endif
+
+#ifndef BourneShell
+/*
+ * This will cause builds/installs to terminate on errors, as on other
+ * platforms.
+ */
+#define BourneShell /bin/sh -e
+#endif
+
+#define LdCombineFlags -r
+
+#ifndef DefaultCCOptions
+# define DefaultCCOptions -Wall -Wpointer-arith
+#endif
+
+/* Cygwin 1.5.x now includes alloca */
+#if OSMinorVersion >= 5
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+#else
+# define AllocateLocalDefines -DNO_ALLOCA
+#endif
+
+#ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 -fno-strength-reduce
+#endif
+
+/*
+ * -DFD_SETSIZE=256 is needed for xfs and the xserver. cygwin defines the
+ * FD_SETSIZE as 64 but some code expects it to be larger.
+ */
+#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE \
+ -D_X86_ -D__CYGWIN__ -D_XOPEN_SOURCE \
+ -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE \
+ -D_SVID_SOURCE -D_GNU_SOURCE -DFD_SETSIZE=256 \
+ -DXResExtension
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H \
+ -DHAS_ISW_FUNCS -DNO_WIDEC_H
+#define StandardCppOptions -traditional
+
+/* Cygwin shared memory requires cygipc package or cygserver. */
+#if UseCygIPC
+# if ThreadedX
+# define StandardCppDefines -DHAS_THREADS -DHAS_SHM StandardDefines
+# else
+# define StandardCppDefines -DHAS_SHM StandardDefines
+# endif
+#else
+# if ThreadedX
+# define StandardCppDefines -DHAS_THREADS StandardDefines
+# else
+# define StandardCppDefines StandardDefines
+# endif
+#endif
+
+/* IPv6 not yet supported */
+#ifndef BuildIPv6
+# define BuildIPv6 NO
+#endif
+
+#if 0
+/* 2004/02/29 - Harold - This doesn't do anything yet. Stay tuned. */
+/* Support for accelerating OpenGL with Win32's OpenGL layer. */
+#ifndef BuildXWinDRI
+# define BuildXWinDRI NO
+#endif
+#if BuildXWinDRI
+# define GlxExtraDefines -DGLX_DIRECT_RENDERING GlxArchDefines
+#endif
+#endif
+
+/* XWin Server specific build flags */
+#ifndef GlxUseWindows
+# define GlxUseWindows YES
+#endif
+#ifndef BuildXWinClipboard
+# define BuildXWinClipboard YES
+#endif
+#ifndef BuildXWinEmulatePseudo
+# define BuildXWinEmulatePseudo NO
+#endif
+#ifndef BuildXWinMultiWindow
+# define BuildXWinMultiWindow YES
+#endif
+#ifndef BuildXWinMultiWindowExtWM
+# define BuildXWinMultiWindowExtWM YES
+#endif
+#ifndef BuildXWinNativeGDI
+# define BuildXWinNativeGDI NO
+#endif
+#ifndef BuildXWinPrimaryFB
+# define BuildXWinPrimaryFB NO
+#endif
+#ifndef BuildXWinUpdateStats
+# define BuildXWinUpdateStats NO
+#endif
+#ifndef BuildXWinXF86Config
+# define BuildXWinXF86Config NO
+#endif
+
+/* XWin specific build flags - 1st order dependency */
+#if BuildXWinMultiWindowExtWM && !defined(BuildWindowsWMLibrary)
+# define BuildWindowsWMLibrary YES
+#elif !defined(BuildWindowsWMLibrary)
+# define BuildWindowsWMLibrary NO
+#endif /* BuildXWinMultiWindowExtWM && BuildWindowsWMLibrary */
+
+/* XWin Server specific defines */
+#if BuildXWinClipboard
+# define XWinClipboardDefines -DXWIN_CLIPBOARD
+#else
+# define XWinClipboardDefines
+#endif /* BuildXWinClipboard */
+#if BuildXWinEmulatePseudo
+# define XWinEmulatePseudoDefines -DXWIN_EMULATEPSEUDO
+#else
+# define XWinEmulatePseudoDefines
+#endif /* BuildXWinEmulatePseudo */
+#if BuildXWinMultiWindow
+# define XWinMultiWindowDefines -DXWIN_MULTIWINDOW
+#else
+# define XWinMultiWindowDefines
+#endif /* BuildXWinMultiWindow */
+#if BuildXWinMultiWindowExtWM
+# define BuildRootless YES
+# define XWinMultiWindowExtWMDefines -DXWIN_MULTIWINDOWEXTWM
+#else /* BuildXWinMultiWindowExtWM */
+# define XWinMultiWindowExtWMDefines
+#endif /* BuildXWinMultiWindowExtWM */
+#if BuildXWinNativeGDI
+# define XWinNativeGDIDefines -DXWIN_NATIVEGDI
+#else
+# define XWinNativeGDIDefines
+#endif /* BuildXWinNativeGDI */
+#if BuildXWinPrimaryFB
+# define XWinPrimaryFBDefines -DXWIN_PRIMARYFB
+#else
+# define XWinPrimaryFBDefines
+#endif /* BuildXWinPrimaryFB */
+#if BuildXWinUpdateStats
+# define XWinUpdateStatsDefines -DXWIN_UPDATESTATS
+#else
+# define XWinUpdateStatsDefines
+#endif /* BuildXWinUpdateStats */
+#if BuildXWinXF86Config
+# define XWinXF86ConfigDefines -DXWIN_XF86CONFIG
+#else
+# define XWinXF86ConfigDefines
+#endif /* BuildXWinXF86Config */
+
+/*
+ * XFree86Server is defined for the w32api headers, which protects some
+ * colliding names with #ifdef XFree86Server.
+ */
+#define XWinServerDefines -DPIXPRIV \
+ -DXFree86Server \
+ -DX_BYTE_ORDER=ByteOrder \
+ XvExtensionDefines \
+ XWinXF86ConfigDefines XWinNativeGDIDefines \
+ XWinPrimaryFBDefines \
+ XWinEmulatePseudoDefines \
+ XWinUpdateStatsDefines \
+ XWinClipboardDefines XWinMultiWindowDefines \
+ XWinMultiWindowExtWMDefines \
+ -DDDXBEFORERESET
+#define ServerOSDefines -DDDXTIME -DDDXOSINIT \
+ -DDDXOSVERRORF -DDDXOSFATALERROR
+#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+#define ServerExtraDefines -DGCCUSESGAS XWinServerDefines \
+ AllocateLocalDefines
+#define ConnectionFlags -DTCPCONN -DUNIXCONN
+#define ExtraLibraries
+#define InstUidFlags -m 4711
+#define UseRgbTxt YES
+#define ExtraFilesToClean *.obj *.orig *.rej junk.c *.exe *.dll *.lib *~
+
+/* Flags for which the default in X11.tmpl is not what we want. */
+#ifndef BuildXinerama
+# define BuildXinerama NO /* Not supported by XWin Server */
+#endif
+#ifndef BuildXIE
+# define BuildXIE NO /* Deprecated */
+#endif
+#ifndef BuildDPMS
+# define BuildDPMS NO /* Not supported by XWin Server */
+#endif
+#ifndef BuildXInputExt
+# define BuildXInputExt YES /* Not enabled by default */
+#endif
+#ifndef BuildRandR
+# define BuildRandR YES /* Not supported by XWin Server */
+#endif
+#ifndef BuildXF86BigfontExt
+# define BuildXF86BigfontExt YES /* Not enabled by default */
+#endif
+#ifndef BuildGlxExt
+# define BuildGlxExt YES /* Not enabled by default */
+#endif
+#ifndef BuildXprintLib
+# define BuildXprintLib YES /* Not enabled when Xprt disabled */
+#endif
+#ifndef BuildXterm
+# define BuildXterm NO /* Built separately on Cygwin */
+#endif
+#ifndef BuildXResExt
+# define BuildXResExt YES /* Not enabled by default */
+#endif
+#ifndef BuildFreeType
+# define BuildFreeType YES /* Not enabled by default */
+#endif
+#ifndef BuildXTrueType
+# define BuildXTrueType YES /* Not enabled by default */
+#endif
+
+/* Server build rules */
+#ifndef XnestServer
+# define XnestServer YES
+#endif
+#ifndef XprtServer
+# define XprtServer NO
+#endif
+#ifndef XVirtualFramebufferServer
+# define XVirtualFramebufferServer YES
+#endif
+#ifndef XWinServer
+# define XWinServer YES
+#endif
+
+/* We need libX11 and libXext for the XWin Server */
+#if XWinServer
+# define BuildX11Lib YES
+#endif
+
+/*
+ * --unix option of Cygwin make fools the standard MakeFlagsToShellFlags macro
+ */
+#define MakeFlagsToShellFlags(makeflags,shellcmd) \
+ for flag in ${MAKEFLAGS} ''; do \ @@\
+ case "$$flag" in *=*) ;;--*) ;; *[makeflags]*) shellcmd;; esac; done
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+
+#ifndef XtransFailSoft
+#define XtransFailSoft YES
+#endif
+
+#ifndef HasDevWindows
+# define HasDevWindows YES
+#endif
+
+#include <cygwin.rules>
+
+#if CrossCompiling
+#include <cross.def>
+#endif
diff --git a/nx-X11/config/cf/cygwin.rules b/nx-X11/config/cf/cygwin.rules
new file mode 100644
index 000000000..d144755af
--- /dev/null
+++ b/nx-X11/config/cf/cygwin.rules
@@ -0,0 +1,454 @@
+/*
+ * Cygwin shared library rules (DLL versions)
+ */
+
+#define HasSharedLibraries YES
+#define NeedLibInsideFlag NO
+#define ForceNormalLib NO
+#ifndef SharedLibX11
+# define SharedLibX11 YES
+#endif
+#ifndef NormalLibX11
+# define NormalLibX11 NO
+#endif
+#define SharedLibXaw YES
+#define SharedLibXmu YES
+#define SharedLibXt YES
+#define SharedLibFont NO
+#define SharedLibXaw7 YES
+#define SharedLibXaw6 YES
+#define SharedLibSM YES
+#define SharedLibICE YES
+#define SharedLibXext YES
+#define SharedLibXi YES
+#define SharedLibXtst YES
+#define SharedOldX YES
+#define SharedLibXp YES
+#define SharedLibGlx YES
+#define SharedLibDps YES
+#define SharedLibDpsTk YES
+#define SharedLibGlu YES
+#define SharedLibWindowsWM NO
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <cygwin.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -dll /**/
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -D_DLL
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -D_DLL
+#endif
+#ifndef UseExportLists
+#define UseExportLists YES
+#endif
+
+#define SharedLibraryName(libname, rev) \
+Concat3(cyg,libname,-$(shell echo rev|sed s=\\..*==).dll)
+
+#define ImportLibraryName(libname, rev) \
+Concat3(lib,libname,-$(shell echo rev|sed s=\\..*==).dll.a)
+
+#define ShortImportLibraryName(libname, rev) \
+Concat3(lib,libname,.dll.a)
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+
+#ifndef SharedDepLibraryTarget
+# ifdef UseInstalled
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib)
+# endif
+# else /* !UseInstalled */
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); @@\
+ cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+# endif
+# endif /* UseInstalled */
+
+
+/*
+ * SharedDepLibraryTarget
+ */
+
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): deplist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+
+#ifndef SharedDepCplusplusLibraryTarget
+# ifdef UseInstalled
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib)
+# endif
+# else /* !UseInstalled */
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); @@\
+ cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+# endif
+# endif /* UseInstalled */
+
+
+/*
+ * SharedDepCplusplusLibraryTarget
+ */
+
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): deplist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeCplusplusDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+
+/*
+ * SharedDepModuleTarget
+ */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ @@\
+clean:: @@\
+ RemoveFile(name)
+#endif /* SharedDepModuleTarget */
+
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shared data file
+ */
+
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif
+
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+/*
+ * MakeDllProg
+ */
+
+#define MakeDLLProg(libname,solist,prog,rev) @@\
+ prog -shared -Wl,--out-implib=ImportLibraryName(libname,rev) -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc -Wl,--exclude-libs,ALL -o SharedLibraryName(libname,rev) solist $(REQUIREDLIBS)
+
+/*
+ * MakeDll
+ */
+
+#define MakeDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CC),rev)
+
+/*
+ * MakeCplusplusDll
+ */
+
+#define MakeCplusplusDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CXX),rev)
+
+
+
+/*
+ * SharedLibraryTarget
+ */
+
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): solist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+
+/*
+ * InstallLink
+ */
+
+#ifndef InstallLink
+#define InstallLink(step, file, link, dest) @@\
+step:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(LN) -sf file $(DESTDIR)dest/link
+#endif
+
+/*
+ * InstallSharedLibrary
+ */
+
+#define InstallSharedLibrary(libname,rev,dest) @@\
+InstallTarget(install,ImportLibraryName(libname,rev),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
+InstallTarget(install,SharedLibraryName(libname,rev),$(INSTBINFLAGS),$(BINDIR)) @@\
+InstallLink(install,ImportLibraryName(libname,rev),ShortImportLibraryName(libname,rev),$(USRLIBDIR))
+
+
+/*
+ * ProgramTargetName - This can be simply 'target' or 'target.exe' when
+ * building on Cygwin proper, as Cygwin automatically appends .exe to compiled
+ * executables and make, rm, ln, etc. will automatically search for a file
+ * with .exe appended if the raw file name cannot be found. However,
+ * building with a cross compiler requires 'target.exe', as the cross
+ * compiler doesn't know to append .exe, nor do the cross compiler tools
+ * know to search for files with .exe appended if the raw file name cannot
+ * be found.
+ */
+
+#define ProgramTargetName(target) Concat(target,.exe)
+
+
+/*
+ * HostProgramTargetName - Don't add .exe if cross-compiling.
+ */
+
+#ifndef HostProgramTargetName
+# if CrossCompiling
+# define HostProgramTargetName(target) target
+# else
+# define HostProgramTargetName(target) ProgramTargetName(target)
+# endif
+#endif
+
+
+/*
+ * LinkBuildDLL - Cygwin only rule, similar to LinkBuildModule.
+ * Unfortunately, we have to create a copy of each DLL in xc/exports/bin;
+ * linking doesn't work, the executables (e.g. xkbcomp) will report
+ * that they cannot find DLLs (e.g. libX11.dll).
+ */
+
+#ifdef UseInstalled
+#define LinkBuildDLL(lib) $(_NULLCMD_)
+#else
+#define LinkBuildDLL(lib) MakeDir($(BUILDBINDIR)) @@\
+ RemoveFile($(BUILDBINDIR)/lib) @@\
+ cd $(BUILDBINDIR) && $(CP) $(BUILDBINTOP)/$(CURRENT_DIR)/lib .
+#endif
+
+#ifndef LinkImportLibrary
+#ifdef UseInstalled
+#define LinkImportLibrary(lib, importlib) $(_NULLCMD_)
+#else
+#define LinkImportLibrary(lib, importlib) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/importlib) @@\
+ cd $(BUILDLIBDIR) && $(LN) lib importlib
+#endif
+#endif /* LinkImportLibrary */
+
+
+/*
+ * LinkBuildBinary - This rule normally creates a link in xc/exports/bin
+ * to a binary, but we create an actual copy of the binary.
+ * Creating a link causes the DLLs that the binary depend on, such as
+ * libX11.dll, not to be found. Copying the binary causes the runtime
+ * directory to be xc/exports/bin, which is the location of the DLLs, thus,
+ * the DLLs can now be found by the binary. Phew...
+ *
+ * Note that sometimes the binary is not an executable. One example
+ * is the rgb binary file.
+ *
+ * Passing -p preserves the attributes as the date and prevents useless
+ * rebuilds.
+ *
+ * ProgramTargetName is passed to LinkBuildBinary if the binary
+ * is actually an executable; thus, we do not wrap the binary name
+ * with ProgramTargetName here.
+ */
+
+#ifndef LinkBuildBinary
+#define LinkBuildBinary(binary) @@\
+all:: binary @@\
+ MakeDir($(BUILDBINDIR)) @@\
+ RemoveFile($(BUILDBINDIR)/binary) @@\
+ cd $(BUILDBINDIR) && $(CP) -p $(BUILDBINTOP)/$(CURRENT_DIR)/binary .
+#endif /* LinkBuildBinary */
+
+/*
+ * ProfiledRelocatableTarget - generate rules to produce a profiled
+ * relocatable object file instead of a library. Differs from Imake.rules
+ * by passing '--oformat pe-i386' to ld.
+ */
+
+#ifndef ProfiledRelocatableTarget
+#define ProfiledRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_p.Osuf)) @@\
+ @@\
+Concat(objname,_p.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r --oformat pe-i386 objlist -o $@
+
+#endif /* ProfiledRelocatableTarget */
+
+
+/*
+ * DebuggedRelocatableTarget - generate rules to produce a debuggable
+ * relocatable object file instead of a library. Differs from Imake.rules
+ * by passing '--oformat pe-i386' to ld.
+ */
+
+#ifndef DebuggedRelocatableTarget
+#define DebuggedRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_d.Osuf)) @@\
+ @@\
+Concat(objname,_d.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r --oformat pe-i386 objlist -o $@
+
+#endif /* DebuggedRelocatableTarget */
+
+
+/*
+ * DependDependencyStatement - Imake.rules wraps $(DEPEND) in
+ * ProgramTargetName(), which causes cross compiling to think that
+ * $(DEPEND) hasn't been built, as $(DEPEND) is a host tool, and should
+ * not be wrapped with ProgramTargetName(). Perhaps there should be
+ * a HostProgramTargetName()...
+ */
+
+#ifndef DependDependencyStatement
+#if HasMakefileSafeInclude
+#define DependDependencyStatement() @@\
+DependFileName:: $(DEPEND)
+#else
+#define DependDependencyStatement() @@\
+depend:: $(DEPEND)
+#endif
+#endif
+
+
+/*
+ * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
+ * This doesn't work when cross compiling, see the locally defined
+ * DependDependencyStatement comment (above) for more information.
+ */
+
+#ifndef DependDependency
+#ifdef UseInstalled
+#define DependDependency() /**/
+#else
+#define DependDependency() @@\
+DependDependencyStatement() @@\
+ @@\
+NoCmpScript($(DEPEND)) @@\
+ @@\
+$(DEPEND): @@\
+ @echo "checking $@ over in $(DEPENDSRC) first..."; \ @@\
+ cd $(DEPENDSRC) && $(MAKE) makedependonly; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+#endif /* DependDependency */
+
+
+/*
+ * ImakeDependency - Imake.rules wraps $(IMAKE) in ProgramTargetName(),
+ * which doesn't work when cross compiling, as imake is supposed to be a
+ * host program. See the locally defined DependDependencyStatement
+ * comment (above) for more information.
+ */
+
+#ifndef ImakeDependency
+#ifdef UseInstalled
+#define ImakeDependency(target) /**/
+#else
+#define ImakeDependency(target) @@\
+target:: $(IMAKE) @@\
+ @@\
+NoCmpScript($(IMAKE) $(IMAKE).Osuf) @@\
+ @@\
+$(IMAKE) $(IMAKE).Osuf: @@\
+ -@(cd $(IMAKESRC) && if [ -f Makefile ]; then \ @@\
+ echo "checking $@ in $(IMAKESRC) first..."; $(MAKE) imakeonly; else \ @@\
+ echo "bootstrapping $@ from Makefile.ini in $(IMAKESRC) first..."; \ @@\
+ $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; fi; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)")
+#endif /* UseInstalled */
+#endif /* ImakeDependency */
+
+
+/*
+ * ResourceObjectRule - Build a Windows resouce file (.res) into
+ * an object file (.o) that can be linked in with the executable
+ * or library being built.
+ */
+
+#ifndef ResourceObjectRule
+#define ResourceObjectRule(basename,depends,options) @@\
+AllTarget(basename.RESsuf) @@\
+basename.RESsuf: basename.RCsuf depends @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \ @@\
+ WindresCmd basename.RCsuf options -O coff -o basename.RESsuf @@\
+clean:: @@\
+ RemoveFiles(basename.RESsuf)
+
+#endif /* ResourceObjectRule */
+
+/* The arglist can get quite long. Make sure we can delete it though */
+#ifndef MakeFonts
+# define MakeFonts() @@\
+all:: $(OBJS) @@\
+ @@\
+MakeFontsDir($(OBJS)) @@\
+ @@\
+clean:: @@\
+ find -name "*.pcf" -o -name "*.pcf.Z" -o -name "*.pcf.gz" | xargs -r rm
+#endif /* MakeFonts */
+
+#ifndef IncludeMakefile
+#define IncludeMakefile(file) @@sinclude file
+#endif
diff --git a/nx-X11/config/cf/cygwin.tmpl b/nx-X11/config/cf/cygwin.tmpl
new file mode 100644
index 000000000..404b62845
--- /dev/null
+++ b/nx-X11/config/cf/cygwin.tmpl
@@ -0,0 +1,77 @@
+XCOMM $XFree86: xc/config/cf/cygwin.tmpl,v 3.18 2003/10/19 08:27:05 herrb Exp $
+
+#define SharedX11Reqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS)
+#define SharedXtReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XONLYLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXpReqs $(LDPRELIB) $(XAUTHLIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+/*
+ * We don't build Xss
+ * #define SharedXssReqs $(LDPRELIB) $(XLIB)
+ */
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXfixesReqs $(LDPRELIB) $(XLIB)
+#define SharedXdamageReqs $(LDPRELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXevieReqs $(LDPRELIB) $(XLIB)
+
+#ifndef FixupLibReferences
+# define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+# define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+
+/*
+ * Suffix for Windows resource source files
+ */
+
+#ifndef RCsuf
+# define RCsuf rc
+#endif
+
+
+/*
+ * Suffix for Windows resource compiled files
+ */
+
+#ifndef RESsuf
+# define RESsuf res
+#endif
diff --git a/nx-X11/config/cf/darwin.cf b/nx-X11/config/cf/darwin.cf
new file mode 100644
index 000000000..d0b067c89
--- /dev/null
+++ b/nx-X11/config/cf/darwin.cf
@@ -0,0 +1,330 @@
+XCOMM $XdotOrg: xc/config/cf/darwin.cf,v 1.8 2005/04/01 01:22:07 torrey Exp $
+XCOMM platform: $XFree86: xc/config/cf/darwin.cf,v 1.50 2004/01/20 23:54:50 torrey Exp $
+
+/* Darwin / Mac OS X configuration by John Carmack <johnc@idsoftware.com> */
+
+/* imake determines the default values by parsing uname */
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSVendor
+#define OSVendor Apple Computer, Inc.
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/*
+ * Define the operating system's capabilities
+ */
+#define HasSnprintf YES
+#define HasPutenv YES
+#define HasBSD44Sockets YES
+#define Malloc0ReturnsNull NO
+#define HasShadowPasswd NO
+#define HasUsableFileMmap YES
+#define HasZlib YES
+#ifndef HasShm
+# define HasShm YES
+#endif
+#define HasNdbm YES
+#if OSMajorVersion >= 6
+# define HasNCurses YES
+# define HasArc4Random YES
+# define HasGetIfAddrs YES
+# define HasStrlcat YES
+#else
+# define HasBasename NO
+# define HasNCurses NO
+#endif
+#ifndef HasGroff
+# define HasGroff YES
+#endif
+#ifndef HasGcc3
+# define HasGcc3 NO
+#endif
+#ifndef HasFreetype2
+# define HasFreetype2 NO
+#endif
+#ifndef HasExpat
+# define HasExpat NO
+#endif
+#ifndef HasLibpng
+# define HasLibpng NO
+#endif
+
+/* Older versions don't really support IPv6, but #define AF_INET6. */
+#if OSMajorVersion < 6
+# define BuildIPv6 NO
+#endif
+
+/* Thread support */
+#define HasPosixThreads YES
+#define SystemMTDefines -D_REENTRANT
+#if OSMajorVersion >= 6
+# define HasThreadSafeAPI YES
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_UNISTDAPI
+#else
+# define HasThreadSafeAPI NO
+# define MTSafeAPIDefines -DXOS_USE_MTSAFE_NETDBAPI
+#endif
+
+/* Libtool on Darwin always uses minor numbers */
+#define LibtoolMinorVersions YES
+
+/* The most common file system, HFS+, is not case sensitive. */
+#ifndef CaseSensitiveFileSystem
+# define CaseSensitiveFileSystem NO
+#endif
+
+/*
+ * This enables some settings for developers.
+ */
+#ifndef XFree86Devel
+# define XFree86Devel NO
+#endif
+
+/*
+ * This enables Quartz compatibility.
+ * Turn off to build on raw Darwin systems.
+ */
+#ifndef DarwinQuartzSupport
+# define DarwinQuartzSupport YES
+#endif
+
+#if DarwinQuartzSupport
+
+# if OSMajorVersion >= 7
+ PROJ_BUILD = xcodebuild
+# else
+ PROJ_BUILD = pbxbuild
+# endif
+
+# ifndef HasXplugin
+# if OSMajorVersion >= 7
+# define HasXplugin YES
+# else
+# define HasXplugin NO
+# endif
+# endif
+
+# if HasXplugin
+# ifndef XpLibDir
+# define XpLibDir /usr/lib
+# endif
+# ifndef XpIncDir
+# define XpIncDir $(SERVERSRC)/hw/darwin/quartz/xpr
+# endif
+ XPLIBDIR = XpLibDir
+ XPINCDIR = XpIncDir
+# define XpluginLibrary Concat(-L,$(XPLIBDIR)) -lXplugin
+# else
+# define XpluginLibrary /**/
+# endif
+
+# ifndef BuildAppleDRI
+# if HasXplugin
+# define BuildAppleDRI YES
+# else
+# define BuildAppleDRI NO
+# endif
+# endif
+
+# if BuildAppleDRI
+# define GlxExtraDefines -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL GlxArchDefines
+# endif
+
+# define BuildRootless YES
+# define BuildAppleWMLibrary YES
+
+#endif /* DarwinQuartzSupport */
+
+/* we don't need -lm */
+#define MathLibrary /**/
+
+#define TermcapLibrary -lcurses
+#define SetTtyGroup YES /* for xterm */
+
+/* we don't have a dbm library */
+#define DBMLibrary /**/
+
+#define MkdirHierCmd mkdir -p
+
+/* Use flex -l for compatibility with various versions of flex. */
+#ifndef LexCmd
+# define LexCmd flex -l
+#endif
+#define HasFlex YES
+
+/*
+ * Our cpp isn't in /lib/cpp and early versions don't like -undef.
+ * The gcc 3.3 cpp that Apple ships inserts spurious #pragmas,
+ * so we use the 3.1-based version in this case.
+ */
+#if (GccMajorVersion == 3) && (GccMinorVersion == 3)
+# define CppCmd /usr/bin/cpp3
+#else
+# define CppCmd /usr/bin/cpp
+#endif
+#if (GccMajorVersion == 3) && (GccMinorVersion == 3) || (GccMajorVersion > 3)
+# define StandardCppOptions -traditional -D__GNUC__
+#endif
+#if HasGcc3
+# define RawCppCmd CppCmd -undef
+#else
+# define RawCppCmd CppCmd
+#endif
+
+/* we have a gcc compatible compiler, but its not called gcc */
+#define CcCmd /usr/bin/cc
+#define CplusplusCmd /usr/bin/c++
+
+/* default flags to pass to cc */
+#ifndef DefaultCCOptions
+#if XFree86Devel
+# define DefaultCCOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs \
+ -no-cpp-precomp
+#else
+# define DefaultCCOptions -Wall -Wpointer-arith -no-cpp-precomp
+#endif
+#endif
+
+/* flags to pass to cc when building libraries */
+#ifndef LibraryCCOptions
+# define LibraryCCOptions DefaultCCOptions -fno-common
+#endif
+
+/* The cr implementation does not build with NEED_SCREEN_REGIONS,
+ so play it safe. */
+#ifndef ServerCCOptions
+# define ServerCCOptions DefaultCCOptions -UNEED_SCREEN_REGIONS
+#endif
+
+#ifdef PpcDarwinArchitecture
+# define DarwinMachineDefines -D__powerpc__
+# if HasGcc3
+# define OptimizedCDebugFlags -Os
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+# define ByteOrder X_BIG_ENDIAN
+#endif /* PpcDarwinArchitecture */
+
+#ifdef i386DarwinArchitecture
+# define DarwinMachineDefines -D__i386__
+# if HasGcc3
+# define OptimizedCDebugFlags -Os
+# else
+# define OptimizedCDebugFlags -O2 -fno-strength-reduce
+# endif
+# define ByteOrder X_LITTLE_ENDIAN
+#endif /* i386DarwinArchitecture */
+
+#if OSMajorVersion < 7
+# define DarwinLocaleDefines -DX_LOCALE
+#else
+# define DarwinLocaleDefines /**/
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
+#endif
+
+/*
+ * __DARWIN__ will be used for platform specific #ifdefs that can't
+ * be handled by existing X defines.
+ *
+ * Darwin's alloca() seg faults (rather than returning NULL) on failed
+ * allocations, so we can't use it.
+ */
+#define StandardDefines DarwinMachineDefines -D__DARWIN__ \
+ -DNO_ALLOCA -DCSRG_BASED DarwinLocaleDefines
+
+/*
+ * Set this to NO to just build the client libs, which should work without
+ * having to write any platform specific code.
+ */
+#ifndef BuildServer
+# define BuildServer YES
+
+/* our custom X server */
+# define XDarwinServer YES
+#endif
+
+/* Thanks to the IOKit, the X server does not have to be SetUID. */
+#ifndef InstallXserverSetUID
+# define InstallXserverSetUID NO
+#endif
+
+/* Allow Xtrans to work with non-SetUID server. */
+#ifndef XtransFailSoft
+# define XtransFailSoft YES
+#endif
+
+/* disable XKB by default as it can cause problems */
+#define DfltDisableXKB YES
+
+/* no direct graphics extension */
+#define BuildXF86DGA NO
+
+/* Support for tablets and other non-standard input devices */
+#ifndef BuildXInputExt
+# define BuildXInputExt YES
+#endif
+#define BuildXInputLib YES
+
+/* no Display Power Management extension */
+#define BuildDPMS NO
+
+/* no XFree86-Misc extension */
+#define BuildXF86MiscExt NO
+
+/* no XFree86-VidMode extension */
+#define BuildXF86VidModeExt NO
+
+#ifndef BuildXterm
+# define BuildXterm BuildClients /* Not enabled by default */
+#endif
+
+#define BuildLibPathVar DYLD_LIBRARY_PATH
+
+/* include rules to build shared libraries */
+#include <darwinLib.rules>
+
+/*
+ * BundleProgramTarget - Generate rules for compiling, linking and
+ * installing a bundle executable.
+ */
+#ifndef BundleProgramTarget
+#define BundleProgramTarget(program,loader,subdirs,objs,deplib,syslib,dstdir) @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: loader subdirs objs deplib @@\
+ RemoveTargetProgram($@) @@\
+ LinkRule($@,-bundle $(LDOPTIONS),objs,deplib $(LDLIBS) syslib -bundle_loader loader) @@\
+ @@\
+InstallProgram(program,dstdir/program.bundle/Contents/MacOS) @@\
+ @@\
+clean:: @@\
+ RemoveFile(program)
+#endif /* BundleProgramTarget */
+
+/*
+ * Darwin specific Imake Config files
+ */
+#ifndef LocalConfigFiles
+#define LocalConfigFiles \
+ darwinLib.rules \
+ darwinLib.tmpl
+#endif
+
+/* include all the X.Org rules */
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/darwinLib.rules b/nx-X11/config/cf/darwinLib.rules
new file mode 100644
index 000000000..01f69d3e3
--- /dev/null
+++ b/nx-X11/config/cf/darwinLib.rules
@@ -0,0 +1,167 @@
+XCOMM $XFree86: xc/config/cf/darwinLib.rules,v 1.8 2003/10/09 22:43:18 herrb Exp $
+/*
+ * Darwin/Mac OS X shared library rules
+ */
+
+#ifndef UseElfFormat
+#define UseElfFormat NO
+#endif
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <darwinLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -dynamiclib
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -dynamic
+#endif
+#ifndef ExtraLoadFlags
+#define ExtraLoadFlags /**/
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.rev.dylib) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.rev.dylib) $(DESTDIR)dest @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat($(DESTDIR)dest/lib,libname.$$MAJREV.dylib) && \ @@\
+ $(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.$$MAJREV.dylib) @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.dylib); \ @@\
+ $(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.dylib)); fi
+#endif /* InstallSharedLibrary */
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.rev.dylib)) @@\
+ @@\
+Concat(lib,libname.rev.dylib): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
+ set -x; (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
+ $(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
+ LinkBuildSonameLibrary($$INSTALLNAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.dylib); \ @@\
+ $(LN) $@ Concat(lib,libname.dylib)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
+ $(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.rev.dylib)) @@\
+ @@\
+Concat(lib,libname.rev.dylib): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
+ set -x; (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
+ $(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
+ LinkBuildSonameLibrary($$INSTALLNAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.dylib); \ @@\
+ $(LN) $@ Concat(lib,libname.dylib)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
+ $(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+# define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.rev.dylib)) @@\
+ @@\
+Concat(lib,libname.rev.dylib): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ INSTALLNAME=Concat(lib,libname.$$MAJREV.dylib); \ @@\
+ set -x; (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -install_name $(USRLIBDIR)/$$INSTALLNAME -current_version rev -compatibility_version rev solist $(REQUIREDLIBS)); \ @@\
+ $(RM) $$INSTALLNAME; $(LN) $@ $$INSTALLNAME; \ @@\
+ LinkBuildSonameLibrary($$INSTALLNAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.dylib); \ @@\
+ $(LN) $@ Concat(lib,libname.dylib)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.dylib),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.$$MAJREV.dylib) @@\
+ $(RM) Concat(lib,libname.rev.dylib) Concat(lib,libname.dylib)
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryDataTarget */
+
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
diff --git a/nx-X11/config/cf/darwinLib.tmpl b/nx-X11/config/cf/darwinLib.tmpl
new file mode 100644
index 000000000..0d3c4368f
--- /dev/null
+++ b/nx-X11/config/cf/darwinLib.tmpl
@@ -0,0 +1,61 @@
+XCOMM $XFree86: xc/config/cf/darwinLib.tmpl,v 1.19 2003/11/04 00:24:36 torrey Exp $
+/*
+ * Darwin/Mac OS X shared library template
+ */
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+/* Allow for libpthread, as overridden by OS definitions */
+#if !defined(SharedX11Reqs)
+#define SharedX11Reqs
+#endif
+#define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
+
+#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB) -flat_namespace
+
+#define SharedAppleWMReqs $(LDPRELIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB) -flat_namespace
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXfixesReqs $(LDPRELIB) $(XLIB)
+#define SharedXdamageReqs $(LDPRELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXevieReqs $(LDPRELIB) $(XLIB)
diff --git a/nx-X11/config/cf/dmx.cf b/nx-X11/config/cf/dmx.cf
new file mode 100644
index 000000000..f5e25f313
--- /dev/null
+++ b/nx-X11/config/cf/dmx.cf
@@ -0,0 +1,65 @@
+/* $XFree86$ */
+
+/*
+ * This file contains DMX server specific defines
+ */
+
+#undef XVendorString
+#define XVendorString "DMX Project"
+
+/*
+ * Note 1: This is a signed int that is printed as a decimal number.
+ * Since we want to make it human-interpretable, the fields are
+ * defined as:
+ * 2147483648
+ * AAbbyymmdd
+ * AA: major version 01-20
+ * bb: minor version 00-99
+ * yy: year 00-99 [See Note 2]
+ * mm: month 01-12
+ * dd: day 01-31
+ *
+ * Note 2: The default epoch for the year is 2000.
+ * To change the default epoch, change the DMX_VENDOR_RELEASE
+ * macro below, bumb the minor version number, and change
+ * xdpyinfo to key off the major/minor version to determine the
+ * new epoch. Remember to do this on January 1, 2100 and every
+ * 100 years thereafter.
+ */
+#define DMX_VENDOR_RELEASE(major,minor,year,month,day) \
+ ((major) * 100000000) + \
+ ((minor) * 1000000) + \
+ ((year-2000) * 10000) + \
+ ((month) * 100) + \
+ ((day) * 1)
+#undef XVendorRelease
+#define XVendorRelease DMX_VENDOR_RELEASE(1,2,2004,6,30)
+
+EXTENSIONS_NOT_SUPPORTED = \
+ -UMULTIBUFFER \
+ -UXV \
+ -UDBE \
+ -UXF86VIDMODE \
+ -UXF86MISC \
+ -UXFreeXDGA \
+ -UXF86DRI \
+ -UMITSHM \
+ -UTOGCUP \
+ -UDPSEXT \
+ -UMITMISC \
+ -USCREENSAVER \
+ -URANDR \
+ -UXFIXES \
+ -UDAMAGE
+
+EXT_TEMP_NOT_SUPPORTED = \
+ -UFONTCACHE
+
+DMX_DEFINES = \
+ $(EXTENSIONS_NOT_SUPPORTED) \
+ $(EXT_TEMP_NOT_SUPPORTED) \
+ -UXFree86LOADER
+
+XCOMM MITSHM -- works but doesn't quite do what people think it should
+XCOMM DPMSExtension -- compiled in but is non-functional
+XCOMM MITMISC provides legacy support for X11R1,2 applications. Disable.
diff --git a/nx-X11/config/cf/fujitsu.cf b/nx-X11/config/cf/fujitsu.cf
new file mode 100644
index 000000000..3615d3074
--- /dev/null
+++ b/nx-X11/config/cf/fujitsu.cf
@@ -0,0 +1,95 @@
+XCOMM platform: $Xorg: fujitsu.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion)
+
+#define PatheticCpp YES
+
+#ifdef SparcArchitecture
+
+#define BootstrapCFlags -D__uxp__
+#define StandardDefines -D__uxp__ -DSVR4 -DANSICPP
+#define StandardCppDefines -D__uxp__ -DSVR4 -DANSICPP
+
+#define CppCmd /usr/ccs/lib/cpp
+
+#ifndef ArCmdBase
+# define ArCmdBase /usr/ccs/bin/ar
+#endif
+#ifndef AsCmd
+# define AsCmd /usr/ccs/bin/as
+#endif
+#ifndef CcCmd
+# define CcCmd /usr/ccs/bin/cc
+#endif
+#ifndef CplusplusCmd
+# define CplusplusCmd /opt/uxpcplus/bin/CC
+#endif
+#ifndef CplusplusFilt
+# define CplusplusFilt /opt/uxpcplus/bin/c++filt
+#endif
+#ifndef CplusplusDependIncludes
+# define CplusplusDependIncludes -I/opt/uxpcplus/include/CC
+#endif
+#ifndef LdCmd
+# define LdCmd /usr/ccs/bin/ld
+#endif
+#ifndef LexCmd
+# define LexCmd /usr/ccs/bin/lex
+#endif
+#ifndef YaccCmd
+# define YaccCmd /usr/ccs/bin/yacc
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define SystemV4 YES
+#define HasSockets YES
+#define DBMLibrary /* ndbm modules are in -lc */
+#define HasNdbm YES
+#ifndef HasLdRunPath
+#define HasLdRunPath YES
+#endif
+#define BuildServer NO
+
+#include <sv4Lib.rules>
+
+#endif
+
+#ifdef mc68000Architecture
+
+#define BootstrapCFlags -D__sxg__
+#define StandardDefines -D__sxg__ -DSYSV -DUSG -DNOSTDHDRS -I/usr/xwin/include
+#define StandardCppDefines -D__sxg__ -DSYSV -DUSG -DNOSTDHDRS -I/usr/xwin/include
+
+#define LnCmd ln
+
+#define DoRanlibCmd NO
+#define DefaultCCOptions +Z384
+#define ExtraLibraries -lXbsd -lsocket -lu
+#define TermcapLibrary -lcurses
+#define BuildServer NO
+#define HasSymLinks NO
+#define HasVFork NO
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+
+#endif
+
+#define GencatFlags -m
+
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP -DHAVE_PTMS
+#define DtSearchDefines -DI18N_MSG DtSvcDefines -DNEED_STRCASECMP
+#define DtWidgetDefines DtSearchDefines
+
+#define ArchitectureDefines -DUXP_ARCHITECTURE
+
+#define CdeProjectDefines \
+ -DMULTIBYTE -DNLS16 \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
diff --git a/nx-X11/config/cf/generic.cf b/nx-X11/config/cf/generic.cf
new file mode 100644
index 000000000..dd1cd10a7
--- /dev/null
+++ b/nx-X11/config/cf/generic.cf
@@ -0,0 +1,21 @@
+XCOMM platform: $Xorg: generic.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+#define OSName Unknown Operating System
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 0
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+
+#ifdef SYSV
+#define SystemV YES
+#endif
+#ifdef SVR4
+#define SystemV4 YES
+#endif
+
+#define BuildServer NO
diff --git a/nx-X11/config/cf/gnu.cf b/nx-X11/config/cf/gnu.cf
new file mode 100644
index 000000000..632c3a7fa
--- /dev/null
+++ b/nx-X11/config/cf/gnu.cf
@@ -0,0 +1,187 @@
+XCOMM platform: $XFree86: xc/config/cf/gnu.cf,v 1.12 2003/11/24 02:02:26 dawes Exp $
+XCOMM $XdotOrg: xc/config/cf/gnu.cf,v 1.3 2005/02/09 04:09:54 gisburn Exp $
+
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#define GNUSourceDefines -D_POSIX_C_SOURCE=199309L \
+ -D_POSIX_SOURCE -D_XOPEN_SOURCE \
+ -D_BSD_SOURCE -D_SVID_SOURCE
+
+XCOMM XXXMB: What about _GNU_SOURCE, see Linux/UseInstalled?
+
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
+
+#define HasPosixThreads YES
+#define ThreadedX YES
+#define HasThreadSafeAPI YES
+#define ThreadsLibraries -lpthread
+#define SystemMTDefines -D_REENTRANT
+
+#ifndef HasLibCrypt
+#define HasLibCrypt YES
+#endif
+
+#ifndef BuildXF86RushExt
+# define BuildXF86RushExt YES
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define HasDlopen YES
+#ifndef HasShadowPasswd
+# define HasShadowPasswd YES
+#endif
+#define HasPutenv YES
+
+XCOMM Not implemented and will always fail.
+#ifndef HasShm
+# define HasShm YES
+#endif
+
+#define HasBSD44Sockets YES
+#define HasSockets YES
+#define HasSnprintf YES
+#define HasMkstemp YES
+#define HasUsableFileMmap YES
+#ifndef HasNCurses
+#define HasNCurses YES
+#endif
+
+#define AvoidNullMakeCommand YES
+#ifndef DebuggableLibraries
+#define DebuggableLibraries NO
+#endif
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes NO
+#endif
+#define SetTtyGroup YES
+
+#ifndef UseStaticTermcapLib
+#define UseStaticTermcapLib NO
+#endif
+
+#define MkdirHierCmd mkdir -p
+#ifndef CcCmd
+#define CcCmd gcc
+#endif
+#ifndef AsCmd
+#define AsCmd as
+#endif
+#ifndef LdCmd
+#define LdCmd ld
+#endif
+
+#define AsmDefines -D__ELF__
+#define CplusplusCmd c++
+#ifndef TermcapLibrary
+#if UseStaticTermcapLib
+#define TermcapLibrary StaticLibrary(/usr/lib,ncurses)
+#else
+#define TermcapLibrary -lncurses
+#endif
+#endif
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#ifndef CppCmd
+#define CppCmd /lib/cpp
+#endif
+#define YaccCmd bison -y
+#define LexCmd flex -l
+#define HasFlex YES
+#define LexLib -lfl
+#define PreProcessCmd CcCmd -E
+#define PostIncDir DefaultGccIncludeDir
+#define LdCombineFlags -r
+#ifndef LdPostLib
+#define LdPostLib /* Never needed */
+#endif
+#define HasWChar32 YES
+#define StandardCppOptions -traditional
+#define StandardCppDefines StandardDefines
+
+#define HasVarRun YES
+#define VarDbDirectory $(VARDIR)/lib
+
+XCOMM i386Architecture
+#define OptimizedCDebugFlags DefaultGcc2i386Opt
+#define GNUMachineDefines -D__i386__
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#define HasPlugin YES
+#define VendorHasX11R6_3libXext YES
+
+#ifndef StandardDefines
+#define StandardDefines GNUMachineDefines GNUSourceDefines
+#endif
+
+#define DlLibrary -rdynamic -ldl
+
+#define ServerExtraSysLibs /**/
+
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
+
+/* Some of these man page defaults are overriden in the above OS sections */
+#ifndef ManSuffix
+# define ManSuffix 1x
+#endif
+#ifndef ManDir
+# define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+# define LibManSuffix 3x
+#endif
+#ifndef LibmanDir
+# define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+# define FileManSuffix 5x
+#endif
+#ifndef FileManDir
+# define FileManDir $(MANSOURCEPATH)5
+#endif
+
+#ifndef StaticLibrary
+#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
+#endif
+
+#define HasGnuMake YES
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#define ArchitectureDefines -DGNU_ARCHITECTURE
+
+#define XserverNeedsSetUID YES
+
+#include <gnuLib.rules>
+
+XCOMM XXX Might need this if they are not careful with slashes.
+XCOMM #define DirFailPrefix -
+
+#include <xorg.cf>
+
diff --git a/nx-X11/config/cf/gnuLib.rules b/nx-X11/config/cf/gnuLib.rules
new file mode 100644
index 000000000..10045500e
--- /dev/null
+++ b/nx-X11/config/cf/gnuLib.rules
@@ -0,0 +1,176 @@
+/*
+ * GNU/Hurd shared library rules
+ *
+ * $XFree86: xc/config/cf/gnuLib.rules,v 1.9 2003/10/11 09:40:13 herrb Exp $
+ */
+
+/*
+ * GNU/Hurd shared library rules
+ * Cloned from Linux (ELF) shared library rules
+ *
+ */
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib NO
+#endif
+
+XCOMM XXX To rpath or not to rpath...
+#ifndef UseRpath
+#define UseRpath NO
+#endif
+
+#ifndef SharedOldX
+#define SharedOldX NO
+#endif
+
+#undef SpecialMalloc
+#define SpecialMalloc NO
+
+#define BaseShLibReqs -lc
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <gnuLib.tmpl>
+#endif
+#ifndef RpathLoadFlags
+#if UseRpath
+#define RpathLoadFlags -Wl,-rpath=$(USRLIBDIRPATH)
+#else
+#define RpathLoadFlags /**/
+#endif
+#endif
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared LibraryRpathLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+#ifndef ExtraLoadFlags
+#ifdef UseInstalled
+XCOMM XXX Maybe superfluous.
+#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(USRLIBDIRPATH)
+#else
+#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(BUILDLIBDIR)
+#endif
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`;\
+ set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
+ @if $(SOSYMLINK); then (set -x; \
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff --git a/nx-X11/config/cf/gnuLib.tmpl b/nx-X11/config/cf/gnuLib.tmpl
new file mode 100644
index 000000000..012277c1d
--- /dev/null
+++ b/nx-X11/config/cf/gnuLib.tmpl
@@ -0,0 +1,28 @@
+XCOMM
+XCOMM GNU Hurd shared library template
+XCOMM
+XCOMM $XFree86: xc/config/cf/gnuLib.tmpl,v 1.5 2003/05/29 21:56:57 herrb Exp $
+XCOMM
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define SharedX11Reqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
diff --git a/nx-X11/config/cf/host.def b/nx-X11/config/cf/host.def
new file mode 100644
index 000000000..a201cfa9c
--- /dev/null
+++ b/nx-X11/config/cf/host.def
@@ -0,0 +1,1020 @@
+XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
+/******************************************************************************/
+/*
+ * This file is to provide a quick method for most people to change the
+ * behaviour of their Xorg installation without having to fully
+ * understand the workings of site.def and all the various '.cf' files.
+ *
+ * In the vast majority of cases, it should not be necessary to use this
+ * file at all or change it in any way.
+ *
+ * This file is divided into two sections. The first contains settings
+ * that end-users might reasonably change. The second contains settings
+ * that developers might want to change.
+ *
+ * IMPORTANT NOTE: In all cases changing the defaults may cause problems
+ * and/or unexpected side-effects. If you don't understand what a setting
+ * does, then it's best to not change it. If you make changes and have
+ * problems, verify that those problems are also present when using an
+ * empty host.def file and unchanged version of this file before reporting
+ * them.
+ *
+ * A good way to use this file is to copy it to host.def, and make the
+ * changes there. That way, future patches to this file won't fail.
+ * The host.def file will never be patched.
+ *
+ * The distributed version of this file MUST contain no uncommented
+ * definitions. Default definitions belong in xorg.cf, or <vendor>.cf
+ * files.
+ */
+/******************************************************************************/
+
+/**************************************************************************/
+/* */
+/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */
+/* */
+/* NX-X11, NX protocol compression and NX extensions to this software */
+/* are copyright of NoMachine. Redistribution and use of the present */
+/* software is allowed according to terms specified in the file LICENSE */
+/* which comes in the source distribution. */
+/* */
+/* Check http://www.nomachine.com/licensing.html for applicability. */
+/* */
+/* NX and NoMachine are trademarks of NoMachine S.r.l. */
+/* */
+/* All rights reserved. */
+/* */
+/**************************************************************************/
+
+#if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture)
+
+#if defined(SunArchitecture)
+#define ProjectRoot /usr/openwin
+#endif
+
+/*
+ * Enable use the Cygwin IPC libraries to get MIT-SHM support.
+ */
+#if defined(cygwinArchitecture)
+#define UseCygIPC YES
+#endif
+
+/*
+ * If you have build-specific modifications in your host.def file, but
+ * want an empty host.def file installed when doing 'make install',
+ * uncomment the following
+ *
+#define InstallEmptyHostDef
+ */
+
+/*
+ * Which servers to build. There is only Xorg server.
+ * It can be disabled by the following.
+ *
+#define XorgServer NO
+ */
+#define XorgServer NO
+
+/*
+ * To disable building the Xnest server, uncomment this.
+ *
+#define XnestServer NO
+ */
+#define XnestServer NO
+
+/*
+ * To disable building Xvfb, uncomment this.
+ *
+#define XVirtualFramebufferServer NO
+ */
+#define XVirtualFramebufferServer NO
+
+/*
+ * To enable building Xdmx, uncomment this.
+ *
+#define XdmxServer YES
+ */
+#define XdmxServer NO
+
+/*
+ * To disable building Xprt, uncomment this.
+ *
+#define XprtServer NO
+ */
+#define XprtServer NO
+
+/*
+ * Xprint is needed by Xprt. You can disable it if
+ * you are not going to build Xprt.
+ *
+#define BuildXprint NO
+ */
+#define BuildXprint NO
+
+/*
+ * Building libraries with NX enhancements is disabled
+ * by default. You should enable this in your host.def.
+ *
+#define NXLibraries YES
+ */
+#define NXLibraries YES
+
+/*
+ * Building the NX agent nested server is disabled
+ * by default. Enable this in your host.def.
+ *
+#define NXAgentServer YES
+ */
+#define NXAgentServer YES
+
+/*
+ * Assume the new build tree.
+ *
+#define NXUpgradeAgentServer NO
+ */
+#define NXUpgradeAgentServer YES
+
+#ifdef NXAgentServer
+#define BuildRenderLibrary YES
+#define SharedLibFreetype2 YES
+#define NormalLibFreetype2 YES
+#define FontLibSharedFreeType NO
+#endif
+
+/*
+ * Define this symbol to build the NX enhanced MS Windows
+ * X server for Cygnus environment.
+ *
+#define NXWinServer YES
+ */
+#if defined(cygwinArchitecture)
+#define NXWinServer NO
+#define XWinServer NO
+#endif
+
+/*
+ * Set the default server (ie the one that gets the sym-link to "X")
+ *
+#define ServerToInstall Xorg
+ */
+
+/*
+ * Force build of X libraries if any nested server is to be built.
+ *
+#define BuildLibraries YES
+ *
+ * If you just want libraries for NXAgentServer, this should be
+ * enough (never tested, although).
+ *
+#define BuildLibrariesForXServers YES
+ */
+#if XnestServer || NXAgentServer
+#define BuildLibraries YES
+#endif
+
+#define BuildDamageLibrary YES
+
+#define BuildXfixesLibrary YES
+
+#define BuildCompositeLibrary YES
+
+#define BuildRandRLibrary YES
+
+#define BuildDocs NO
+
+#define BuildComposite YES
+
+/*
+ * If you only run the X server under xdm the X servers don't need to be
+ * installed SetUID, and you may comment out the lines below. If you run
+ * the servers by hand (with xinit or startx), then they do need to be
+ * installed SetUID on most platforms.
+ *
+ * Consult your system administrator before making the X server setuid.
+ *
+#define InstallXserverSetUID NO
+ */
+
+
+/*
+ * Server configuration parameters. The defaults are shown here:
+ */
+
+/*
+ * Which drivers to build. When building a static server, each of these
+ * will be included in it. When building the loadable server each of these
+ * modules will be built.
+ *
+#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver fbdev i128 \
+ ati DevelDrivers ark cyrix \
+ siliconmotion \
+ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers
+ */
+
+/*
+ * To add third party drivers to the standard driver list, set the
+ * following.
+ *
+#define XF86ExtraCardDrivers extradriver1 extradriver2 ...
+ */
+
+/*
+ * Select the XInput devices you want by uncommenting this.
+ *
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magictouch aiptek
+ */
+
+/* To enable building of development DRI drivers (insecure, or not
+ * useful on the chosen architecture, uncomment this define.
+#define BuildDevelDRIDrivers YES
+ */
+
+/*
+ * To use the deprecated, old keyboard driver, uncomment this. But
+ * even better, make the new keyboard driver (hw/xfree86/input/keyboard)
+ * work for your architechture. The old driver will be removed in the
+ * next release.
+ *
+#define UseDeprecatedKeyboardDriver YES
+ */
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+/*
+ * To disable use of the Matrox HAL library, uncomment this:
+ *
+#define UseMatroxHal NO
+ */
+
+/*
+ * If you have the HALlib.a binary installed in xfree86/drivers/mga/HALlib,
+ * uncomment this:
+ *
+#define HaveMatroxHal YES
+ */
+
+/*
+ * If you have the HALlib source code installed in xfree86/drivers/mga/hallib,
+ * uncomment this:
+#define BuildMatroxHal YES
+ */
+
+/*
+ * To disable building the font server, uncomment this.
+ *
+#define BuildFontServer NO
+ */
+#define BuildFontServer NO
+
+/*
+ * Speedo fonts have been disabled by default in this release.
+ * To re-enable support for Speedo fonts, uncomment this.
+ *
+#define BuildSpeedo YES
+ */
+
+/*
+ * To disable support for CID fonts, uncomment this.
+ *
+#define BuildCID NO
+ */
+
+/*
+ * To disable support for TrueType fonts, uncomment these.
+ *
+#define BuildFreeType NO
+ */
+
+/*
+ * To set non-default build options for the underlying FreeType libraries,
+ * add them here and uncomment.
+ *
+#define Freetype2BuildDefines -DFREETYPE_BUILD_DEFINES
+ */
+
+/*
+ * To build the FreeType libraries with the TrueType byte code interpreter
+ * enabled, uncomment this. Note that there are patent issues related to the
+ * TrueType byte code interpreter, and we only recommend you enabling this
+ * if you are sure that there are no legal impediments to you doing so. See
+ * <http://www.freetype.org/patents.html> for further information.
+ *
+#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ */
+
+/*
+ * Do you want to Build Fonts (Usually you only want to build and install
+ * fonts once, if this is a first time install you will want to build the
+ * fonts)
+ *
+#define BuildFonts NO
+ */
+#define BuildFonts NO
+
+/*
+ * To not build/install the 75dpi fonts, uncomment the following
+ *
+#define Build75DpiFonts NO
+ */
+
+/*
+ * To not build/install the 100dpi fonts, uncomment the following
+ *
+#define Build100DpiFonts NO
+ */
+
+/*
+ * To build/install the Speedo fonts, uncomment the following
+ * (see setting above about Speedo support as well)
+ *
+#define BuildSpeedoFonts YES
+ */
+
+/*
+ * To not build/install the Type1 fonts, uncomment the following
+ *
+#define BuildType1Fonts NO
+ */
+
+/*
+ * To not build/install the CID fonts, uncomment the following
+ *
+#define BuildCIDFonts NO
+ */
+
+/*
+ * To not build/install the True Type fonts, uncomment the following
+ *
+#define BuildTrueTypeFonts NO
+ */
+
+/*
+ * To not build/install the Cyrillic fonts, uncomment the following
+ *
+#define BuildCyrillicFonts NO
+ */
+
+/*
+ * To not install the local font directory, uncomment the following
+ *
+#define MakeLocalFontDir NO
+ */
+
+/*
+ * Include True Type Fonts to default font path. It is safe to do
+ * this by default as NX intaller carries only misc and TTF in the
+ * basic set of fonts installed under Windows.
+ *
+#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
+ */
+
+#if defined(LinuxArchitecture) || defined(SunArchitecture) || defined(FreeBSDArchitecture)
+#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/,$(FONTDIR)/TTF/
+#endif /* #if defined(LinuxArchitecture) || defined(SunArchitecture) */
+
+#if defined(cygwinArchitecture)
+#define DefaultFontPath /mnt/NX/fonts/base/,/mnt/NX/fonts/misc/,/mnt/NX/fonts/Speedo/,/mnt/NX/fonts/Type1/,/mnt/NX/fonts/75dpi/,/mnt/NX/fonts/100dpi/,/mnt/NX/fonts/TTF/
+#define DefaultRGBDatabase /mnt/NX/fonts/rgb
+#endif /* #if defined(cygwinArchitecture) */
+
+/*
+ * To build only the servers with a cut-down source tree, uncomment
+ * this.
+ *
+#define BuildServersOnly YES
+ */
+#define BuildServersOnly YES
+
+/*
+ * By default, the sample config files for xinit, xdm and xfs are installed
+ * only when there is no pre-existing version installed. Uncommenting the
+ * following lines will force the sample versions to be installed even if
+ * it means over-writing existing versions.
+ *
+#define InstallXinitConfig YES
+#define InstallXdmConfig YES
+#define InstallFSConfig YES
+ */
+
+/*
+ * By default the application defaults files are always installed.
+ * Uncommenting the the following will prevent exising application
+ * defaults files from being over-written.
+ *
+#define InstallAppDefFiles NO
+ */
+
+/*
+ * Undefine the following if you don't want to have config files and
+ * app-defaults installed in a separate directory (i.e. /etc/X11).
+ *
+#define UseSeparateConfDir NO
+ */
+
+/*
+ * To enable building the glide driver, you need to define
+ * HasGlide2 to YES and set the Glide2IncDir variable.
+ * HasGlide2 is per default NO.
+ *
+#define HasGlide2 YES
+ */
+
+/*
+ * Set the path to your Glide include files.
+ *
+#define Glide2IncDir /usr/include/glide
+ */
+
+/*
+ * Have glide 3?
+ *
+#define HasGlide3 YES
+ */
+
+/*
+ * Set the path to your Glide 3 include files.
+ *
+#define Glide3IncDir /usr/include/glide3
+ */
+
+
+
+/*
+ * Unless you're a developer you shouldn't need to change anything
+ * beyond this point.
+ */
+
+/*
+ * If you want to enable some developer settings, like more verbose
+ * compiler warnings, uncomment this.
+ *
+#define XFree86Devel YES
+*/
+
+/*
+ * If using GCC 2.x on a system where it isn't the default, uncomment
+ * the following
+ *
+ */
+#if defined(SunArchitecture)
+#define HasGcc2 YES
+#define HasGcc YES
+#endif
+
+/*
+ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ * If you are building binaries for a 486, it may be beneficial to add
+ * -m486
+ *
+#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
+ */
+
+#if defined (LinuxArchitecture)
+#define DefaultGcc2i386Opt -g -O3
+#endif
+
+/*
+ * Enable all the optimizations on AMD64.
+ */
+
+#define DefaultGcc2AMD64Opt -g -O3 GccAliasingArgs
+
+/*
+ * This allows the GCC warning flags to be set. The default is shown here.
+ *
+#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs
+ */
+
+/*
+ * Sun Compiler stuff..
+ *
+#define HasSunC YES
+#define HasSunCplusplus YES
+#define CplusplusCompilerMajorVersion 5
+#define CplusplusCompilerMinorVersion 0
+#define CCompilerMajorVersion 5
+#define CCompilerMinorVersion 0
+ */
+
+/*
+ * Optimized Sun Compiler Build.
+ *
+#define DefaultCDebugFlags -xO4 -xtarget=pentium_pro
+#define OptimizedCDebugFlags -xO4 -xtarget=pentium_pro
+ */
+
+/*
+ * Debuggable Sun Compiler Build.
+ * Note: This builds _EVERYTHING_ as debuggable
+ *
+#define DefaultCDebugFlags -g -xs
+#define OptimizedCDebugFlags -g -xs
+ */
+
+/*
+ * For Linux, this should match the Binutils version you have. This example
+ * is for 2.6.0.7. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxBinUtilsMajorVersion 26
+ */
+
+/*
+ * For Linux, these should match the libc version you have. This example
+ * is for libc.5.4.x. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxCLibMajorVersion 5
+#define LinuxClibMinorVersion 4
+ */
+
+/*
+ * If you want to use the GNU malloc library, uncomment this
+ *
+#define UseGnuMalloc YES
+ */
+
+/*
+ * Set this to whatever is required to access the GNU malloc library.
+ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
+ *
+#define GnuMallocLibrary -L/usr/local/lib -lgmalloc
+ */
+
+/*
+ * To enable the internal Xserver malloc, uncomment this
+ *
+#define UseInternalMalloc YES
+ */
+
+/*
+ * Some Linux releases don't have a libtermcap. In this case you may need
+ * to uncomment the following
+ *
+#define TermcapLibrary -lncurses
+ */
+
+/*
+ * Build a server that dynamically loads the modules by setting
+ * this to YES. This defaults to YES on most platforms. A static server
+ * can be built by setting this to NO.
+ *
+#define DoLoadableServer NO
+ */
+
+/*
+ * This release defaults to building dlopen() style modules instead of the
+ * previously standard loader modules.
+ *
+ * Uncomment the following to return to the XFree86 custom loader modules.
+ *
+#define MakeDllModules NO
+ */
+
+/*
+ * Build XAA. This can be disabled with:
+ *
+#define XF86XAA NO
+ */
+
+/*
+ * Build vgahw. This can be disabled with:
+ *
+#define XF86VgaHw NO
+ */
+
+/*
+ * Build xf1bpp. This can be disabled with:
+ *
+#define XF1Bpp NO
+ */
+
+/*
+ * Build xf4bpp. This can be disabled with:
+ *
+#define XF4Bpp NO
+ */
+
+
+/*
+ * BSD Console driver support (for FreeBSD and NetBSD).
+ *
+ * By default, support is included for pccons and pcvt for NetBSD, and
+ * pccons, syscons and pcvt for FreeBSD.
+ *
+ * To change the list of supported drivers, set the following parameter.
+ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
+ * The following example includes support for syscons and pcvt only.
+ *
+#define XFree86ConsoleDefines -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+ */
+
+/*
+ * To link the X server with a dynamic version of the Xfont library,
+ * uncomment this.
+ *
+#define XserverStaticFontLib NO
+ */
+
+/*
+ * To enable binary compatibility with previous versions of the font
+ * encoding support, uncomment this.
+ *
+#define FontencCompatibility YES
+ */
+
+/*
+ * To disable building XInput support, uncomment this
+ *
+#define BuildXInputExt NO
+ */
+#if defined(SunArchitecture)
+#define BuildXInputExt YES
+#endif
+
+/*
+ * Uncomment this for joystick support.
+ *
+ * Note: Joystick support is broken, so don't enable this.
+ *
+#define JoystickSupport YES
+ */
+
+/*
+ * To disable the ScreenSaver Extension, uncomment this line.
+ *
+#define BuildScreenSaverExt NO
+ */
+#define BuildScreenSaverExt NO
+
+/*
+ * If you don't want to build Xinerama support, uncomment this.
+ *
+#define BuildXinerama NO
+ */
+#define BuildXinerama NO
+
+/*
+ * If you don't want to build support for the GLX extension, uncomment this.
+ *
+#define BuildGlxExt NO
+ */
+#define BuildGlxExt YES
+
+/*
+ * Taken from xorg.cf.
+ */
+
+#if defined(SparcArchitecture) \
+ || defined (Sparc64Architecture) \
+ || defined(ia64Architecture) \
+ || defined(s390xArchitecture) \
+ || defined(AMD64Architecture)
+#define GlxExtraDefines -D__GLX_ALIGN64
+#endif
+
+/*
+ * If you want to build the xf86rush extension, uncomment this line.
+ * This isn't recommended.
+ *
+#define BuildXF86RushExt YES
+ */
+#define BuildXF86RushExt NO
+
+/*
+ * If you want to build the client library for the xf86rush extension,
+ * uncomment this line. This isn't recommended.
+ *
+#define BuildXF86RushLibrary NO
+ */
+#define BuildXF86RushLibrary NO
+
+/*
+ * We should never need LBX in a NX enabled environment...
+ *
+#define BuildLBX NO
+ */
+#define BuildLBX NO
+
+#define BuildXKB YES
+#define BuildXKBlib YES
+
+#define SharedLibXau NO
+
+/*
+ * If you are running NetBSD 0.9C or later, and have the aperture driver
+ * installed, uncomment this.
+ *
+#define HasNetBSDApertureDriver YES
+ */
+
+/*
+ * If you are running SVR3 and have the mmap driver installed (for linear
+ * framebuffer access) uncomment this.
+ *
+#define HasSVR3mmapDrv YES
+ */
+
+/*
+ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
+ * you can uncomment this to have manual pages installed under their
+ * full names
+ *
+#define ExpandManNames YES
+ */
+
+/*
+ * For a POSIXized build on Interactive uncomment this
+ * Could be used with gcc 'till Version 2.6.3
+ * Should be used with gcc 2.7.2.
+ *
+#define UsePosix YES
+ */
+
+/*
+ * If you don't want XDMAUTH support (if you don't have Wraphelp.c),
+ * comment this out.
+ *
+ */
+#if defined(LinuxArchitecture)
+#define HasXdmAuth YES
+#endif /* #if defined(LinuxArchitecture) */
+
+/*
+ * If you have Linux DECnet support, and want to build XFree86 with support
+ * for connections over DECnet, uncomment this.
+ *
+#define HasDECnet YES
+ */
+
+/*
+ * To build static and shared libraries with debugging information, uncomment
+ * this. Assumes you have Gcc2.
+ * (If you don't have Gcc2, you can use the DebugLib{X11,Xt,Xaw,...} variables
+ * to build debugging versions of the libraries separately.)
+ *
+#define DebuggableLibraries YES
+*/
+#if defined(LinuxArchitecture)
+#define DebuggableLibraries YES
+#endif /* #if defined(LinuxArchitecture) */
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * uncomment this.
+ *
+#define ForceNormalLib YES
+ */
+
+/*
+ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
+ * not the Linux ELF versions.
+ *
+#define LinuxElfDefault NO
+ */
+
+/*
+ * To use ELF format shared libraries for supported OSs, uncomment this.
+ *
+ * For Linux the default setting of this is the same as the setting of
+ * LinuxElfDefault.
+ *
+ * For FreeBSD this should automatically be set correctly by imake. Only
+ * change it here if you need to override the automatic setting.
+ *
+#define UseElfFormat YES
+ */
+
+/*
+ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
+ * a.out compatibility libraries. To enable that, uncomment this.
+ *
+#define BuildAoutLibraries YES
+ */
+
+/*
+ * If you have trouble with make bombing out in Xlib, try uncommenting this.
+ * You will not get dependencies as a result, but better than nothing.
+ *
+#define MakeHashTableBug YES
+ */
+
+/*
+ * If you do not want your man pages compress under SVR3 systems that
+ * support it, uncomment this.
+ *
+#define CompressManPages NO
+ */
+
+/*
+ * If you have sgmlfmt (the XFree86 doctools package) and want to build
+ * formatted docs from the SGML source, uncomment this.
+ *
+#define HasSgmlFmt YES
+ */
+
+/*
+ * To disable building some document formats, uncomment some of these.
+ *
+#define BuildLinuxDocText NO
+#define BuildLinuxDocHtml NO
+#define BuildLinuxDocPS NO
+ */
+
+/*
+ * To install Japanese versions of the documentation uncomment this.
+ * Note: The Japanese documentation consists of a subset of the
+ * XFree86 3.1 docs.
+ *
+#define InstallJapaneseDocs YES
+ */
+
+/*
+ * To build/install X specs docs, uncomment the following.
+ * The SpecsDocDirs setting here is recommended because it covers
+ * the docs that XFree86 has changed or added.
+ *
+#define BuildSpecsDocs YES
+#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
+ */
+
+/*
+ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
+ * the following.
+ *
+#define BuildAllSpecsDocs YES
+ */
+
+/*
+ * If your system doesn't support vm86() mode and you have
+ * libx86emu set library path here
+ *
+#define X86EMU_LIBPATH /usr/local/lib
+ */
+
+/*
+ * Most platforms default to using an already installed FreeType 2 library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFreetype2 NO
+ */
+#define HasFreetype2 NO
+
+/*
+ * To use a FreeType library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+ *
+#define HasFreetype2 YES
+#define Freetype2Dir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Fontconfig library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFontconfig NO
+ */
+#define HasFontconfig NO
+
+/*
+ * To use a Fontconfig library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasFontconfig YES
+#define FontconfigDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Expat library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasExpat NO
+ */
+#define HasExpat NO
+
+/*
+ * To use a Expat library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasExpat YES
+#define ExpatDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed PNG library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasLibpng NO
+ */
+
+/*
+ * To use a PNG library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasLibpng YES
+#define LibpngDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed xterm program.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define BuildXterm YES
+ */
+
+#define SharedLibXau NO
+
+#define SharedLibXdmcp NO
+
+#define BuildXaw7 YES
+
+#else /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
+
+#if defined(DarwinArchitecture) && !defined(NXZaurusXServer) && !defined(NXiPAQXServer)
+#define NXDarwinServer NO
+#define BuildServersOnly YES
+#define DefaultFontPath /usr/NX/share/fonts/misc/,/usr/NX/share/fonts/TTF/
+#define DefaultRGBDatabase /usr/NX/share/rgb
+#define XprtServer NO
+#define BuildXprint NO
+#define XnestServer NO
+#define XVirtualFramebufferServer NO
+#define BuildFontServer NO
+#define BuildFreeType NO
+#define BuildXTrueType NO
+#define FontLibSharedFreeType NO
+#endif
+
+#if !defined(NXZaurusXServer) && defined(NXiPAQXServer)
+#define KDriveXServer YES
+#define XiPAQH3500Server YES
+#define BuildServersOnly YES
+#define NXEmbeddedXServer YES
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+#define TinyXServer YES
+#define CrossCompiling YES
+#define TouchScreen YES
+#define ItsyCompilerBug YES
+#undef BuildRandR
+#define BuildRandR YES
+#define BuildXInputLib YES
+#define BuildXTrueType YES
+#define ServerXdmcpDefines
+#define XipaqServer YES
+#endif
+
+#if !defined(NXiPAQXServer) && defined(NXZaurusXServer)
+#define KDriveXServer YES
+#define XiPAQH3500Server YES
+#define BuildServersOnly YES
+#define ZaurusXServer YES
+#define NXEmbeddedXServer YES
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+#define TinyXServer YES
+#define CrossCompiling YES
+#define TouchScreen YES
+#define ItsyCompilerBug YES
+#undef BuildRandR
+#define BuildRandR YES
+#define BuildXInputLib YES
+#define BuildXTrueType YES
+#define ServerXdmcpDefines
+#define XipaqServer YES
+#define XfbdevServer YES
+#endif
+
+#endif /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
diff --git a/nx-X11/config/cf/host.def.NX.original b/nx-X11/config/cf/host.def.NX.original
new file mode 100644
index 000000000..a201cfa9c
--- /dev/null
+++ b/nx-X11/config/cf/host.def.NX.original
@@ -0,0 +1,1020 @@
+XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
+/******************************************************************************/
+/*
+ * This file is to provide a quick method for most people to change the
+ * behaviour of their Xorg installation without having to fully
+ * understand the workings of site.def and all the various '.cf' files.
+ *
+ * In the vast majority of cases, it should not be necessary to use this
+ * file at all or change it in any way.
+ *
+ * This file is divided into two sections. The first contains settings
+ * that end-users might reasonably change. The second contains settings
+ * that developers might want to change.
+ *
+ * IMPORTANT NOTE: In all cases changing the defaults may cause problems
+ * and/or unexpected side-effects. If you don't understand what a setting
+ * does, then it's best to not change it. If you make changes and have
+ * problems, verify that those problems are also present when using an
+ * empty host.def file and unchanged version of this file before reporting
+ * them.
+ *
+ * A good way to use this file is to copy it to host.def, and make the
+ * changes there. That way, future patches to this file won't fail.
+ * The host.def file will never be patched.
+ *
+ * The distributed version of this file MUST contain no uncommented
+ * definitions. Default definitions belong in xorg.cf, or <vendor>.cf
+ * files.
+ */
+/******************************************************************************/
+
+/**************************************************************************/
+/* */
+/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */
+/* */
+/* NX-X11, NX protocol compression and NX extensions to this software */
+/* are copyright of NoMachine. Redistribution and use of the present */
+/* software is allowed according to terms specified in the file LICENSE */
+/* which comes in the source distribution. */
+/* */
+/* Check http://www.nomachine.com/licensing.html for applicability. */
+/* */
+/* NX and NoMachine are trademarks of NoMachine S.r.l. */
+/* */
+/* All rights reserved. */
+/* */
+/**************************************************************************/
+
+#if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture)
+
+#if defined(SunArchitecture)
+#define ProjectRoot /usr/openwin
+#endif
+
+/*
+ * Enable use the Cygwin IPC libraries to get MIT-SHM support.
+ */
+#if defined(cygwinArchitecture)
+#define UseCygIPC YES
+#endif
+
+/*
+ * If you have build-specific modifications in your host.def file, but
+ * want an empty host.def file installed when doing 'make install',
+ * uncomment the following
+ *
+#define InstallEmptyHostDef
+ */
+
+/*
+ * Which servers to build. There is only Xorg server.
+ * It can be disabled by the following.
+ *
+#define XorgServer NO
+ */
+#define XorgServer NO
+
+/*
+ * To disable building the Xnest server, uncomment this.
+ *
+#define XnestServer NO
+ */
+#define XnestServer NO
+
+/*
+ * To disable building Xvfb, uncomment this.
+ *
+#define XVirtualFramebufferServer NO
+ */
+#define XVirtualFramebufferServer NO
+
+/*
+ * To enable building Xdmx, uncomment this.
+ *
+#define XdmxServer YES
+ */
+#define XdmxServer NO
+
+/*
+ * To disable building Xprt, uncomment this.
+ *
+#define XprtServer NO
+ */
+#define XprtServer NO
+
+/*
+ * Xprint is needed by Xprt. You can disable it if
+ * you are not going to build Xprt.
+ *
+#define BuildXprint NO
+ */
+#define BuildXprint NO
+
+/*
+ * Building libraries with NX enhancements is disabled
+ * by default. You should enable this in your host.def.
+ *
+#define NXLibraries YES
+ */
+#define NXLibraries YES
+
+/*
+ * Building the NX agent nested server is disabled
+ * by default. Enable this in your host.def.
+ *
+#define NXAgentServer YES
+ */
+#define NXAgentServer YES
+
+/*
+ * Assume the new build tree.
+ *
+#define NXUpgradeAgentServer NO
+ */
+#define NXUpgradeAgentServer YES
+
+#ifdef NXAgentServer
+#define BuildRenderLibrary YES
+#define SharedLibFreetype2 YES
+#define NormalLibFreetype2 YES
+#define FontLibSharedFreeType NO
+#endif
+
+/*
+ * Define this symbol to build the NX enhanced MS Windows
+ * X server for Cygnus environment.
+ *
+#define NXWinServer YES
+ */
+#if defined(cygwinArchitecture)
+#define NXWinServer NO
+#define XWinServer NO
+#endif
+
+/*
+ * Set the default server (ie the one that gets the sym-link to "X")
+ *
+#define ServerToInstall Xorg
+ */
+
+/*
+ * Force build of X libraries if any nested server is to be built.
+ *
+#define BuildLibraries YES
+ *
+ * If you just want libraries for NXAgentServer, this should be
+ * enough (never tested, although).
+ *
+#define BuildLibrariesForXServers YES
+ */
+#if XnestServer || NXAgentServer
+#define BuildLibraries YES
+#endif
+
+#define BuildDamageLibrary YES
+
+#define BuildXfixesLibrary YES
+
+#define BuildCompositeLibrary YES
+
+#define BuildRandRLibrary YES
+
+#define BuildDocs NO
+
+#define BuildComposite YES
+
+/*
+ * If you only run the X server under xdm the X servers don't need to be
+ * installed SetUID, and you may comment out the lines below. If you run
+ * the servers by hand (with xinit or startx), then they do need to be
+ * installed SetUID on most platforms.
+ *
+ * Consult your system administrator before making the X server setuid.
+ *
+#define InstallXserverSetUID NO
+ */
+
+
+/*
+ * Server configuration parameters. The defaults are shown here:
+ */
+
+/*
+ * Which drivers to build. When building a static server, each of these
+ * will be included in it. When building the loadable server each of these
+ * modules will be built.
+ *
+#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver fbdev i128 \
+ ati DevelDrivers ark cyrix \
+ siliconmotion \
+ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers
+ */
+
+/*
+ * To add third party drivers to the standard driver list, set the
+ * following.
+ *
+#define XF86ExtraCardDrivers extradriver1 extradriver2 ...
+ */
+
+/*
+ * Select the XInput devices you want by uncommenting this.
+ *
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magictouch aiptek
+ */
+
+/* To enable building of development DRI drivers (insecure, or not
+ * useful on the chosen architecture, uncomment this define.
+#define BuildDevelDRIDrivers YES
+ */
+
+/*
+ * To use the deprecated, old keyboard driver, uncomment this. But
+ * even better, make the new keyboard driver (hw/xfree86/input/keyboard)
+ * work for your architechture. The old driver will be removed in the
+ * next release.
+ *
+#define UseDeprecatedKeyboardDriver YES
+ */
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+/*
+ * To disable use of the Matrox HAL library, uncomment this:
+ *
+#define UseMatroxHal NO
+ */
+
+/*
+ * If you have the HALlib.a binary installed in xfree86/drivers/mga/HALlib,
+ * uncomment this:
+ *
+#define HaveMatroxHal YES
+ */
+
+/*
+ * If you have the HALlib source code installed in xfree86/drivers/mga/hallib,
+ * uncomment this:
+#define BuildMatroxHal YES
+ */
+
+/*
+ * To disable building the font server, uncomment this.
+ *
+#define BuildFontServer NO
+ */
+#define BuildFontServer NO
+
+/*
+ * Speedo fonts have been disabled by default in this release.
+ * To re-enable support for Speedo fonts, uncomment this.
+ *
+#define BuildSpeedo YES
+ */
+
+/*
+ * To disable support for CID fonts, uncomment this.
+ *
+#define BuildCID NO
+ */
+
+/*
+ * To disable support for TrueType fonts, uncomment these.
+ *
+#define BuildFreeType NO
+ */
+
+/*
+ * To set non-default build options for the underlying FreeType libraries,
+ * add them here and uncomment.
+ *
+#define Freetype2BuildDefines -DFREETYPE_BUILD_DEFINES
+ */
+
+/*
+ * To build the FreeType libraries with the TrueType byte code interpreter
+ * enabled, uncomment this. Note that there are patent issues related to the
+ * TrueType byte code interpreter, and we only recommend you enabling this
+ * if you are sure that there are no legal impediments to you doing so. See
+ * <http://www.freetype.org/patents.html> for further information.
+ *
+#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ */
+
+/*
+ * Do you want to Build Fonts (Usually you only want to build and install
+ * fonts once, if this is a first time install you will want to build the
+ * fonts)
+ *
+#define BuildFonts NO
+ */
+#define BuildFonts NO
+
+/*
+ * To not build/install the 75dpi fonts, uncomment the following
+ *
+#define Build75DpiFonts NO
+ */
+
+/*
+ * To not build/install the 100dpi fonts, uncomment the following
+ *
+#define Build100DpiFonts NO
+ */
+
+/*
+ * To build/install the Speedo fonts, uncomment the following
+ * (see setting above about Speedo support as well)
+ *
+#define BuildSpeedoFonts YES
+ */
+
+/*
+ * To not build/install the Type1 fonts, uncomment the following
+ *
+#define BuildType1Fonts NO
+ */
+
+/*
+ * To not build/install the CID fonts, uncomment the following
+ *
+#define BuildCIDFonts NO
+ */
+
+/*
+ * To not build/install the True Type fonts, uncomment the following
+ *
+#define BuildTrueTypeFonts NO
+ */
+
+/*
+ * To not build/install the Cyrillic fonts, uncomment the following
+ *
+#define BuildCyrillicFonts NO
+ */
+
+/*
+ * To not install the local font directory, uncomment the following
+ *
+#define MakeLocalFontDir NO
+ */
+
+/*
+ * Include True Type Fonts to default font path. It is safe to do
+ * this by default as NX intaller carries only misc and TTF in the
+ * basic set of fonts installed under Windows.
+ *
+#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
+ */
+
+#if defined(LinuxArchitecture) || defined(SunArchitecture) || defined(FreeBSDArchitecture)
+#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Speedo/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/,$(FONTDIR)/TTF/
+#endif /* #if defined(LinuxArchitecture) || defined(SunArchitecture) */
+
+#if defined(cygwinArchitecture)
+#define DefaultFontPath /mnt/NX/fonts/base/,/mnt/NX/fonts/misc/,/mnt/NX/fonts/Speedo/,/mnt/NX/fonts/Type1/,/mnt/NX/fonts/75dpi/,/mnt/NX/fonts/100dpi/,/mnt/NX/fonts/TTF/
+#define DefaultRGBDatabase /mnt/NX/fonts/rgb
+#endif /* #if defined(cygwinArchitecture) */
+
+/*
+ * To build only the servers with a cut-down source tree, uncomment
+ * this.
+ *
+#define BuildServersOnly YES
+ */
+#define BuildServersOnly YES
+
+/*
+ * By default, the sample config files for xinit, xdm and xfs are installed
+ * only when there is no pre-existing version installed. Uncommenting the
+ * following lines will force the sample versions to be installed even if
+ * it means over-writing existing versions.
+ *
+#define InstallXinitConfig YES
+#define InstallXdmConfig YES
+#define InstallFSConfig YES
+ */
+
+/*
+ * By default the application defaults files are always installed.
+ * Uncommenting the the following will prevent exising application
+ * defaults files from being over-written.
+ *
+#define InstallAppDefFiles NO
+ */
+
+/*
+ * Undefine the following if you don't want to have config files and
+ * app-defaults installed in a separate directory (i.e. /etc/X11).
+ *
+#define UseSeparateConfDir NO
+ */
+
+/*
+ * To enable building the glide driver, you need to define
+ * HasGlide2 to YES and set the Glide2IncDir variable.
+ * HasGlide2 is per default NO.
+ *
+#define HasGlide2 YES
+ */
+
+/*
+ * Set the path to your Glide include files.
+ *
+#define Glide2IncDir /usr/include/glide
+ */
+
+/*
+ * Have glide 3?
+ *
+#define HasGlide3 YES
+ */
+
+/*
+ * Set the path to your Glide 3 include files.
+ *
+#define Glide3IncDir /usr/include/glide3
+ */
+
+
+
+/*
+ * Unless you're a developer you shouldn't need to change anything
+ * beyond this point.
+ */
+
+/*
+ * If you want to enable some developer settings, like more verbose
+ * compiler warnings, uncomment this.
+ *
+#define XFree86Devel YES
+*/
+
+/*
+ * If using GCC 2.x on a system where it isn't the default, uncomment
+ * the following
+ *
+ */
+#if defined(SunArchitecture)
+#define HasGcc2 YES
+#define HasGcc YES
+#endif
+
+/*
+ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ * If you are building binaries for a 486, it may be beneficial to add
+ * -m486
+ *
+#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
+ */
+
+#if defined (LinuxArchitecture)
+#define DefaultGcc2i386Opt -g -O3
+#endif
+
+/*
+ * Enable all the optimizations on AMD64.
+ */
+
+#define DefaultGcc2AMD64Opt -g -O3 GccAliasingArgs
+
+/*
+ * This allows the GCC warning flags to be set. The default is shown here.
+ *
+#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs
+ */
+
+/*
+ * Sun Compiler stuff..
+ *
+#define HasSunC YES
+#define HasSunCplusplus YES
+#define CplusplusCompilerMajorVersion 5
+#define CplusplusCompilerMinorVersion 0
+#define CCompilerMajorVersion 5
+#define CCompilerMinorVersion 0
+ */
+
+/*
+ * Optimized Sun Compiler Build.
+ *
+#define DefaultCDebugFlags -xO4 -xtarget=pentium_pro
+#define OptimizedCDebugFlags -xO4 -xtarget=pentium_pro
+ */
+
+/*
+ * Debuggable Sun Compiler Build.
+ * Note: This builds _EVERYTHING_ as debuggable
+ *
+#define DefaultCDebugFlags -g -xs
+#define OptimizedCDebugFlags -g -xs
+ */
+
+/*
+ * For Linux, this should match the Binutils version you have. This example
+ * is for 2.6.0.7. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxBinUtilsMajorVersion 26
+ */
+
+/*
+ * For Linux, these should match the libc version you have. This example
+ * is for libc.5.4.x. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxCLibMajorVersion 5
+#define LinuxClibMinorVersion 4
+ */
+
+/*
+ * If you want to use the GNU malloc library, uncomment this
+ *
+#define UseGnuMalloc YES
+ */
+
+/*
+ * Set this to whatever is required to access the GNU malloc library.
+ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
+ *
+#define GnuMallocLibrary -L/usr/local/lib -lgmalloc
+ */
+
+/*
+ * To enable the internal Xserver malloc, uncomment this
+ *
+#define UseInternalMalloc YES
+ */
+
+/*
+ * Some Linux releases don't have a libtermcap. In this case you may need
+ * to uncomment the following
+ *
+#define TermcapLibrary -lncurses
+ */
+
+/*
+ * Build a server that dynamically loads the modules by setting
+ * this to YES. This defaults to YES on most platforms. A static server
+ * can be built by setting this to NO.
+ *
+#define DoLoadableServer NO
+ */
+
+/*
+ * This release defaults to building dlopen() style modules instead of the
+ * previously standard loader modules.
+ *
+ * Uncomment the following to return to the XFree86 custom loader modules.
+ *
+#define MakeDllModules NO
+ */
+
+/*
+ * Build XAA. This can be disabled with:
+ *
+#define XF86XAA NO
+ */
+
+/*
+ * Build vgahw. This can be disabled with:
+ *
+#define XF86VgaHw NO
+ */
+
+/*
+ * Build xf1bpp. This can be disabled with:
+ *
+#define XF1Bpp NO
+ */
+
+/*
+ * Build xf4bpp. This can be disabled with:
+ *
+#define XF4Bpp NO
+ */
+
+
+/*
+ * BSD Console driver support (for FreeBSD and NetBSD).
+ *
+ * By default, support is included for pccons and pcvt for NetBSD, and
+ * pccons, syscons and pcvt for FreeBSD.
+ *
+ * To change the list of supported drivers, set the following parameter.
+ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
+ * The following example includes support for syscons and pcvt only.
+ *
+#define XFree86ConsoleDefines -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+ */
+
+/*
+ * To link the X server with a dynamic version of the Xfont library,
+ * uncomment this.
+ *
+#define XserverStaticFontLib NO
+ */
+
+/*
+ * To enable binary compatibility with previous versions of the font
+ * encoding support, uncomment this.
+ *
+#define FontencCompatibility YES
+ */
+
+/*
+ * To disable building XInput support, uncomment this
+ *
+#define BuildXInputExt NO
+ */
+#if defined(SunArchitecture)
+#define BuildXInputExt YES
+#endif
+
+/*
+ * Uncomment this for joystick support.
+ *
+ * Note: Joystick support is broken, so don't enable this.
+ *
+#define JoystickSupport YES
+ */
+
+/*
+ * To disable the ScreenSaver Extension, uncomment this line.
+ *
+#define BuildScreenSaverExt NO
+ */
+#define BuildScreenSaverExt NO
+
+/*
+ * If you don't want to build Xinerama support, uncomment this.
+ *
+#define BuildXinerama NO
+ */
+#define BuildXinerama NO
+
+/*
+ * If you don't want to build support for the GLX extension, uncomment this.
+ *
+#define BuildGlxExt NO
+ */
+#define BuildGlxExt YES
+
+/*
+ * Taken from xorg.cf.
+ */
+
+#if defined(SparcArchitecture) \
+ || defined (Sparc64Architecture) \
+ || defined(ia64Architecture) \
+ || defined(s390xArchitecture) \
+ || defined(AMD64Architecture)
+#define GlxExtraDefines -D__GLX_ALIGN64
+#endif
+
+/*
+ * If you want to build the xf86rush extension, uncomment this line.
+ * This isn't recommended.
+ *
+#define BuildXF86RushExt YES
+ */
+#define BuildXF86RushExt NO
+
+/*
+ * If you want to build the client library for the xf86rush extension,
+ * uncomment this line. This isn't recommended.
+ *
+#define BuildXF86RushLibrary NO
+ */
+#define BuildXF86RushLibrary NO
+
+/*
+ * We should never need LBX in a NX enabled environment...
+ *
+#define BuildLBX NO
+ */
+#define BuildLBX NO
+
+#define BuildXKB YES
+#define BuildXKBlib YES
+
+#define SharedLibXau NO
+
+/*
+ * If you are running NetBSD 0.9C or later, and have the aperture driver
+ * installed, uncomment this.
+ *
+#define HasNetBSDApertureDriver YES
+ */
+
+/*
+ * If you are running SVR3 and have the mmap driver installed (for linear
+ * framebuffer access) uncomment this.
+ *
+#define HasSVR3mmapDrv YES
+ */
+
+/*
+ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
+ * you can uncomment this to have manual pages installed under their
+ * full names
+ *
+#define ExpandManNames YES
+ */
+
+/*
+ * For a POSIXized build on Interactive uncomment this
+ * Could be used with gcc 'till Version 2.6.3
+ * Should be used with gcc 2.7.2.
+ *
+#define UsePosix YES
+ */
+
+/*
+ * If you don't want XDMAUTH support (if you don't have Wraphelp.c),
+ * comment this out.
+ *
+ */
+#if defined(LinuxArchitecture)
+#define HasXdmAuth YES
+#endif /* #if defined(LinuxArchitecture) */
+
+/*
+ * If you have Linux DECnet support, and want to build XFree86 with support
+ * for connections over DECnet, uncomment this.
+ *
+#define HasDECnet YES
+ */
+
+/*
+ * To build static and shared libraries with debugging information, uncomment
+ * this. Assumes you have Gcc2.
+ * (If you don't have Gcc2, you can use the DebugLib{X11,Xt,Xaw,...} variables
+ * to build debugging versions of the libraries separately.)
+ *
+#define DebuggableLibraries YES
+*/
+#if defined(LinuxArchitecture)
+#define DebuggableLibraries YES
+#endif /* #if defined(LinuxArchitecture) */
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * uncomment this.
+ *
+#define ForceNormalLib YES
+ */
+
+/*
+ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
+ * not the Linux ELF versions.
+ *
+#define LinuxElfDefault NO
+ */
+
+/*
+ * To use ELF format shared libraries for supported OSs, uncomment this.
+ *
+ * For Linux the default setting of this is the same as the setting of
+ * LinuxElfDefault.
+ *
+ * For FreeBSD this should automatically be set correctly by imake. Only
+ * change it here if you need to override the automatic setting.
+ *
+#define UseElfFormat YES
+ */
+
+/*
+ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
+ * a.out compatibility libraries. To enable that, uncomment this.
+ *
+#define BuildAoutLibraries YES
+ */
+
+/*
+ * If you have trouble with make bombing out in Xlib, try uncommenting this.
+ * You will not get dependencies as a result, but better than nothing.
+ *
+#define MakeHashTableBug YES
+ */
+
+/*
+ * If you do not want your man pages compress under SVR3 systems that
+ * support it, uncomment this.
+ *
+#define CompressManPages NO
+ */
+
+/*
+ * If you have sgmlfmt (the XFree86 doctools package) and want to build
+ * formatted docs from the SGML source, uncomment this.
+ *
+#define HasSgmlFmt YES
+ */
+
+/*
+ * To disable building some document formats, uncomment some of these.
+ *
+#define BuildLinuxDocText NO
+#define BuildLinuxDocHtml NO
+#define BuildLinuxDocPS NO
+ */
+
+/*
+ * To install Japanese versions of the documentation uncomment this.
+ * Note: The Japanese documentation consists of a subset of the
+ * XFree86 3.1 docs.
+ *
+#define InstallJapaneseDocs YES
+ */
+
+/*
+ * To build/install X specs docs, uncomment the following.
+ * The SpecsDocDirs setting here is recommended because it covers
+ * the docs that XFree86 has changed or added.
+ *
+#define BuildSpecsDocs YES
+#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
+ */
+
+/*
+ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
+ * the following.
+ *
+#define BuildAllSpecsDocs YES
+ */
+
+/*
+ * If your system doesn't support vm86() mode and you have
+ * libx86emu set library path here
+ *
+#define X86EMU_LIBPATH /usr/local/lib
+ */
+
+/*
+ * Most platforms default to using an already installed FreeType 2 library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFreetype2 NO
+ */
+#define HasFreetype2 NO
+
+/*
+ * To use a FreeType library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+ *
+#define HasFreetype2 YES
+#define Freetype2Dir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Fontconfig library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFontconfig NO
+ */
+#define HasFontconfig NO
+
+/*
+ * To use a Fontconfig library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasFontconfig YES
+#define FontconfigDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Expat library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasExpat NO
+ */
+#define HasExpat NO
+
+/*
+ * To use a Expat library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasExpat YES
+#define ExpatDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed PNG library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasLibpng NO
+ */
+
+/*
+ * To use a PNG library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasLibpng YES
+#define LibpngDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed xterm program.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define BuildXterm YES
+ */
+
+#define SharedLibXau NO
+
+#define SharedLibXdmcp NO
+
+#define BuildXaw7 YES
+
+#else /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
+
+#if defined(DarwinArchitecture) && !defined(NXZaurusXServer) && !defined(NXiPAQXServer)
+#define NXDarwinServer NO
+#define BuildServersOnly YES
+#define DefaultFontPath /usr/NX/share/fonts/misc/,/usr/NX/share/fonts/TTF/
+#define DefaultRGBDatabase /usr/NX/share/rgb
+#define XprtServer NO
+#define BuildXprint NO
+#define XnestServer NO
+#define XVirtualFramebufferServer NO
+#define BuildFontServer NO
+#define BuildFreeType NO
+#define BuildXTrueType NO
+#define FontLibSharedFreeType NO
+#endif
+
+#if !defined(NXZaurusXServer) && defined(NXiPAQXServer)
+#define KDriveXServer YES
+#define XiPAQH3500Server YES
+#define BuildServersOnly YES
+#define NXEmbeddedXServer YES
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+#define TinyXServer YES
+#define CrossCompiling YES
+#define TouchScreen YES
+#define ItsyCompilerBug YES
+#undef BuildRandR
+#define BuildRandR YES
+#define BuildXInputLib YES
+#define BuildXTrueType YES
+#define ServerXdmcpDefines
+#define XipaqServer YES
+#endif
+
+#if !defined(NXiPAQXServer) && defined(NXZaurusXServer)
+#define KDriveXServer YES
+#define XiPAQH3500Server YES
+#define BuildServersOnly YES
+#define ZaurusXServer YES
+#define NXEmbeddedXServer YES
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+#define TinyXServer YES
+#define CrossCompiling YES
+#define TouchScreen YES
+#define ItsyCompilerBug YES
+#undef BuildRandR
+#define BuildRandR YES
+#define BuildXInputLib YES
+#define BuildXTrueType YES
+#define ServerXdmcpDefines
+#define XipaqServer YES
+#define XfbdevServer YES
+#endif
+
+#endif /* #if !defined(NXZaurusXServer) && !defined(NXiPAQXServer) && !defined(DarwinArchitecture) */
diff --git a/nx-X11/config/cf/host.def.X.original b/nx-X11/config/cf/host.def.X.original
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/nx-X11/config/cf/host.def.X.original
diff --git a/nx-X11/config/cf/hp.cf b/nx-X11/config/cf/hp.cf
new file mode 100644
index 000000000..370476bd1
--- /dev/null
+++ b/nx-X11/config/cf/hp.cf
@@ -0,0 +1,210 @@
+XCOMM platform: $Xorg: hp.cf,v 1.5 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
+
+
+/* The default yacc options are too small for Uil.y. */
+#define YaccFlags -Nm15000
+
+/*
+ * C++ compiler setup. This file knows what options to use with
+ * certain compilers, including HP C++ and CenterLine C++.
+ *
+ * For HP C++, define HasHPCplusplus to YES in site.def.
+ * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def.
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ */
+
+#if HasHPCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions -Aa
+# endif
+# ifndef CplusplusOptions
+# define CplusplusOptions -Aa
+# endif
+# ifndef CplusplusCmd
+# define CplusplusCmd /opt/CC/bin/CC
+# endif
+# ifndef CplusplusDependIncludes
+# define CplusplusDependIncludes -I/opt/CC/include/CC
+# endif
+#endif
+
+#ifndef CcCmd
+# define CcCmd /opt/ansic/bin/cc
+#endif
+#ifndef YaccCmd
+# define YaccCmd /opt/langtools/bin/yacc
+#endif
+#ifndef LexCmd
+# define LexCmd /opt/langtools/bin/lex
+#endif
+#ifndef LintCmd
+# define LintCmd /opt/ansic/bin/lint
+#endif
+
+#if HasCenterLineCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# endif
+# ifndef OptimizedCplusplusDebugFlags
+# define OptimizedCplusplusDebugFlags -O
+# endif
+# ifndef CplusplusDependIncludes
+# define CplusplusDependIncludes -I/usr/local/CenterLine/clc++/pa-hpux8/incl
+# endif
+#endif
+
+
+#define SystemV YES
+#define Malloc0ReturnsNull YES
+#if OSMajorVersion > 9
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+#else
+# define AllocateLocalDefines -DNO_ALLOCA
+#endif
+
+#ifdef __hp9000s800
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags +O1
+# endif
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Ae +ESlit
+# endif
+# ifndef SharedLibraryCCOptions
+# define SharedLibraryCCOptions -Ae
+# endif
+# define StandardDefines -Dhpux -DSYSV
+# define ServerExtraDefines -DXOS -DBSTORE -DSOFTWARE_CURSOR -DSCREEN_PIXMAPS -DMERGE_SAVE_UNDERS -DHAS_IFREQ -DFORCE_SEPARATE_PRIVATE AllocateLocalDefines
+
+# if OSMajorVersion > 9
+# include <hpLib.rules>
+# endif
+
+#else /* __hp9000s800 */
+# define StandardDefines -Dhpux -DSYSV
+# if OSMajorVersion < 8
+# define DefaultCCOptions -Wc,-Nd4000,-Ns4100,-Ne700,-Np200,-Nw300
+# else
+# define OptimizedCDebugFlags +O1
+# endif
+# define LintOpts -ax -Nd4000 -Ns8000 -Ne700 -Np200 -Na25000
+#endif
+#define MvCmd mv -f
+#define LdCombineFlags -r
+#define ExecableScripts YES
+#define HasVFork YES
+#define HasPoll YES
+#define RemoveTargetProgramByMoving YES
+#define ExpandManNames YES
+#define HasPutenv YES
+#define HasNdbm YES
+#define DBMLibrary /usr/lib/libdbm.a
+#define PrimaryScreenResolution 91
+#define ExtensionOSDefines -DHPINPUT -DXTESTEXT1
+#define XhpServer YES
+#define ServerExtraSysLibs -ldld
+#ifndef BuildXInputExt
+# define BuildXInputExt YES
+#endif
+#define HPFastScrolling YES
+#ifndef BuildServer
+# define BuildServer __hp9000s700
+#endif
+#if OSMajorVersion < 10
+#define NeedBerklib (BuildServer|BuildFontServer)
+#endif
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+
+#if OSMajorVersion < 6 || (OSMajorVersion == 6 && OSMinorVersion < 2)
+# define ConnectionFlags -DTCPCONN /* no unix sockets */
+#endif
+
+#if OSMajorVersion > 8
+#define HasWChar32 YES
+#define HasPlugin YES
+#endif
+
+#ifdef __hp9000s300
+# ifndef CompatabilityDefines
+# define CompatabilityDefines -D__hp9000s300 -Dhp9000s300
+# endif
+#elif defined(__hp9000s700)
+# ifndef CompatabilityDefines
+# define CompatabilityDefines -D__hp9000s800 -Dhp9000s800 -D__hp9000s700
+# endif
+#else
+# ifndef CompatabilityDefines
+# define CompatabilityDefines -D__hp9000s800 -Dhp9000s800
+# endif
+#endif
+
+#ifndef OsDefines
+# if OSMajorVersion > 9
+# define OsDefines -DhpV4 -DHPUX
+# else
+# define OsDefines -DHPUX
+# endif
+#endif
+
+#if OSMajorVersion > 9
+# if ThreadedX
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+# endif
+# ifndef CppCmd
+# define CppCmd /usr/ccs/lbin/cpp
+# endif
+#endif
+
+/* CC does not recognize -Ae, and has a different meaning for +e. */
+/* +e also confuses cpp. */
+#define AnsiDefines -Ae -D_HPUX_SOURCE
+#define CplusplusAnsiDefines -Aa -D_HPUX_SOURCE
+
+#define BuildLibPathVar SHLIB_PATH
+
+#define CdeBaseProjectDefines \
+ -DNLS16 -DMALLOC_0_RETURNS_NULL -DMERGE -D__hpux \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion \
+ CompatabilityDefines OsDefines
+
+#define CdeProjectDefines CdeBaseProjectDefines AnsiDefines
+#define CdeCplusplusProjectDefines \
+ CdeBaseProjectDefines CplusplusAnsiDefines
+
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DMESSAGE_CAT
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+#if OSMajorVersion > 9
+#define DtMailDefines \
+ -DBIG_ENDIAN -DDO_ANONYMOUS_MAP -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS \
+ -DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/mail/%s\"
+#else
+#define DtMailDefines \
+ -DBIG_ENDIAN -DDO_ANONYMOUS_MAP -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS \
+ -DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/usr/mail/%s\"
+#endif
+
+#define ArchitectureDefines -DHP_ARCHITECTURE
+
+#define ExportListGenSource elistgen.hp
diff --git a/nx-X11/config/cf/hpLib.rules b/nx-X11/config/cf/hpLib.rules
new file mode 100644
index 000000000..4d68f13eb
--- /dev/null
+++ b/nx-X11/config/cf/hpLib.rules
@@ -0,0 +1,144 @@
+XCOMM $Xorg: hpLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+/*
+ * HP shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/hpLib.rules,v 3.3 1999/01/11 05:13:06 dawes Exp $
+
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+# define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+# define ShLibIncludeFile <hpLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -b
+#endif
+#ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags +z
+#endif
+#ifndef LargePositionIndependentCFlags
+# define LargePositionIndependentCFlags +Z
+#endif
+#ifndef InstLibFlags
+# define InstLibFlags -m 0555
+#endif
+#ifndef UseInstalled
+/* assert: LdPostLib pulls in -L$(USRLIBDIR), so it doesn't need to be here */
+# define ExtraLoadFlags -Wl,+s -Wl,+b$(USRLIBDIRPATH)
+#endif
+#ifndef UseExportLists
+# define UseExportLists YES
+#endif
+
+/* Pre-linking shared libraries is supported in HP/UX 10. */
+#if OSMajorVersion > 9
+# define HPRequiredLibs $(LDPRELIBS) $(REQUIREDLIBS) +s +b $(USRLIBDIRPATH)
+#else
+# define HPRequiredLibs $(REQUIREDLIBS)
+#endif
+
+#ifndef LinkWithExports
+# if UseExportLists
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs) @@\
+ if [ -f Concat(lib,libname.elist) ]; then \ @@\
+ RemoveFiles($@.exports $@.list); \ @@\
+ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
+ $(EXPORTLISTGEN) $@~ $@.list > $@.exports; \ @@\
+ (cd down; $(LD) -c up/$@.exports -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs); \ @@\
+ RemoveFiles($@.exports $@.list); \ @@\
+ fi
+# else
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) +h $@ solist HPRequiredLibs)
+# endif
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.sl.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ RMoveToBakFile(Concat($(DESTDIR)dest/lib,libname.sl.rev)) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.sl.rev) $(DESTDIR)dest @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.sl) @@\
+ cd $(DESTDIR)dest; $(LN) Concat(lib,libname.sl.rev) Concat(lib,libname.sl) @@\
+ -RemoveFile(Concat(lib,libname.sl.rev.bak))
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.sl.rev)) @@\
+ @@\
+Concat(lib,libname.sl.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ LinkWithExports(libname,rev,solist,down,up) @@\
+ -RemoveFiles($@ $@.bak) @@\
+ MoveToBakFile($@) @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.sl) @@\
+ $(LN) $@ Concat(lib,libname.sl) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.sl)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.sl.rev) Concat(lib,libname.sl)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.sl.rev)) @@\
+ @@\
+Concat(lib,libname.sl.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ LinkWithExports(libname,rev,solist,down,up) @@\
+ -RemoveFiles($@ $@.bak) @@\
+ MoveToBakFile($@) @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.sl) @@\
+ $(LN) $@ Concat(lib,libname.sl) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.sl)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.sl.rev) Concat(lib,libname.sl)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff --git a/nx-X11/config/cf/hpLib.tmpl b/nx-X11/config/cf/hpLib.tmpl
new file mode 100644
index 000000000..c955aaaab
--- /dev/null
+++ b/nx-X11/config/cf/hpLib.tmpl
@@ -0,0 +1,39 @@
+XCOMM $Xorg: hpLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM $XFree86$
+
+/*
+ * HP shared library template
+ */
+
+#define SharedThreadReqs /**/
+#define SharedOldXReqs $(XONLYLIB)
+#define SharedX11Reqs SharedThreadReqs
+#define SharedXtReqs $(XONLYLIB) $(SMLIB) $(ICELIB) SharedThreadReqs
+#define SharedXawReqs $(XMULIB) $(XTOOLLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(XONLYLIB)
+#define SharedXiReqs $(XLIB)
+#define SharedXtstReqs $(XLIB)
+#define SharedSMReqs $(ICELIB)
+#define SharedXpReqs $(XLIB)
+
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) SharedThreadReqs
+#define SharedXmReqs SharedXReqs
+#define SharedMrmReqs $(XMLIB) SharedXReqs
+#define SharedUilReqs $(MRESOURCELIB) $(XMLIB) SharedXReqs
+
+/* #define SharedPamReqs */
+#define SharedTtReqs $(XTOOLLIB) $(XLIB) SharedThreadReqs $(CXXLIB)
+#define SharedDtSvcReqs $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtMmdbReqs $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtSearchReqs -lm
+#define SharedDtWidgetReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtHelpReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
+#define SharedDtPrintReqs $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtTermReqs $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
+#define SharedDtMrmReqs $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lm
+#define SharedDtMailReqs $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedCsaReqs $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
diff --git a/nx-X11/config/cf/iPAQH3600.cf b/nx-X11/config/cf/iPAQH3600.cf
new file mode 100644
index 000000000..34e14c16d
--- /dev/null
+++ b/nx-X11/config/cf/iPAQH3600.cf
@@ -0,0 +1,109 @@
+/* $XFree86: xc/config/cf/iPAQH3600.cf,v 1.2 2000/10/10 14:05:48 tsi Exp $ */
+/*
+ * This configuration file contains additional configuration needed
+ * to cross compile X for the Compaq iPAQ H3600 PocketPC.
+ * To use this, add the following to host.def:
+ #define KDriveXServer YES
+ #define XiPAQH3500Server YES
+ */
+
+#define CrossCompiling YES
+
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+#define DoRanlibCmd YES
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+#undef XfbdevServer
+#define XfbdevServer YES
+#undef BuildXprint
+#define BuildLBX NO
+#define BuildFonts NO
+#define BuildAppgroup NO
+#define BuildRECORD NO
+#define BuildDBE NO
+#define BuildXCSecurity NO
+#define ItsyCompilerBug YES
+#define FontServerAccess NO
+#define ServerXdmcpDefines /**/
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ProjectRoot /usr/X11R6
+
+#define GzipFontCompression YES
+
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+
+#define HostLinkRule(target, flags, src, libs) cc -I$(BUILDINCDIR) -o target src
+
+/* ComplexHostProgramTarget - Compile a program such that we can run
+ * it on this host, i.e., don't use the default cross compiler.
+ */
+#ifndef ComplexHostProgramTarget
+#define ComplexHostProgramTarget(program) @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexHostProgramTarget */
+
+#ifndef SimpleHostProgramTarget
+#define SimpleHostProgramTarget(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* SimpleHostProgramTarget */
diff --git a/nx-X11/config/cf/iPAQH3600.cf.NX.original b/nx-X11/config/cf/iPAQH3600.cf.NX.original
new file mode 100644
index 000000000..34e14c16d
--- /dev/null
+++ b/nx-X11/config/cf/iPAQH3600.cf.NX.original
@@ -0,0 +1,109 @@
+/* $XFree86: xc/config/cf/iPAQH3600.cf,v 1.2 2000/10/10 14:05:48 tsi Exp $ */
+/*
+ * This configuration file contains additional configuration needed
+ * to cross compile X for the Compaq iPAQ H3600 PocketPC.
+ * To use this, add the following to host.def:
+ #define KDriveXServer YES
+ #define XiPAQH3500Server YES
+ */
+
+#define CrossCompiling YES
+
+#undef i386Architecture
+#define Arm32Architecture
+
+#undef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2
+#define ServerCDebugFlags -O2
+#undef StandardDefines
+#define StandardDefines -Dlinux -D__arm__ -D_POSIX_SOURCE \
+ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE
+#undef CcCmd
+#define StdIncDir /opt/Embedix/tools/arm-linux/include
+#define PreIncDir
+#undef PostIncDir
+#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
+#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
+#define DoRanlibCmd YES
+#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
+#undef ExtraLoadFlags
+#define ExtraLoadFlags
+#define FbNoPixelAddrCode
+#undef TermcapLibrary
+#define TermcapLibrary -ltermcap
+
+#undef LdPostLib
+#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
+
+#undef XfbdevServer
+#define XfbdevServer YES
+#undef BuildXprint
+#define BuildLBX NO
+#define BuildFonts NO
+#define BuildAppgroup NO
+#define BuildRECORD NO
+#define BuildDBE NO
+#define BuildXCSecurity NO
+#define ItsyCompilerBug YES
+#define FontServerAccess NO
+#define ServerXdmcpDefines /**/
+
+#undef ExtensionOSDefines
+#define ExtensionOSDefines
+
+#define ProjectRoot /usr/X11R6
+
+#define GzipFontCompression YES
+
+#define KdriveServerExtraDefines -DITSY -DMAXSCREENS=1
+
+#define HostLinkRule(target, flags, src, libs) cc -I$(BUILDINCDIR) -o target src
+
+/* ComplexHostProgramTarget - Compile a program such that we can run
+ * it on this host, i.e., don't use the default cross compiler.
+ */
+#ifndef ComplexHostProgramTarget
+#define ComplexHostProgramTarget(program) @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* ComplexHostProgramTarget */
+
+#ifndef SimpleHostProgramTarget
+#define SimpleHostProgramTarget(program) @@\
+ SRCS = program.c @@\
+ @@\
+ CC=cc @@\
+ STD_INCLUDES= @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+EXTRA_LOAD_FLAGS= @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: program.o $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),program.o,$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+LintTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+#endif /* SimpleHostProgramTarget */
diff --git a/nx-X11/config/cf/iPAQH3600.cf.X.original b/nx-X11/config/cf/iPAQH3600.cf.X.original
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/nx-X11/config/cf/iPAQH3600.cf.X.original
diff --git a/nx-X11/config/cf/ibm.cf b/nx-X11/config/cf/ibm.cf
new file mode 100644
index 000000000..decbc2223
--- /dev/null
+++ b/nx-X11/config/cf/ibm.cf
@@ -0,0 +1,198 @@
+XCOMM platform: $XdotOrg: xc/config/cf/ibm.cf,v 1.3 2004/08/30 13:32:51 kem Exp $
+XCOMM platform: $Xorg: ibm.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# ifdef DefaultOSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+# elif (OSMajorVersion == 4) && (OSMinorVersion == 1)
+# define OSTeenyVersion 3
+# else
+# define OSTeenyVersion 0
+# endif
+#endif
+XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion)
+
+#define RemoveFiles(files) for f in files; do RemoveFile($$f); done
+
+#if (OSMajorVersion > 4)
+# define HasSnprintf YES
+# define HasStrcasecmp YES
+#endif
+#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2)
+#define HasBSD44Sockets YES
+#define HasPutenv YES
+#define HasPlugin YES
+/*
+ * If you do not have threads support installed, put
+ * #define HasPosixThreads NO
+ * in the BeforeVendorCF section of your site.def.
+ */
+#if !defined(HasPosixThreads) && ((OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))) || (OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))) || (OSMajorVersion >= 5))
+#define HasPosixThreads YES
+#endif
+#if HasPosixThreads
+#ifndef ThreadedX
+#define ThreadedX YES
+#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+#endif
+#endif
+#endif /* OS > 3.2 */
+
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+
+#ifndef XVirtualFramebufferServer
+#define XVirtualFramebufferServer YES
+#endif
+
+#if !defined(TermcapLibrary)
+#define TermcapLibrary -lcurses
+#endif
+
+#if !defined(HasPam) && ((OSMajorVersion == 5) && (OSMinorVersion >= 2) || OSMajorVersion > 5)
+#define HasPam YES
+#ifndef PamLibraries
+#define PamLibraries -lpam
+#endif
+#endif
+
+/*
+ * For IBM platforms, we must define both the location of the compiler
+ * and the location of its standard C++ library. The library location
+ * is needed to resolve dependent library symbols if we build our own
+ * C++ shared libraries.
+ */
+
+#if !HasGcc2ForCplusplus
+# ifndef CplusplusCmd
+# if ThreadedX
+# define CplusplusCmd xlC_r
+# else
+# define CplusplusCmd xlC
+# endif
+# endif
+#endif
+
+#ifndef CplusplusFilt
+# define CplusplusFilt /usr/lpp/xlC/bin/c++filt
+#endif
+#ifndef CplusplusLibC
+# if ThreadedX
+# define CplusplusLibC /usr/lpp/xlC/lib/libC.a
+# else
+# define CplusplusLibC /usr/lpp/xlC/lib/libC_r.a
+# endif
+#endif
+#if !HasGcc2ForCplusplus
+# ifndef CplusplusDependIncludes
+# define CplusplusDependIncludes -I/usr/lpp/xlC/include
+# endif
+#endif
+
+/*
+ * IBM's xlC refuses to compile files unless their names end in ".C".
+ * As an alternative to this fix, one could edit /etc/xlC.cfg
+ * to change the suffix accepted by the compiler, but we prefer not
+ * requiring users to reconfigure their C++ compilers to make them work.
+ * We also have to override the default SUFFIXES to defeat the use of
+ * the builtin .C -> .o file, which doesn't use the right flags.
+ */
+
+.SUFFIXES:
+.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
+
+#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
+ $(CXX) -c $(CXXFLAGS) options $*.C
+
+#define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\
+baseobj.Osuf: basedep.CCsuf @@\
+ test -r basedep.C || $(LN) basedep.CCsuf basedep.C @@\
+ $(CXX) -c $(CXXFLAGS) options basedep.C
+
+
+#define BuildLibPathVar LIBPATH
+#define SystemV YES
+#define LdCombineFlags -r
+#define ExecableScripts YES
+#define Malloc0ReturnsNull YES
+#define CppCmd /usr/ccs/lib/cpp
+#define ExpandManNames YES
+#define ExtensionOSDefines -DXTESTEXT1
+
+/* IBM cpp has slightly non-standard line directives, but supports -P */
+#define CppNoLineInfoOption -P
+
+#if OSMajorVersion > 3
+#if OSMajorVersion > 4
+#define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -DAIXV5 -D_ALL_SOURCE
+#else
+#define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -D_ALL_SOURCE
+#endif
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+#define ServerExtraDefines -D_IBM_LFT
+#if ThreadedX
+#define CcCmd xlc_r
+#else
+#define CcCmd xlc
+#endif
+#define SystemMTDefines /* xlc_r defines -D_THREAD_SAFE */
+#define ThreadsLibraries -lpthreads /* xlc_r does -lc_r */
+#define ThreadsCplusplusLibraries -lpthreads
+#define AvoidNullMakeCommand YES
+#define NullMakeCommand @ echo
+/* AIX 4 appends all MAKEFLAGS (even dups), so cannot pass on command line. */
+#define ConstructMFLAGS NO
+#define LdPreLib _Use(-L$(USRLIBDIR),-L$(BUILDLIBDIR))
+#define ExtraFilesToClean *.inp
+#else /* OSMajorVersion < 4 */
+#define StandardDefines -DSYSV -DAIXV3 -D_ALL_SOURCE
+#define ServerExtraDefines -D_IBM_HFT
+#define CcCmd xlc
+#define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
+#define SystemMTDefines -D_THREAD_SAFE
+#define ThreadsLibraries -lpthreads -lc_r
+#endif /* OSMajorVersion */
+
+#define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */
+#define InstallCmd /usr/ucb/install
+#include <ibmLib.rules>
+
+#ifndef ManKeywordsTarget
+#define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ /usr/lib/makewhatis $(DESTDIR)manpath
+#endif
+
+#define DtMailDefines \
+ -DI_HAVE_NO_BOOL -DI_HAVE_SELECT_H \
+ -DBIG_ENDIAN -DSTRCASECMP_NOT_DEFINED -DDO_ANONYMOUS_MAP -DSENDMAIL_LOCKS \
+ -DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
+
+#define ArchitectureDefines -DIBM_ARCHITECTURE
+
+#define ExportListGenSource elistgen.ibm
+
+#define CdeProjectDefines \
+ -D_AIX -D__AIX -D__aix -D_aix -Daix -DMULTIBYTE -DNLS16 -DMESSAGE_CAT \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DAIX
+
+/*
+ * -D__STR31__ disables inlining of memcpy to work around optimization bug
+ * in XLC v1.2.0.7. Bug report filed as PMR 8X196, branch 060.
+ */
+#ifndef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O -D__STR31__ -DNDEBUG
+#endif
+
+#define CdeTicDefines -DHAS_KNL -DHAS_KTAB
diff --git a/nx-X11/config/cf/ibmLib.rules b/nx-X11/config/cf/ibmLib.rules
new file mode 100644
index 000000000..eb6071330
--- /dev/null
+++ b/nx-X11/config/cf/ibmLib.rules
@@ -0,0 +1,349 @@
+XCOMM $Xorg: ibmLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/ibmLib.rules,v 1.2 2004/04/23 18:41:58 eich Exp $
+
+/*
+ * AIX shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/ibmLib.rules,v 3.5 2000/02/13 06:15:18 dawes Exp $
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+# define ForceNormalLib NO
+#endif
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+# define SharedCodeDef -DSHAREDCODE
+#endif
+#if OSMajorVersion < 5
+# ifndef SharedLibraryDef
+# define SharedLibraryDef -DAIXSHLIB
+# endif
+#else
+# define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+# define ShLibIncludeFile <ibmLib.tmpl>
+#endif
+#ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags -bM\:SRE
+#endif
+#ifndef ExtraLoadFlags
+# define ExtraLoadFlags -bnodelcsect
+#endif
+#if !defined(LdPostLib) && !defined(UseInstalled) && OSMajorVersion > 3
+# if ThreadedX
+# define LdPostLib -bnoipath -blibpath:$(USRLIBDIRPATH):/usr/lib/threads:/usr/lib:/lib
+# else
+# define LdPostLib -bnoipath -blibpath:$(USRLIBDIRPATH):/usr/lib:/lib
+# endif
+# define SharedLibPostRef $(LDPOSTLIBS)
+#endif
+#ifndef SharedLibPostRef
+# define SharedLibPostRef $(LDPOSTLIBS)
+#endif
+#if ThreadedX
+# define BaseShLibReqs -lc_r -lm
+#else
+# define BaseShLibReqs -lc -lm
+#endif
+#ifndef UseExportLists
+# define UseExportLists YES
+#endif
+
+/*
+ * MakeExportList - generate an export list file for linking libraries.
+ */
+#ifndef MakeExportList
+# if UseExportLists
+# define MakeExportList(libname,result) \
+ @-RemoveFile(result) @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ echo "#! $@ ($${shr4obj:-shr.o})" > result @@\
+ if [ -f Concat(lib,libname.elist) ]; then \ @@\
+ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic > $@.list; \ @@\
+ $(EXPORTLISTGEN) $@~ $@.list >> result; \ @@\
+ RemoveFile($@.list); \ @@\
+ else \ @@\
+ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result; \ @@\
+ fi;
+# else
+# define MakeExportList(libname,result) \
+ @-RemoveFile(result) @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ echo "#! $@ ($${shr4obj:-shr.o})" > result @@\
+ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' >> result;
+# endif
+#endif /* MakeExportList */
+
+
+#if !defined(UseInstalled) && !defined(UseInstalledX11) \
+ && !defined(UseImports) && !defined(ImportX11)
+ /* we want this to be defined only when building X */
+
+# if OSMajorVersion < 5
+# if OSMajorVersion < 4
+/*
+ * SharedLibReferences - variables for shared libraries
+ */
+
+# ifndef SharedLibReferences
+# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+Concat3(DEP,varname,LIB) = /**/ @@\
+Concat(varname,LIB) = _Use(Concat(-l,libname),Concat(libsource/lib,libname.a)) @@\
+LintLibReferences(varname,libname,libsource)
+# endif
+
+# else /* OSMajorVersion < 4 */
+
+# ifndef SharedLibReferences
+# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+Concat3(DEP,varname,LIB) = /**/ @@\
+Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR),/libname.imp) Concat3($(BUILDLIBDIR),/lib,libname.a)) @@\
+LintLibReferences(varname,libname,libsource)
+# endif
+
+# endif
+# else /* OSMajorVersion < 5 */
+
+# ifndef SharedLibReferences
+# define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
+Concat3(DEP,varname,LIB) = /**/ @@\
+Concat(varname,LIB) = _Use(Concat(-l,libname), Concat3($(BUILDLIBDIR),/lib,libname.so)) @@\
+LintLibReferences(varname,libname,libsource)
+# endif
+
+# endif
+
+# if OSMajorVersion < 5
+# if OSMajorVersion < 4
+/*
+ * SharedFontLibReferences - shared font libraries
+ */
+
+# ifndef SharedFontLibReferences
+# define SharedFontLibReferences() @@\
+DEPFONTLIB = /**/ @@\
+FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(FONTLIBSRC)/libXfont.a) @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+# endif
+# else
+# ifndef SharedFontLibReferences
+# define SharedFontLibReferences() @@\
+DEPFONTLIB = /**/ @@\
+FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(BUILDLIBDIR)/font.imp) $(BUILDLIBDI)/libXfont.a)) @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+# endif
+# endif
+# else /* OSMajorVersion < 5 */
+# ifndef SharedFontLibReferences
+# define SharedFontLibReferences() @@\
+DEPFONTLIB = /**/ @@\
+FONTLIB = -L$(FREETYPELIBDIR) _Use(-lXfont,$(BUILDLIBDI)/libXfont.so)) @@\
+LintLibReferences(XFONT,Xfont,$(FONTLIBSRC))
+# endif
+
+# endif
+
+/*
+ * SharedDSLibReferences - variables for shared libraries
+ */
+# ifndef SharedDSLibReferences
+# define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\
+SharedLibReferences(varname,libname,libsource,revname,rev)
+# endif
+
+# if OSMajorVersion == 4
+/*
+ * UnsharedLibReferences - variables for unshared libraries
+ */
+# ifndef UnsharedLibReferences
+# define UnsharedLibReferences(varname,libname,libsource) @@\
+Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,$(BUILDLIBDIR)/lib,libname.a) @@\
+Concat(varname,LIB) = _Use(Concat(-l,libname),Concat($(BUILDLIBDIR)/lib,libname.a)) @@\
+LintLibReferences(varname,libname,libsource)
+# endif
+# endif
+
+#endif /* !defined(UseInstalled) && !defined(UseInstalledX11) ... */
+
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+# if OSMajorVersion < 5
+# define InstallSharedLibrary(libname,rev,dest) @@\
+InstallLibrary(libname,dest)
+# else /* OSMajorVersion < 5 */
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so) $(DESTDIR)dest
+# endif /* OSMajorVersion < 5 */
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that the we do not hose people by having
+ * the library gone for long periods.
+ *
+ * IBM uses an unusual shared object file name (shr4.o) in some libraries.
+ * Duplicate this behavior to preserve compatibility with IBM's libraries.
+ */
+#if OSMajorVersion < 5
+# if OSMajorVersion < 4
+
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.a)) @@\
+ @@\
+Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ shr.o shr4.o @@\
+ (cd down; $(AR) up/$@~ solist) @@\
+ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\
+ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef @@\
+ $(LN) shr.o shr4.o @@\
+ $(RM) $@~ @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
+ $(RM) $@.syms $@ shr.o shr4.o @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.a)
+# endif /* SharedLibraryTarget */
+
+# else /* OSMajorVersion < 4 */
+
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.a)) @@\
+ @@\
+Concat(lib,libname.a): solist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
+ RemoveFiles($@~ shr.o shr4.o) @@\
+ (cd down; $(AR) up/$@~ solist) @@\
+ MakeExportList(libname,libname.imp) @@\
+ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS) @@\
+ $(LN) shr.o shr4.o @@\
+ RemoveFile($@~) @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
+ RemoveFile($@) @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(libname.imp) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.a)
+# endif /* SharedLibraryTarget */
+# endif /* OSMajorVersion < 4 */
+#else /* OSMajorVersion < 5 */
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(AR) $*.a solist @@\
+ dump -g $*.a | sed -n -e 's/^[ ]*[0-9][0-9]*[[:space:]]*\([_[:alpha:]][[:alnum:]]*\)/\1/p' | egrep -v \\\. | sort | uniq > $*.syms @@\
+ $(LD) -bnoipath -bnoentry -bM\:SRE -bE\:$*.syms -o $@~ solist $(REQUIREDLIBS) BaseShLibReqs -lc @@\
+ $(RM) $@ $*.a $*.syms @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+# endif /* SharedLibraryTarget */
+#endif /* OSMajorVersion < 5 */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#if OSMajorVersion < 5
+# if OSMajorVersion < 4
+
+# ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.a)) @@\
+ @@\
+Concat(lib,libname.a): deplist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ shr.o shr4.o @@\
+ (cd down; $(AR) up/$@~ solist) @@\
+ dump -g $@~ | sed -n -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$$/\1/p' > $@.syms @@\
+ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:$@.syms $(REQUIREDLIBS) BaseShLibReqs SharedLibPostRef @@\
+ $(LN) shr.o shr4.o @@\
+ $(RM) $@~ @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
+ $(RM) $@.syms $@ shr.o shr4.o @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.a)
+# endif /* SharedDepLibraryTarget */
+
+# else /* OSMajorVersion < 4 */
+
+# ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.a)) @@\
+ @@\
+Concat(lib,libname.a): deplist $(UNSHAREDOBJS) $(EXTRALIBRARYDEPS) @@\
+ RemoveFiles($@~ shr.o shr4.o) @@\
+ (cd down; $(AR) up/$@~ solist) @@\
+ MakeExportList(libname,libname.imp) @@\
+ $(LD) -o shr.o $@~ -H512 -T512 -bM\:SRE -bE\:libname.imp -bnoentry $(REQUIREDLIBS) BaseShLibReqs $(LDPOSTLIBS) @@\
+ $(LN) shr.o shr4.o @@\
+ RemoveFile($@~) @@\
+ case ,$(SHR4OBJLIBS), in *,libname,*) shr4obj=shr4.o;; esac &&\ @@\
+ $(AR) $@~ $${shr4obj} shr.o $(UNSHAREDOBJS) @@\
+ RemoveFile($@) @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(libname.imp) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.a)
+# endif /* SharedDepLibraryTarget */
+
+# endif /* OSMajorVersion < 4 */
+#else /* OSMajorVersion < 5 */
+# ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(AR) $*.a solist @@\
+ dump -g $*.a | sed -n -e 's/^[ ]*[0-9][0-9]*[[:space:]]*\([_[:alpha:]][[:alnum:]]*\)/\1/p' | egrep -v \\\. | sort | uniq > $*.syms @@\
+ $(LD) -bnoipath -bnoentry -bsymbolic -bM\:SRE -bE\:$*.syms -o $@~ solist $(REQUIREDLIBS) BaseShLibReqs -lc @@\
+ $(RM) $@ $*.a $*.syms @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so) Concat(lib,libname.so)
+
+# endif /* SharedDepLibraryTarget */
+#endif /* OSMajorVersion < 5 */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff --git a/nx-X11/config/cf/ibmLib.tmpl b/nx-X11/config/cf/ibmLib.tmpl
new file mode 100644
index 000000000..ff196aa5d
--- /dev/null
+++ b/nx-X11/config/cf/ibmLib.tmpl
@@ -0,0 +1,96 @@
+XCOMM $Xorg: ibmLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/ibmLib.tmpl,v 1.6 2005/05/19 18:53:42 ajax Exp $
+
+/*
+ * AIX shared library template
+ */
+
+XCOMM $XFree86: xc/config/cf/ibmLib.tmpl,v 1.3tsi Exp $
+
+/*
+ * IBM used an unusual shared object file name in some libraries.
+ * Mimic this behavior to preserve compatibility with IBM's libraries.
+ */
+#ifndef IBMShr4Compatibility
+#define IBMShr4Compatibility YES
+#endif
+
+/*
+ * Imake thinks lines with colons are the result of a broken cpp
+ * inserting extra leading whitespace, so use ',' as a separator.
+ */
+#if IBMShr4Compatibility
+ SHR4OBJLIBS = X11,Xt,oldX,Xm,Mrm,Uil
+#endif
+
+#if ThreadedX
+#define SharedThreadReqs -lpthreads
+#define SharedX11Reqs -lpthreads
+#else
+#define SharedThreadReqs /**/
+#endif
+
+#define SharedXextReqs $(XONLYLIB)
+#define SharedXmuReqs $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(XLIBONLY)
+#define SharedOldXReqs $(XLIBONLY)
+#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB) SharedThreadReqs
+#define SharedXawReqs $(XMULIB) $(XTOOLLIB) $(EXTRAXAWREQS) $(XLIB) $(XPMLIB)
+#define SharedXaw7Reqs $(XMULIB) $(XTOOLLIB) $(XLIB) $(XPMLIB)
+#define SharedXaw6Reqs $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXiReqs $(XLIB)
+#define SharedXtstReqs $(XLIB)
+#define SharedXieReqs $(XONLYLIB)
+#define SharedSMReqs $(ICELIB)
+#define SharedXpReqs $(XLIB)
+#define SharedXpmReqs $(XLIB)
+#define SharedDPSReqs $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(DPSLIB) $(XTOOLLIB) $(XLIB)
+#define SharedXrenderReqs $(XLIB)
+#define SharedXrandrReqs $(XRENDERLIB) $(XLIB)
+#define SharedXcursorReqs $(XRENDERLIB) $(XLIB)
+#define SharedxkbfileReqs $(XLIBONLY)
+#define SharedxkbuiReqs $(XLIBONLY) $(XKBFILELIB)
+#define SharedFontencReqs $(BUILDLIBDIR)/libz.a
+#define SharedXfontcacheReqs $(XLIB)
+#define SharedXfontReqs stubs/libfntstubs.a $(FREETYPE2LIB)
+#define SharedXfixesReqs $(XONLYLIB)
+#define SharedXdamageReqs $(XONLYLIB)
+#define SharedXcompositeReqs $(XONLYLIB)
+#define SharedXevieReqs $(XONLYLIB) $(EXTENSIONLIB)
+
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) SharedThreadReqs
+#define SharedXmReqs $(LDPRELIBS) SharedXReqs
+#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs
+
+/* #define SharedPamReqs */
+#define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
+#define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) SharedXReqs $(CXXLIB)
+#define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs $(CXXLIB)
+#define SharedDtSearchReqs $(LDPRELIBS) -lisode
+#define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
+#define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs -liconv
+#define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) SharedXReqs
+#define SharedDtTermReqs $(LDPRELIBS) $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -liconv -lm
+#define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) SharedXReqs
+#define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
+
+#if !defined(UseInstalled) && !defined(UseInstalledX11) \
+ && !defined(UseImports) && !defined(ImportX11)
+ /* we want this to be defined only when building X */
+# ifndef FixupLibReferences
+# define FixupLibReferences() @@\
+DEPXTOOLLIB = _UseCat($(USRLIBDIR),$(TOOLKITSRC),/libXt.a)
+# endif
+#endif
+
+/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
+ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST
+
+ICONVSYSLIB = -liconv
+
+#if (OSMajorVersion > 4) || ((OSMajorVersion == 4) && (OSMinorVersion >= 2))
+DYNLIBSYSLIB = -ldl
+#endif
+
diff --git a/nx-X11/config/cf/isc.cf b/nx-X11/config/cf/isc.cf
new file mode 100644
index 000000000..b4078e4d1
--- /dev/null
+++ b/nx-X11/config/cf/isc.cf
@@ -0,0 +1,284 @@
+XCOMM $Xorg: isc.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/isc.cf,v 3.15 1999/07/10 12:17:09 dawes Exp $
+
+#ifndef HasGcc2
+#define HasGcc2 YES
+#endif
+
+/* INTERACTIVE UNIX SYSTEM (IUS) Version 3.x 4.x */
+
+#if IscVersion > 300
+# define ISCVerDef -DISC40 -DISC30
+# define OSVendor (IUS Version 4.x)
+#else
+# if IscVersion == 300
+# define ISCVerDef -DISC30
+# define OSVendor (ISC Version 3.0)
+# else
+# if IscVersion == 202
+# define OSVendor (ISC Version 2.0.2)
+# define ISCVerDef -DISC202
+# else
+# define OSVendor (ISC Version 2.2.1)
+# define ISCVerDef -DISC22
+# endif
+# endif
+#endif
+
+/* Disable the use of /var/X11 */
+#ifndef HasVarDirectory
+#define HasVarDirectory NO
+#endif
+
+/* Use mmap Driver */
+#ifndef HasSVR3mmapDrv
+# define HasSVR3mmapDrv YES
+#endif
+
+#ifndef BuildXF86DRI
+# define BuildXF86DRI NO
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+/*
+ * disable building DRI support into video drivers, which can be done
+ * even on platforms that don't have functional DRI support.
+ * maybe not on ISC ? (mr 28.06.1999)
+ */
+#ifndef BuildXF86DRIDriverSupport
+#define BuildXF86DRIDriverSupport NO
+#endif
+
+/* to use inline Math from linux ;-) package inline-math-2.6.tar.gz */
+/* you should first install the package, available on your favorite linux ftp */
+/* and define UseInlineMath YES inside host.def */
+#ifndef UseInlineMath
+# define UseInlineMath NO
+#endif
+
+/* You could use cbrt from liboptm.a (Interactive icc Compiler) */
+/* define to YES inside host.def */
+#ifndef HasCbrt
+# define HasCbrt NO
+#endif
+
+/* Use GNUs MallocLibrary */
+#ifndef UseGnuMalloc
+# define UseGnuMalloc NO
+#endif
+
+/* Install Zlib Headers - used in lib/zlib/Imakefile */
+#ifndef OsNeedZlibHeaders
+# define OsNeedZlibHeaders YES
+#endif
+
+/* Expand Manual Pages (needs S5L) */
+#ifndef ExpandManNames
+# define ExpandManNames NO
+#endif
+
+/* if you haven't groff or the TextProcessingWorkbench - do preformat*/
+#ifndef FormattedManPages
+# define FormattedManPages YES
+#endif
+
+#ifndef HasPosixRegex /* Need extra/regex since 3.9Ns */
+#define HasPosixRegex NO
+#endif
+
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+
+#ifndef CpuOption
+#define CpuOption -m486
+#endif
+
+/* gcc 2.7.2/2.8.1 tested Optimization Flags */
+#ifndef DefaultGcc2i386Opt
+#define DefaultGcc2i386Opt -O2 CpuOption -fno-strength-reduce GccWarningOptions
+#endif
+
+/* For a POSIXized build on Interactive maybe needed to use gcc2.7.2 */
+#ifndef UsePosix
+# define UsePosix YES
+#endif
+
+/* ISC 4.1Mu
+#define IscCompileVersion 410
+*/
+
+#if !defined(IscCompileVersion) && IscVersion < 410
+/* ISC 4.0 compatible */
+#define IscCompileVersion 400
+#endif
+
+#if IscCompileVersion == 400
+
+/* binaries which should run on ISC 4.0 or for the build on a real 4.0 System */
+# define UseChmod YES
+
+/* for compatibility with ISC 4.0 - reported by Ami Fischmann */
+/* troubles when linking with libX11.a build on ISC4.1 and used with 4.0 */
+# define HasSnprintf NO
+# define UseXwctomb YES
+
+#endif
+
+#if defined(UseXwctomb)
+# define XwctombDefine -DUSE_XMBTOWC
+#else
+# define XwctombDefine
+#endif
+
+#if defined(UseChmod)
+# define IscCompatDefines XwctombDefine -DUSE_CHMOD
+#else
+# define IscCompatDefines XwctombDefine
+#endif
+
+#ifdef UsePosix
+# define PosixDefines -posix -D_SYSV3 -D_POSIX_SOURCE
+#else
+# define PosixDefines
+#endif
+
+#define OSDefines -DISC ISCVerDef IscCompatDefines
+
+/*
+#define OSName Unix System V/386 Release 3.2
+#define OSMajorVersion 3
+#define OSMinorVersion 2
+*/
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef OSName
+#define OSName INTERACTIVE UNIX System V/386 Release 3.2
+#endif
+
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/* Note, cpp already does -Di386 */
+#define BootstrapCFlags OSDefines -DSYSV
+
+#if IscVersion > 202
+# define LocalLibraries -lpt
+# define PosixLibraries -lcposix
+#else
+# define LocalLibraries MallocLibrary -lpt
+# define PosixLibraries
+#endif
+
+#define SocketLibraries -linet
+
+#ifndef GnuMallocLibrary
+#ifndef UseIscLd
+# define GnuMallocLibrary -L/usr/local/lib -lgnumalloc
+#else
+# define GnuMallocLibrary /usr/local/lib/libgmalloc.a
+#endif
+#endif
+
+#ifndef MallocLibrary
+# if UseGnuMalloc
+# define MallocLibrary GnuMallocLibrary
+# else
+# define MallocLibrary -lmalloc
+# endif
+#endif
+
+#ifndef ExtraLibraries
+# if UseGnuMalloc
+# define ExtraLibraries SocketLibraries LocalLibraries MallocLibrary PosixLibraries
+# else
+# define ExtraLibraries SocketLibraries LocalLibraries PosixLibraries
+# endif
+#endif
+
+#if UseXwctomb
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#else
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+#if HasCbrt
+#define MathLibrary -loptm
+#endif
+
+#ifdef UseInlineMath
+#define InlineMathDefines -DUseInlineMath
+#if !HasCbrt
+#define ServerExtraSysLibs $(CBRT) MathLibrary
+#endif
+#else
+#define InlineMathDefines
+#endif
+
+#ifndef ServerExtraSysLibs
+#define ServerExtraSysLibs $(CBRT)
+#endif
+
+#define ServerExtraDefines SVR3mmapFlags XFree86ServerDefines
+
+#if IscVersion > 300
+# ifndef HasSymLinks
+# define HasSymLinks YES
+# endif
+#endif
+
+#define HasShm YES
+
+#ifndef HasSnprintf
+#define HasSnprintf YES
+#endif
+
+#ifndef HasLibCrypt
+#define HasLibCrypt YES
+#define SpecialLibCrypt -lcrypt
+#endif
+
+#ifndef DefaultCDebugFlags
+# if HasGcc2
+# define DefaultCDebugFlags DefaultGcc2i386Opt PosixDefines InlineMathDefines
+# else
+# define DefaultCDebugFlags -O PosixDefines InlineMathDefines
+# endif
+#endif
+
+#if HasGcc2
+# define CcCmd gcc
+#endif
+
+#ifndef DefaultCplusplusOptions
+#define DefaultCplusplusOptions -fno-implicit-templates
+#endif
+
+#ifndef ConnectionFlags
+#define ConnectionFlags -DLOCALCONN -DTCPCONN
+/* -DSTREAMSCONN -DUNIXCONN -- does not work on ISC SVR3 */
+#endif
+
+#define CompressManCmd $(COMPRESS) -v
+
+#define XmanSearchPath /usr/catman
+
+#ifndef RemoveDSDENroffMacros
+#define RemoveDSDENroffMacros YES
+#endif
+
+#include <svr3.cf>
+
diff --git a/nx-X11/config/cf/linux.cf b/nx-X11/config/cf/linux.cf
new file mode 100644
index 000000000..98981d7a7
--- /dev/null
+++ b/nx-X11/config/cf/linux.cf
@@ -0,0 +1,1076 @@
+XCOMM $XdotOrg: xc/config/cf/linux.cf,v 1.31 2005/10/21 19:10:27 ajax Exp $
+XCOMM platform: $Xorg: linux.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/linux.cf,v 3.220 2003/12/30 22:38:33 tsi Exp $
+
+#ifndef LinuxElfDefault
+# define LinuxElfDefault YES
+#endif
+
+#ifndef UseElfFormat
+# define UseElfFormat LinuxElfDefault
+#endif
+
+#ifndef OSBinaryType
+# if UseElfFormat
+# define OSBinaryType [ELF]
+# else
+# ifdef AlphaArchitecture
+# define OSBinaryType [ECOFF]
+# else
+# define OSBinaryType [a.out]
+# endif
+# endif
+#endif
+
+#ifndef OSName
+# define OSName DefaultOSName OSBinaryType
+#endif
+
+#ifndef OSVendor
+# define OSVendor /**/
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef LinuxDistribution
+# define LinuxDistribution DefaultLinuxDistribution
+/*
+ Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
+ Currently only LinuxSuSE, LinuxRedHat and LinuxDebian will be figured out
+ automatically.
+ Valid values are (from the list at www.linux.org in Oct. '97):
+ LinuxUnknown (0)
+ LinuxSuSE (1)
+ LinuxCaldera (2)
+ LinuxCraftworks (3)
+ LinuxDebian (4)
+ LinuxInfoMagic (5)
+ LinuxKheops (6)
+ LinuxPro (7)
+ LinuxRedHat (8)
+ LinuxSlackware (9)
+ LinuxTurbo (10)
+ LinuxWare (11)
+ LinuxYggdrasil (12)
+*/
+#endif
+#ifndef LinuxDistName
+# define LinuxDistName DefaultLinuxDistName
+#endif
+#ifndef LinuxCLibMajorVersion
+# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion
+#endif
+#ifndef LinuxCLibMinorVersion
+# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion
+#endif
+#ifndef LinuxCLibTeenyVersion
+# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion
+#endif
+
+#ifndef HasGhostScript
+# define HasGhostScript YES
+#endif
+#ifndef BuildPDFdocs
+# define BuildPDFdocs NO
+#endif
+
+#ifndef LinuxBinUtilsMajorVersion
+# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
+#endif
+
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
+XCOMM binutils: (LinuxBinUtilsMajorVersion)
+
+#if LinuxDistribution == LinuxDebian
+# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot
+# define SystemManDirectory /usr/share/man
+# endif
+# define HasPam YES
+/* un-comment this when it is un-broken */
+/* # define JoystickSupport YES */
+# if !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot
+# define XAppLoadDir EtcX11Directory/app-defaults
+# define XFileSearchPathDefault Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
+/* the relative symlink created by this rule causes problems for us */
+# if defined(InstallAppDefFiles) && InstallAppDefFiles
+# define InstallAppDefaultsLong(file,class) @@\
+InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+# else
+# define InstallAppDefaultsLong(file,class) @@\
+InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+# endif /* InstallAppDefFiles */
+# endif /* !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot */
+# define SharedLibXdmGreet NO
+# define LinkGLToUsrInclude NO
+# define LinkGLToUsrLib NO
+# define SharedLibFont NO
+# define SharedLibGlu YES
+# define NormalLibGlu YES
+# define FSUseSyslog YES
+
+# define BuildLibGlxWithoutPIC NO
+
+# define DriverManSuffix 4x
+# define DriverManDir $(MANSOURCEPATH)4
+
+# define MiscManSuffix 7x
+# define MiscManDir $(MANSOURCEPATH)7
+
+/*
+ *
+ *
+# define DebianMaintainer YES
+ *
+ *
+ */
+
+# ifdef DebianMaintainer
+# ifndef XorgCustomVersion
+# define XorgCustomVersion "Debian"
+# endif
+# ifndef BuilderEMailAddr
+# define BuilderEMailAddr "debian-x@lists.debian.org"
+# endif
+# define XFree86Devel YES
+# define BuildAllSpecsDocs YES
+# define InstallXinitConfig YES
+# define InstallXdmConfig YES
+# define InstallFSConfig YES
+# define DebuggableLibraries YES
+# define ForceNormalLib YES
+# define BuildSpecsDocs YES
+# define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xv i18n xterm
+# define BuildRman NO
+# define BuildHtmlManPages NO
+
+/* we build-depend on libfreetype6-dev (FreeType 2.x) */
+# define BuildFreetype2Library NO
+# define HasFreetype2 YES
+/* m68k has no 2.4 kernel yet */
+# ifndef Mc68020Architecture
+# define HasLinuxInput YES
+# endif
+# define HasXdmAuth YES
+# define HasLatex YES
+/* at present, glide2 only works on i386 */
+# if defined(__linux__) && defined(i386Architecture)
+# define HasGlide2 YES
+# define Glide2IncDir /usr/include/glide
+# endif /* __linux__ && i386Architecture */
+/* at present, glide3 only works on alpha, amd64, i386 and ia64 */
+# if defined(__linux__) && (defined(i386Architecture) || \
+ defined(AlphaArchitecture) || defined(ia64Architecture) || \
+ defined(AMD64Architecture))
+# define HasGlide3 YES
+# define Glide3IncDir /usr/include/glide3
+# endif /* __linux__ && (i386Architecture || AlphaArchitecture || \
+ ia64Architecture || AMD64Architecture) */
+/* extended instruction set support */
+# ifdef i386Architecture
+# define HasX86Support YES
+# define HasMMXSupport YES
+# define Has3DNowSupport YES
+/* 2.4 is not yet the official (or predominant) kernel in unstable */
+# define HasSSESupport NO
+# endif /* i386Architecture */
+# endif /* DebianMaintainer */
+#endif /* LinuxDebian */
+
+#if LinuxDistribution == LinuxRedHat
+#define FSUseSyslog YES
+#endif
+
+#ifndef HasDevRandom
+# define HasDevRandom YES
+# ifndef RandomDeviceName
+# define RandomDeviceName /dev/urandom
+# endif
+#endif
+
+/*
+ * The Linux BinUtils major version. 25 => 2.5.x, which is what is included
+ * with Slackware 3.0
+ *
+ * This remains for compatibility only.
+ *
+ */
+#ifndef BinUtilsMajorVersion
+# define BinUtilsMajorVersion LinuxBinUtilsMajorVersion
+#endif
+
+#if (LinuxCLibMajorVersion >= 6 || LinuxDistribution == LinuxSuSE)
+# define LinuxLocaleDefines /**/
+#else
+# define LinuxLocaleDefines -DX_LOCALE
+#endif
+
+#ifndef LinuxAdditionalIncludes
+# define LinuxAdditionalIncludes /**/
+#endif
+
+#ifndef LinuxGnuSourceDefines
+# ifdef UseInstalled
+# define LinuxGnuSourceDefines /**/
+# else
+# define LinuxGnuSourceDefines -D_GNU_SOURCE
+# endif
+#endif
+
+#if LinuxCLibMajorVersion >= 6
+# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \
+ -D_POSIX_SOURCE -D_XOPEN_SOURCE \
+ -D_BSD_SOURCE -D_SVID_SOURCE \
+ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+ LinuxAdditionalIncludes LinuxGnuSourceDefines \
+ LinuxLocaleDefines
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
+# define HasPosixThreads YES
+# define ThreadedX YES
+# define HasThreadSafeAPI YES
+# define ThreadsLibraries -lpthread
+# define SystemMTDefines -D_REENTRANT
+# ifndef HasLibCrypt
+# define HasLibCrypt YES
+# endif
+/* netscape wraps select but not poll as of communicator 4.72 */
+# ifndef HasPoll
+# define HasPoll NO
+# endif
+#else
+# define LinuxSourceDefines -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 \
+ -D_BSD_SOURCE -D_SVID_SOURCE \
+ LinuxGnuSourceDefines LinuxLocaleDefines
+# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+# ifndef HasLibCrypt
+# define HasLibCrypt NO
+# endif
+# ifndef HasBasename
+# define HasBasename NO
+# endif
+ /* Proliferation of C99isms makes -ansi unpalatable... */
+# if !defined(DefaultCCOptions) && !defined(UseInstalled) && HasGcc
+# define DefaultCCOptions GccWarningOptions
+# endif
+#endif
+
+#ifndef InstallXloadSetGID
+#define InstallXloadSetGID NO
+#endif
+
+/*
+ * XXX Check which versions of Linux really have IPv6. glibc 2.0 on
+ * Red Hat 5.2 doesn't.
+ */
+#if LinuxCLibMajorVersion < 6 || \
+ (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion == 0)
+#define BuildIPv6 NO
+#endif
+
+/* <linux/input.h> support mainly for USB support */
+#ifndef HasLinuxInput
+# if defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4))
+# define HasLinuxInput YES
+# else
+# define HasLinuxInput NO
+# endif
+#endif
+
+#ifndef JoystickSupport
+# define JoystickSupport NO /* joystick driver is broken */
+#endif
+
+/* <linux/joystick.h> appeared in 2.1.45 (officially) */
+#ifndef HasLinuxSupport
+# if defined(__linux__) && (JoystickSupport || \
+ (OSMajorVersion > 2) || \
+ ((OSMajorVersion == 2) && (OSMinorVersion > 1)) || \
+ ((OSMajorVersion == 2) && (OSMinorVersion == 1) && (OSTeenyVersion >= 45)))
+# define HasLinuxJoystick YES
+# else
+# define HasLinuxJoystick NO
+# endif
+#endif
+
+/* Libtool on linux always uses minor numbers */
+#define LibtoolMinorVersions YES
+
+/* On x86, determine whether to build with MTRR support */
+#ifndef HasMTRRSupport
+# if defined (i386Architecture) || defined (AMD64Architecture)
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || \
+ (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 99)
+# define HasMTRRSupport YES
+# else
+# define HasMTRRSupport NO
+# endif
+# else
+# define HasMTRRSupport NO /* no for non-ix86 */
+# endif
+#endif
+
+#ifndef XF86INT10_BUILD
+# if defined(__linux__) && defined(i386Architecture)
+# define XF86INT10_BUILD X86VM
+# elif defined(__linux__) && defined(AMD64Architecture)
+# define XF86INT10_BUILD X86EMU_OS
+# else
+# define XF86INT10_BUILD X86EMU_GENERIC
+# endif
+#endif
+
+/*
+ * Let the OS restore console fonts instead of the generic VGA
+ * layer. This exists for Linux only at the moment so put it
+ * here.
+ */
+#ifndef DoOSFontRestore
+# define DoOSFontRestore YES
+#endif
+
+/* Should we check the OS version to determine if the kernel supports it? */
+#if DoOSFontRestore
+# ifndef FontRestoreCheckOsVersion
+# define FontRestoreCheckOsVersion YES
+# endif
+#endif
+
+/* The DRM module requires kernel services that appeared in late 2.1.x
+ kernels and are known to be present in 2.2.x kernels. */
+#ifndef BuildXF86DRI
+# if defined(AlphaArchitecture)
+# define BuildXF86DRI YES
+# elif defined(Arm32Architecture)
+# define BuildXF86DRI NO
+# elif defined(HPArchitecture)
+# define BuildXF86DRI YES
+# elif defined(i386Architecture)
+# if (defined(__linux__) && (OSMajorVersion > 2 || (OSMajorVersion == 2 && \
+ OSMinorVersion >= 2))) || \
+ defined(__FreeBSD_kernel__)
+# define BuildXF86DRI YES
+# else
+# define BuildXF86DRI NO
+# endif
+# elif defined(ia64Architecture)
+# define BuildXF86DRI YES
+# elif defined(Mc68020Architecture)
+# define BuildXF86DRI NO
+# elif defined(MipsArchitecture)
+# define BuildXF86DRI NO
+# elif defined(PpcArchitecture)
+# define BuildXF86DRI YES
+# elif defined(Ppc64Architecture)
+# define BuildXF86DRI NO
+# elif defined(s390Architecture) || defined(s390xArchitecture)
+# define BuildXF86DRI NO
+# elif defined(SparcArchitecture)
+# define BuildXF86DRI YES
+# elif defined(SuperHArchitecture)
+# define BuildXF86DRI NO
+# elif defined(AMD64Architecture)
+# define BuildXF86DRI YES
+# else
+# define BuildXF86DRI NO
+# endif
+#endif
+
+/*
+ * Build shared libGL and the DRI modules without -fPIC on some architectures.
+ * This improves performance.
+ */
+#ifndef BuildLibGlxWithoutPIC
+# if BuildXF86DRI
+# if defined(i386Architecture)
+# define BuildLibGlxWithoutPIC YES
+# endif
+# endif
+#endif
+
+#ifndef HasAgpGart
+# if defined(i386Architecture) || defined(ia64Architecture) || defined(AMD64Architecture)
+ /* The AGPGART header file is included in os-support/linux, which
+ allows all drivers that depend on AGP to build properly. */
+# define HasAgpGart YES
+# else
+# define HasAgpGart NO
+# endif
+#endif
+
+/*
+ * Support for Intel's SSE Native Instructions, also known as the
+ * Streaming SIMD Extensions, was introduced in the 2.4.x kernels.
+ */
+#ifndef HasSSESupport
+# if defined(i386Architecture)
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 4)
+# define HasSSESupport YES
+# else
+# define HasSSESupport NO
+# endif
+# else
+# define HasSSESupport NO
+# endif
+#endif
+
+/*
+ * Support for MMX isn't present in the Assembler used in Red Hat 4.2, so
+ * don't enable it for libc5 as a reasonable default.
+ */
+#ifndef HasMMXSupport
+# if defined(i386Architecture)
+# if (LinuxCLibMajorVersion > 5)
+# define HasMMXSupport YES
+# else
+# define HasMMXSupport NO
+# endif
+# else
+# define HasMMXSupport NO
+# endif
+#endif
+
+/*
+ * Support for 3DNow isn't present in the Assembler used in Red Hat 4.2, so
+ * don't enable it for libc5 as a reasonable default.
+ *
+ * XXX This is preliminary.
+ */
+#ifndef Has3DNowSupport
+# if defined(i386Architecture)
+# if (LinuxCLibMajorVersion > 5)
+# define Has3DNowSupport YES
+# else
+# define Has3DNowSupport NO
+# endif
+# else
+# define Has3DNowSupport NO
+# endif
+#endif
+
+/*
+ * The Rush extension support.
+ */
+#ifndef BuildXF86RushExt
+# define BuildXF86RushExt YES
+#endif
+
+#if defined(__linux__) && !defined(LinuxFBDevSupport)
+# define LinuxFBDevSupport YES
+#endif
+
+/* For compatibility */
+#define SourceDefines LinuxSourceDefines
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#if UseElfFormat
+# ifndef HasDlopen
+# define HasDlopen YES
+# endif
+#endif
+#define HasWeakSymbols UseElfFormat
+#ifndef HasShadowPasswd
+# if UseElfFormat
+# define HasShadowPasswd YES
+# else
+# define HasShadowPasswd NO
+# endif
+#endif
+#define HasPutenv YES
+#ifndef HasShm
+# define HasShm YES
+#endif
+
+/* Use SecureRPC (used for SUN-DES-1 auth. and other goodies) when
+ * glibc has support for it */
+#ifndef HasSecureRPC
+# if !(LinuxCLibMajorVersion < 6 || \
+ (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 3))
+# define HasSecureRPC YES
+# endif
+#endif
+
+#define HasSockets YES
+#if UseElfFormat || defined(AlphaArchitecture)
+#ifndef HasSnprintf
+#define HasSnprintf YES
+#endif
+#define HasMkstemp YES
+#endif
+/* getresuid() appeared in 2.1.4, and getresgid in 2.1.44 */
+#if !defined(HasGetresuid) && \
+ (((OSMajorVersion*100000) + (OSMinorVersion*1000) + OSTeenyVersion) >= 201044)
+#define HasGetresuid YES
+#endif
+#if OSMajorVersion >= 2
+#define HasUsableFileMmap YES
+#endif
+#ifndef HasNCurses
+#define HasNCurses YES
+#endif
+
+#ifndef HasGroff
+#define HasGroff YES
+#endif
+
+#ifndef HasZlib
+#define HasZlib YES
+#endif
+
+#ifndef HasLibpng
+#define HasLibpng YES
+#endif
+
+#ifndef HasExpat
+# define HasExpat YES
+#endif
+
+#ifndef HasFreetype2
+# define HasFreetype2 YES
+#endif
+
+#define AvoidNullMakeCommand YES
+#ifndef DebuggableLibraries
+#define DebuggableLibraries NO
+#endif
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes NO
+#endif
+#define SetTtyGroup YES
+
+#ifndef UseStaticTermcapLib
+#define UseStaticTermcapLib NO
+#endif
+
+#ifndef HasCookieMaker
+#define HasCookieMaker YES
+#define MkCookieCmd mcookie
+#endif
+
+#ifndef BourneShell
+/*
+ * This will cause builds/installs to terminate on errors, as on other
+ * platforms.
+ */
+#define BourneShell /bin/sh -e
+#endif
+
+#define MkdirHierCmd mkdir -p
+
+#ifndef HaveLib64
+# if defined (AMD64Architecture) || defined (s390xArchitecture) || defined (Ppc64Architecture)
+# define HaveLib64 YES
+# else
+# define HaveLib64 NO
+# endif
+#endif
+
+#if UseElfFormat
+# ifndef DoLoadableServer
+# if defined(MipsArchitecture) || defined(SuperHArchitecture)
+# define DoLoadableServer NO
+# else
+# define DoLoadableServer YES
+# endif
+# endif
+#endif
+
+
+#if LinuxElfDefault
+# if UseElfFormat
+# ifdef MipsArchitecture
+# ifndef AsCmd
+# define AsCmd gcc -c -x assembler-with-cpp
+# endif
+# ifndef MakeDllModules
+# define MakeDllModules YES
+# endif
+# endif /* MipsArchitecure */
+# if defined (i386Architecture) && ((GccMajorVersion >3) \
+ || ((GccMajorVersion == 3) && (GccMinorVersion >= 1)))
+# ifndef CcCmd
+# define CcCmd gcc -m32
+# endif
+# ifndef CplusplusCmd
+# define CplusplusCmd c++ -m32
+# endif
+# endif
+# if defined (Ppc64Architecture)
+# ifndef CcCmd
+# define CcCmd gcc -m64
+# endif
+# ifndef CplusplusCmd
+# define CplusplusCmd c++ -m64
+# endif
+# endif
+# ifndef CcCmd
+# define CcCmd gcc
+# define CplusplusCmd c++
+# endif
+# ifndef AsCmd
+# define AsCmd CcCmd -c -x assembler
+# endif
+# define AsmDefines -D__ELF__
+# ifndef LdCmd
+# define LdCmd CcCmd -nostdlib
+# endif
+# ifndef LinuxUsesNcurses
+# if LinuxCLibMajorVersion >= 6 || (LinuxDistribution == LinuxSuSE)
+# define LinuxUsesNcurses YES
+# else
+# define LinuxUsesNcurses NO
+# endif
+# endif
+# ifndef TermcapLibrary
+# if UseStaticTermcapLib
+# if LinuxUsesNcurses
+# if !HaveLib64
+# define TermcapLibrary StaticLibrary(/usr/lib,ncurses)
+# else
+# define TermcapLibrary StaticLibrary(/usr/lib64,ncurses)
+# endif
+# else
+# if !HaveLib64
+# define TermcapLibrary StaticLibrary(/usr/lib/termcap,termcap)
+# else
+# define TermcapLibrary StaticLibrary(/usr/lib64/termcap,termcap)
+# endif
+# endif
+# else
+# if LinuxUsesNcurses
+# define TermcapLibrary -lncurses
+# else
+# define TermcapLibrary -ltermcap
+# endif
+# endif
+# endif
+# else /* UseElfFormat */
+# ifdef AlphaArchitecture
+# define CcCmd gcc -b alpha-linuxecoff
+# define CplusplusCmd g++ -b alpha-linuxecoff
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib -Wl,"-m alpha"
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* AlphaArchitecture */
+# ifdef HPArchitecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* HPArchitecture */
+# ifdef i386Architecture
+# define CcCmd gcc -b i486-linuxaout
+# define CplusplusCmd g++ -b i486-linuxaout
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib -Wl,"-m i386linux"
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* i386Architecture */
+# ifdef ia64Architecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* ia64Architecture */
+# ifdef Mc68020Architecture
+# define CcCmd gcc -b m68k-linuxaout
+# define CplusplusCmd g++ -b m68k-linuxaout
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib -Wl,"-m m68klinux"
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* Mc68020Architecture */
+# ifdef AMD64Architecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -DUSE_GAS -U__ELF__
+# endif /* AMD64Architecture */
+# endif /* UseElfFormat */
+#else
+# if UseElfFormat
+# ifdef AlphaArchitecture
+# define CcCmd gcc -b alpha-linux
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib -Wl,"-m elf64alpha"
+# define AsmDefines -D__ELF__
+# define CplusplusCmd c++ -b alpha-linux
+# endif /* AlphaArchitecture */
+# ifdef HPArchitecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -D__ELF__
+# define SharedLibXau YES
+# endif /* HPArchitecture */
+# ifdef i386Architecture
+# define CcCmd gcc -b i486-linux
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nosdlib -Wl,"-m elf_i386"
+# define AsmDefines -D__ELF__
+# define CplusplusCmd c++ -b i486-linux
+# endif /* i386Architecture */
+# ifdef ia64Architecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -D__ELF__
+# endif /* ia64Architecture */
+# ifdef Mc68020Architecture
+# define CcCmd gcc -b m68k-linux
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib -W,l"-m m68kelf"
+# define AsmDefines -D__ELF__
+# define CplusplusCmd c++ -b m68k-linux
+# endif /* Mc68020Architecture */
+# ifdef AMD64Architecture
+# define CcCmd gcc
+# define CplusplusCmd g++
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -D__ELF__
+# endif /* AMD64Architecture */
+# else
+# define CcCmd gcc
+# define AsCmd CcCmd -c -x assembler
+# define LdCmd CcCmd -nostdlib
+# define AsmDefines -DUSE_GAS
+# endif
+#endif
+
+/*
+ * Some older distros still need /lib/cpp. There's probably a better
+ * test, but this handles the older Red Hat releases at least.
+ */
+#ifndef CppCmd
+# if (LinuxDistribution == LinuxRedHat) && \
+ ((LinuxCLibMajorVersion < 6) || \
+ (LinuxCLibMajorVersion == 6 && LinuxCLibMinorVersion < 1))
+# define CppCmd /lib/cpp
+# else
+# define CppCmd cpp
+# endif
+#endif
+
+/* Some Linux distributions have yacc, some don't. All have bison. */
+#define YaccCmd bison -y
+#define LexCmd flex -l
+#define HasFlex YES
+#define LexLib -lfl
+#define PreProcessCmd CcCmd -E
+#define PostIncDir DefaultGccIncludeDir
+#define LdCombineFlags -r
+#ifndef LdPostLib
+# define LdPostLib /* Never needed */
+#endif
+#define HasWChar32 YES
+#define StandardCppOptions -traditional
+#define StandardCppDefines StandardDefines
+
+#define HasVarRun YES
+#ifndef VarDbDirectory
+# define VarDbDirectory $(VARDIR)/lib
+#endif
+
+#ifndef XF86OSCardDrivers
+# ifdef __linux__
+# define XF86OSCardDrivers fbdev v4l sisusb
+# else
+# define XF86OSCardDrivers /**/
+# endif
+#endif
+
+#ifndef OSXInputDrivers
+# if HasLinuxJoystick
+# define OSXInputDrivers1 ur98
+# else
+# define OSXInputDrivers1 /**/
+# endif
+# if HasLinuxInput
+# define OSXInputDrivers2 aiptek evdev
+# else
+# define OSXInputDrivers2 /**/
+# endif
+# define OSXInputDrivers OSXInputDrivers1 OSXInputDrivers2
+#endif
+
+#if UseElfFormat
+# define HasPlugin YES
+# define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */
+#endif
+
+#ifdef AlphaArchitecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2AxpOpt
+# endif
+# define LinuxMachineDefines -D__alpha__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT
+# ifdef UseCompaqMathLibrary
+# define MathLibrary -lcpml -lm
+# endif
+#endif /* AlphaArchitecture */
+
+#ifdef Arm32Architecture
+# define DefaultCCOptions
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O3
+# endif
+# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* Arm32Achitecture */
+
+#ifdef HPArchitecture
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# define LinuxMachineDefines -D__hppa__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif
+
+#ifdef i386Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# endif
+# define LinuxMachineDefines -D__i386__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* i386Architecture */
+
+#ifdef ia64Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__ia64__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* ia64Architecture */
+
+#ifdef Mc68020Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__mc68000__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* Mc68020Architecture */
+
+#ifdef MipsArchitecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2MipsOpt
+# endif
+# define LinuxMachineDefines -D__mips__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif
+
+#ifdef Ppc64Architecture
+# define DefaultCCOptions -mminimal-toc
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2Ppc64Opt
+# endif
+# define LinuxMachineDefines -D__powerpc64__ -D__powerpc__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* Ppc64Architecture */
+
+#ifdef PpcArchitecture
+# define DefaultCCOptions
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2PpcOpt
+# endif
+# define LinuxMachineDefines -D__powerpc__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* PpcArchitecture */
+
+#ifdef s390Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 -fomit-frame-pointer GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__s390__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* s390Architecture */
+
+#ifdef s390xArchitecture
+/*#define DefaultCCOptions -fsigned-char */
+#define OptimizedCDebugFlags -O3 -fomit-frame-pointer
+#define LinuxMachineDefines -D__s390x__
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* s390xArchitecture */
+
+#ifdef SparcArchitecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__sparc__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+# define AsVISOption -Av9a
+# ifdef Sparc64Architecture
+# define AsOutputArchSize 64
+# else
+# define AsOutputArchSize 32
+# endif
+#endif
+
+#ifdef SuperHArchitecture
+# ifndef SuperHArchOptFlags
+# ifdef SuperH4Architecture
+# define SuperHArchOptFlags -m4
+# elif defined(SuperH4NOFPUArchitecture)
+# define SuperHArchOptFlags -m4-nofpu
+# else
+# define SuperHArchOptFlags -m3
+# endif
+# endif
+# ifndef SuperHebArchitecture
+# ifdef SuperHebArchitecture
+# define SuperHEndianFlags -mb
+# else
+# define SuperHEndianFlags -ml
+# endif
+# endif
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 SuperHArchOptFlags SuperHEndianFlags GccAliasingArgs
+# endif
+# define LinuxMachineDefines -D__sh__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+# ifndef DoLoadableServer
+# define DoLoadableServer NO
+# endif
+#endif
+
+#ifdef AMD64Architecture
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags DefaultGcc2AMD64Opt
+# endif
+# define LinuxMachineDefines -D__amd64__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* AMD64Architecture */
+
+#ifndef StandardDefines
+# ifdef __linux__
+# define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
+# else
+# define StandardDefines LinuxMachineDefines LinuxSourceDefines
+# endif
+#endif
+
+#if UseElfFormat
+# define DlLibrary -rdynamic -ldl
+#else
+# define DlLibrary /**/
+#endif
+
+#define ServerExtraSysLibs /**/
+
+#ifndef PamLibraries
+#define PamLibraries -lpam DlLibrary
+#endif
+
+#ifndef PamMiscLibraries
+#define PamMiscLibraries -lpam_misc
+#endif
+
+#ifndef HasDECnet
+#define HasDECnet NO
+#endif
+#if HasDECnet
+# define ConnectionFlags -DUNIXCONN -DTCPCONN -DDNETCONN
+# define ExtraLibraries -ldnet
+#else
+# define ConnectionFlags -DUNIXCONN -DTCPCONN
+#endif
+
+/* Some of these man page defaults are overriden in the above OS sections */
+#ifndef ManSuffix
+# define ManSuffix 1x
+#endif
+#ifndef ManDir
+# define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+# define LibManSuffix 3x
+#endif
+#ifndef LibmanDir
+# define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+# define FileManSuffix 5x
+#endif
+#ifndef FileManDir
+# define FileManDir $(MANSOURCEPATH)5
+#endif
+
+#ifndef StaticLibrary
+# define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) Concat(-l,libname) -Wl,-Bdynamic
+#endif
+
+#ifndef LinkGLToUsrLib
+# define LinkGLToUsrLib YES
+#endif
+# ifndef LinkGLToUsrInclude
+# define LinkGLToUsrInclude YES
+#endif
+
+
+#define HasGnuMake YES
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#define ArchitectureDefines -DLINUX_ARCHITECTURE
+
+#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
+#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+#if HaveLib64
+# ifndef LibDirName
+# define LibDirName lib64
+# endif
+# ifndef SystemUsrLibDir
+# define SystemUsrLibDir /usr/lib64
+# endif
+# ifndef TkLibDir
+# define TkLibDir /usr/lib64
+# endif
+#endif
+
+#ifndef BuildDmx
+#define BuildDmx YES
+#endif
+
+#include <lnxLib.rules>
+# include <xorg.cf>
+
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines
+#endif
diff --git a/nx-X11/config/cf/lnxLib.rules b/nx-X11/config/cf/lnxLib.rules
new file mode 100644
index 000000000..0cc71d325
--- /dev/null
+++ b/nx-X11/config/cf/lnxLib.rules
@@ -0,0 +1,680 @@
+XCOMM $Xorg: lnxLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/lnxLib.rules,v 3.52 2003/10/31 20:49:03 herrb Exp $
+
+/*
+ * Linux shared library rules (DLL & ELF versions)
+ */
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+# define ForceNormalLib NO
+#endif
+
+#ifndef UseRpath
+#define UseRpath NO
+#endif
+
+#ifndef SharedOldX
+# define SharedOldX NO
+#endif
+
+#if UseElfFormat
+
+# if (LinuxCLibMajorVersion >= 5 && LinuxCLibMinorVersion >= 4) || LinuxCLibMajorVersion >= 6
+# ifndef SpecialMalloc
+# define SpecialMalloc NO
+# endif
+#if 0
+# ifndef UseInternalMalloc
+# define UseInternalMalloc NO
+# endif
+#endif
+# endif
+
+# if LinuxCLibMajorVersion <= 5
+/*
+ * #define BaseShLibReqs -lc
+ *
+ * I don't want to use this since the normal ELF executables should
+ * be linked with libc.so. If it is not, i.e., static, the variables in
+ * libc.so which is loaded in because of the other shared libraries
+ * may have different values than the ones in the static ELF
+ * executables. That happens if the binaries are linked with libg.a
+ * or libc_p.a.
+ *
+ * If an ELF executable linked with libg.a or libc_p.a loads a shared
+ * object which needs libc.so via dlopen (), I think it should fail.
+ * It is a very bad idea. The moral story is DON'T USE dlopen () IN
+ * ELF EXECUTABLES LINKED WITH libg.a OR libc_p.a. H.J.
+ *
+ */
+# define BaseShLibReqs
+# else
+/* With GNU libc 2 this works fine. */
+# define BaseShLibReqs -lc
+# endif
+
+# ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+# endif
+# ifndef SharedCodeDef
+# define SharedCodeDef /**/
+# endif
+# ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+# endif
+# ifndef ShLibIncludeFile
+# define ShLibIncludeFile <lnxLib.tmpl>
+# endif
+#ifndef RpathLoadFlags
+#if UseRpath
+#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#else
+#define RpathLoadFlags /**/
+#endif
+#endif
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
+#endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -shared
+# endif
+# ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags -fPIC
+# endif
+# ifndef PositionIndependentCplusplusFlags
+# define PositionIndependentCplusplusFlags -fPIC
+# endif
+# ifndef ExtraLoadFlags
+# if LinuxBinUtilsMajorVersion >= 26
+# ifdef UseInstalled
+# if LinuxBinUtilsMajorVersion < 27
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH)
+# endif
+# else
+# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR)
+# endif
+# else
+# define ExtraLoadFlags RpathLoadFlags
+# endif
+# endif
+# ifndef HardCodeLibdirFlag
+# define HardCodeLibdirFlag RpathLoadFlags
+# endif
+# if !defined(ShlibGlobalsFlags)
+# define ShlibGlobalsFlags -Wl,-Bsymbolic
+# endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+# ifndef InstallSharedLibrary
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`;\
+ set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
+ @if $(SOSYMLINK); then (set -x; \
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
+# endif /* InstallSharedLibrary */
+
+# ifndef InstallSharedLibtoolLibrary
+
+# define SetRevisions(rev) V=`expr rev : '\([^:]*\)'`; \ @@\
+ R=`expr rev : '.*:\([^:]*\):'`; \ @@\
+ A=`expr rev : '.*:\([^:]*\)'`; \ @@\
+ MAJ=`expr $$V - $$A`; \ @@\
+ MIN=$$A.$$R
+
+# define InstallSharedLibtoolLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.$$MAJ.$$MIN) $(DESTDIR)dest; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.$$MAJ.$$MIN) Concat($(DESTDIR)dest/lib,libname.so)
+# endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+# ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+# endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; (set -x; \ @@\
+ cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
+ (set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+# endif /* SharedLibraryTarget */
+
+
+# ifndef SharedLibtoolLibraryTarget
+# define SharedLibtoolLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @set +e; SetRevisions(rev); set -e; \ @@\
+ SONAME=$@.$$MAJ; \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN~; \ @@\
+ cd down; $(CC) -o up/$@.$$MAJ.$$MIN~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
+ (set -x; \ @@\
+ $(RM) $$SONAME; $(LN) $@.$$MAJ.$$MIN $$SONAME); \ @@\
+ LinkBuildSonameLibrary($$SONAME); \ @@\
+ (set -x; \ @@\
+ $(RM) $@.$$MAJ.$$MIN; \ @@\
+ $(MV) $@.$$MAJ.$$MIN~ $@.$$MAJ.$$MIN; \ @@\
+ $(RM) $@; \ @@\
+ $(LN) $@.$$MAJ.$$MIN $@); \ @@\
+ LinkBuildLibraryInline($@.$$MAJ.$$MIN); \ @@\
+ LinkBuildLibraryInline($@) @@\
+ @@\
+clean:: @@\
+ @set +e; SetRevisions(rev); \ @@\
+ set -xe; \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ); \ @@\
+ $(RM) Concat(lib,libname.so.$$MAJ.$$MIN) @@\
+ $(RM) Concat(lib,libname.so)
+
+# endif /* SharedLibtoolLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+# ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; set -x; \ @@\
+ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\([0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+# ifndef SharedDepModuleTarget
+# define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+# endif /* SharedDepModuleTarget */
+
+# ifndef SharedDriModuleTarget
+# define SharedDriModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ $@.map @@\
+ @(echo 'DRI_MODULE { global: __dri*; local: *; };' > $@.map) @@\
+ $(CC) -o $@~ -Wl,--version-script=$@.map $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ $@.map @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name @@\
+ $(RM) name.map
+
+# endif /* SharedDriModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+# ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+# endif /* SharedLibraryTarget */
+
+#else /* UseElfFormat */
+
+# ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+# endif
+# ifndef SharedCodeDef
+# define SharedCodeDef /**/
+# endif
+# ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+# endif
+# ifndef ShLibIncludeFile
+# define ShLibIncludeFile <lnxLib.tmpl>
+# endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags /**/
+# endif
+# ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags -B/usr/bin/jump
+# endif
+
+/*
+ * These definitions are now extended to work with the X sources and
+ * external sources wishing to build shared libs.
+ *
+ * A library can create it's own shlibs (.so) or can be incorporated into
+ * another "host" lib. All libraries generate stub (.sa) files.
+ * A "host" lib does all the work to generate the stubs for itself and its
+ * "guests", invoking the "guest" Makefiles to create the objects for
+ * inclusion into the "host" shlib. A "guest" lib will ask the "host" to
+ * create the stubfiles, then copy its own into its directory.
+ * Most external libs are "host" libs; the concept of "guest" is a holdover
+ * from older libs during the days of scarce shared library address space.
+ *
+ * To create a simple "host" shared lib, Xfoo, define:
+ *
+ * JUMP_ROOT_Xfoo = <source directory>
+ * JUMP_IS_HOST_Xfoo = YES
+ * JUMP_STUBLIBS_Xfoo = libXfoo.sa
+ * JUMP_DIR_Xfoo = $(JUMP_ROOT_Xfoo)/shared <work directory>
+ * JUMP_DEFS_Xfoo = -DFOO <defs for jump files>
+ * JUMP_VARS_Xfoo = $(JUMP_ROOT_Xfoo)/jump_vars <see DLL docs>
+ * JUMP_FUNCS_Xfoo = $(JUMP_ROOT_Xfoo)/jump_funcs <see DLL docs>
+ * JUMP_IGNORE_Xfoo = $(JUMP_ROOT_Xfoo)/jump_ignore <see DLL docs>
+ * JUMP_EXPORT_Xfoo = $(JUMP_DIR_Xfoo)/jump.vars <exported symbols>
+ * JUMP_IMPORT_Xfoo = $(JUMP_EXPORT_Xbar) <imported symbols>
+ * JUMP_ADDRESS_Xfoo = 0xXXXXXXXX <fill in with address>
+ * JUMP_JUMPTABLESIZE_Xfoo = 0x4000 <adjust if necessary>
+ * JUMP_GOTSIZE_Xfoo = 4096 <adjust if necessary>
+ * JUMP_STUBNAMES_Xfoo = libXfoo <and others>
+ * JUMP_STUBS_IMPORT_Xfoo = /usr/lib/libc.sa <and others>
+ * JUMP_LDLIBS_Xfoo = `$(CC) --print-libgcc-file-name` -lc <and others>
+ *
+ * To create a complex "host", you need to add
+ * JUMP_SIBARS_Xt = jump/libXbar.a~ <and others>
+ * These are the archives of the shared objects of the "guest" libs. They
+ * need to be added to the JUMP_LDLIBS_Xfoo lines.
+ *
+ * For further clarification, study the definitions of libXaw, a simple "host"
+ * lib, libXt, a complex "host" lib, and libXmu, one of libXts "guests".
+ *
+ * As a hint of how to start (with the DLL docs), touch jump_vars, jump_funcs
+ * and jump_ignore, then compile. Then massage the jump.vars and jump.funcs
+ * files in the shared subdirectory into jump_xxx files.
+ */
+
+# ifndef UseInstalled
+XCOMM These are only needed to build the server
+
+# if LinuxElfDefault
+LIBC_SA = /usr/i486-linuxaout/lib/libc.sa
+LIBM_SA = /usr/i486-linuxaout/lib/libm.sa
+# else
+LIBC_SA = /usr/lib/libc.sa
+LIBM_SA = /usr/lib/libm.sa
+# endif
+
+JUMP_LDLIBS_libc = `$(CC) --print-libgcc-file-name` -lc
+
+XCOMM libX11.so (X11, SM, ICE)
+JUMP_ROOT_X11 = $(XLIBSRC)
+JUMP_IS_HOST_X11 = YES
+JUMP_STUBLIBS_X11 = libX11.sa libSM.sa libICE.sa
+JUMP_SIBDIRS_X11 = $(JUMP_ROOT_SM) $(JUMP_ROOT_ICE)
+JUMP_DIR_X11 = $(JUMP_ROOT_X11)/shared
+JUMP_DEFS_X11 = $(XDMAUTHDEFS) $(XKB_DEFINES)
+JUMP_VARS_X11 = $(JUMP_ROOT_X11)/jump_vars
+JUMP_FUNCS_X11 = $(JUMP_ROOT_X11)/jump_funcs
+JUMP_IGNORE_X11 = $(JUMP_ROOT_X11)/jump_ignore
+JUMP_EXPORT_X11 = $(JUMP_DIR_X11)/jump.vars
+JUMP_ADDRESS_X11 = 0x60200000
+JUMP_JUMPTABLESIZE_X11 = 0x4000
+JUMP_GOTSIZE_X11 = 4096
+JUMP_STUBNAMES_X11 = libX11 libSM libICE
+JUMP_STUBS_IMPORT_X11 = $(LIBC_SA)
+JUMP_SIBARS_X11 = jump/libSM.a~ jump/libICE.a~
+JUMP_LDLIBS_X11 = $(JUMP_SIBARS_X11) $(JUMP_LDLIBS_libc)
+
+XCOMM libSM (part of libX11.so)
+JUMP_ROOT_SM = $(SMSRC)
+JUMP_IS_HOST_SM = NO
+JUMP_HOST_SM = $(JUMP_ROOT_X11)
+JUMP_DIR_SM = $(JUMP_DIR_X11)
+
+XCOMM libICE (part of libX11.so)
+JUMP_ROOT_ICE = $(ICESRC)
+JUMP_IS_HOST_ICE = NO
+JUMP_HOST_ICE = $(JUMP_ROOT_X11)
+JUMP_DIR_ICE = $(JUMP_DIR_X11)
+
+XCOMM libXt.so (Xt, Xmu, Xext, Xi, Xtst, Xp)
+JUMP_ROOT_Xt = $(TOOLKITSRC)
+JUMP_IS_HOST_Xt = YES
+JUMP_STUBLIBS_Xt = libXt.sa libXmu.sa libXext.sa libXi.sa libXtst.sa libXp.sa
+JUMP_SUBDIRS_Xt = $(JUMP_ROOT_X11)
+JUMP_SIBDIRS_Xt = $(JUMP_ROOT_Xmu) $(JUMP_ROOT_Xext) \
+ $(JUMP_ROOT_Xi) $(JUMP_ROOT_Xtst) $(JUMP_ROOT_Xp)
+JUMP_DIR_Xt = $(JUMP_ROOT_Xt)/shared
+JUMP_VARS_Xt = $(JUMP_ROOT_Xt)/jump_vars
+JUMP_FUNCS_Xt = $(JUMP_ROOT_Xt)/jump_funcs
+JUMP_IGNORE_Xt = $(JUMP_ROOT_Xt)/jump_ignore
+JUMP_EXPORT_Xt = $(JUMP_DIR_Xt)/jump.vars
+JUMP_IMPORT_Xt = $(JUMP_EXPORT_X11)
+JUMP_ADDRESS_Xt = 0x602a0000
+JUMP_JUMPTABLESIZE_Xt = 0x4000
+JUMP_GOTSIZE_Xt = 4096
+JUMP_STUBNAMES_Xt = libXt libXmu libXext libXi libXtst libXp
+JUMP_STUBS_IMPORT_Xt = $(JUMP_STUBS_IMPORT_X11)
+JUMP_SIBARS_Xt = jump/libXmu.a~ jump/libXext.a~ jump/libXi.a~ jump/libXtst.a~ jump/libXp.a~
+JUMP_LDLIBS_Xt = $(JUMP_SIBARS_Xt) $(JUMP_ROOT_ICE)/libICE.sa \
+ $(JUMP_ROOT_SM)/libSM.sa $(JUMP_ROOT_X11)/libX11.sa $(JUMP_LDLIBS_libc)
+
+XCOMM libXmu (part of libXt.so)
+JUMP_ROOT_Xmu = $(XMUSRC)
+JUMP_IS_HOST_Xmu = NO
+JUMP_HOST_Xmu = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xmu = $(JUMP_DIR_Xt)
+
+XCOMM libXext (part of libXt.so)
+JUMP_ROOT_Xext = $(XEXTLIBSRC)
+JUMP_IS_HOST_Xext = NO
+JUMP_HOST_Xext = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xext = $(JUMP_DIR_Xt)
+
+XCOMM libXi (part of libXt.so)
+JUMP_ROOT_Xi = $(XILIBSRC)
+JUMP_IS_HOST_Xi = NO
+JUMP_HOST_Xi = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xi = $(JUMP_DIR_Xt)
+
+XCOMM libXtst (part of libXt.so)
+JUMP_ROOT_Xtst = $(XTESTLIBSRC)
+JUMP_IS_HOST_Xtst = NO
+JUMP_HOST_Xtst = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xtst = $(JUMP_DIR_Xt)
+
+XCOMM libXp (part of libXt.so)
+JUMP_ROOT_Xp = $(XPLIBSRC)
+JUMP_IS_HOST_Xp = NO
+JUMP_HOST_Xp = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xp = $(JUMP_DIR_Xt)
+
+XCOMM libXaw.so (Xaw)
+JUMP_ROOT_Xaw = $(AWIDGETSRC)
+JUMP_IS_HOST_Xaw = YES
+JUMP_STUBLIBS_Xaw = libXaw.sa
+JUMP_SUBDIRS_Xaw = $(JUMP_ROOT_Xt)
+JUMP_DIR_Xaw = $(JUMP_ROOT_Xaw)/shared
+JUMP_VARS_Xaw = $(JUMP_ROOT_Xaw)/jump_vars
+JUMP_FUNCS_Xaw = $(JUMP_ROOT_Xaw)/jump_funcs
+JUMP_IGNORE_Xaw = $(JUMP_ROOT_Xaw)/jump_ignore
+JUMP_EXPORT_Xaw = $(JUMP_DIR_Xaw)/jump.vars
+JUMP_IMPORT_Xaw = $(JUMP_EXPORT_Xt) $(JUMP_EXPORT_X11)
+JUMP_ADDRESS_Xaw = 0x60300000
+JUMP_JUMPTABLESIZE_Xaw = 0x4000
+JUMP_GOTSIZE_Xaw = 4096
+JUMP_STUBNAMES_Xaw = libXaw
+JUMP_STUBS_IMPORT_Xaw = $(JUMP_STUBS_IMPORT_X11)
+JUMP_LDLIBS_Xaw = $(JUMP_ROOT_Xt)/libXt.sa $(JUMP_ROOT_Xt)/libXmu.sa \
+ $(JUMP_ROOT_Xt)/libXext.sa $(JUMP_ROOT_X11)/libX11.sa \
+ $(JUMP_LDLIBS_libc)
+
+# endif /* !UseInstalled */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shared data file
+ */
+# ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+# endif
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * There are two basic flavors of libs: self-generating, which create
+ * their own (and possibly other) libs, and hosted, which rely on another
+ * lib for all the work.
+ */
+# ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+XCOMM This logic is such to compile the libs in their proper order, @@\
+XCOMM remain dependent on subsidiary libs, and yet minimize local work @@\
+ @@\
+JUMP_DIR=./jump @@\
+JUMP_LIB=Concat(lib,libname) @@\
+ @@\
+XCOMM this is needed for newer gnumake versions @@\
+export JUMP_DIR JUMP_LIB @@\
+ @@\
+JUMP_IS_HOST=$(Concat(JUMP_IS_HOST_,libname)) @@\
+JUMP_AR=$(JUMP_DIR)/Concat(lib,libname.a~) @@\
+JUMP_SA=Concat(lib,libname.sa) @@\
+JUMP_SO=Concat(lib,libname.so.rev) @@\
+ @@\
+JUMP_HOST=$(Concat(JUMP_HOST_,libname)) @@\
+ @@\
+INSTSOLIBFLAGS=-m 0555 @@\
+ @@\
+AllTarget($(BUILDLIBDIR)/$(JUMP_SA)) @@\
+ @@\
+$(BUILDLIBDIR)/$(JUMP_SA): $(JUMP_SA) @@\
+ LinkBuildLibrary($(JUMP_SA)) @@\
+ @@\
+$(JUMP_SA) $(Concat(JUMP_STUBLIBS_,libname)) do_JUMP_SA: \
+ down/mk_JUMP_SA_$(JUMP_IS_HOST) @@\
+ @@\
+down/mk_JUMP_SA_0:: mk_JUMP_HOST @@\
+ @@\
+down/mk_JUMP_SA_0:: $(JUMP_HOST)/$(JUMP_SA) @@\
+ $(RM) $(JUMP_SA) @@\
+ $(LN) $(JUMP_HOST)/$(JUMP_SA) $(JUMP_SA) @@\
+ touch $@ @@\
+ @@\
+down/mk_JUMP_SA_1:: $(JUMP_SO) @@\
+ @@\
+down/mk_JUMP_SA_1:: down/mk_JUMP_SO_2 @@\
+ $(RM) $(Concat(JUMP_STUBLIBS_,libname)) @@\
+ mkstubs -v rev -l $(JUMP_LIB) \
+ -a $(Concat(JUMP_ADDRESS_,libname)) \
+ -j $(Concat(JUMP_JUMPTABLESIZE_,libname)) \
+ -g $(Concat(JUMP_GOTSIZE_,libname)) \
+ -- $(Concat(JUMP_STUBNAMES_,libname)) @@\
+ verify-shlib -l $(JUMP_SO) \
+ $(Concat(JUMP_STUBLIBS_,libname)) @@\
+ $(MV) verify.out $(JUMP_DIR) @@\
+ touch $@ @@\
+ @@\
+mk_JUMP_HOST: @@\
+ @echo checking stub library $(JUMP_SA) in $(JUMP_HOST)... @@\
+ @(cd $(JUMP_HOST); $(MAKE) $(MFLAGS) $(JUMP_SA)) || exit 1 @@\
+ @echo ok. continuing in $(Concat(JUMP_ROOT_,libname))... @@\
+ @@\
+$(JUMP_SO): down/mk_JUMP_SO_$(JUMP_IS_HOST) @@\
+ @@\
+down/mk_JUMP_SO_0: @@\
+ @@\
+down/mk_JUMP_SO_1:: $(JUMP_AR) mk_JUMP_SIBDIRS down/mk_JUMP_SO_2 @@\
+ @@\
+down/mk_JUMP_SO_2: down/mk_JUMP_AR $(Concat(JUMP_SIBARS_,libname)) @@\
+ $(RM) $(JUMP_SO) @@\
+ mkimage -f -v rev -l $(JUMP_LIB) \
+ -a $(Concat(JUMP_ADDRESS_,libname)) \
+ -j $(Concat(JUMP_JUMPTABLESIZE_,libname)) \
+ -g $(Concat(JUMP_GOTSIZE_,libname)) \
+ -- $(JUMP_AR) $(Concat(JUMP_LDLIBS_,libname)) @@\
+ $(RM) $(JUMP_DIR)/__jump.s $(JUMP_DIR)/__jump.o @@\
+ LinkBuildLibrary($(JUMP_SO)) @@\
+ touch $@ @@\
+ @@\
+mk_JUMP_SIBDIRS: @@\
+ @for d in $(Concat(JUMP_SIBDIRS_,libname)); do \
+ echo checking ar library in $$d...; \
+ (cd $$d ; $(MAKE) $(MFLAGS) fastdo_JUMP_AR) || exit 1; \
+ echo ok. continuing in $(Concat(JUMP_ROOT_,libname))...;done@@\
+ @@\
+fastdo_JUMP_AR: $(JUMP_DIR) down/mk_JUMP_AR @@\
+ @@\
+$(JUMP_AR) do_JUMP_AR:: jumpsetup down/mk_JUMP_AR @@\
+ @@\
+jumpsetup: $(JUMP_DIR) jumpsetup_$(JUMP_IS_HOST) @@\
+ @@\
+$(JUMP_DIR): @@\
+ $(RM) jump @@\
+ LibMkdir($(Concat(JUMP_DIR_,libname))) @@\
+ $(LN) $(Concat(JUMP_DIR_,libname)) jump @@\
+ @@\
+jumpsetup_0: @@\
+ @echo doing jump setup in host $(JUMP_HOST)... @@\
+ @(cd $(JUMP_HOST); $(MAKE) $(MFLAGS) jumpsetup) || exit 1 @@\
+ @echo ok. continuing in $(Concat(JUMP_ROOT_,libname))... @@\
+ @@\
+jumpsetup_1:: @@\
+ @for d in $(Concat(JUMP_SUBDIRS_,libname)); do \
+ echo checking stub library in $$d...; \
+ (cd $$d ; $(MAKE) $(MFLAGS) do_JUMP_SA) || exit 1; \
+ echo ok. continuing in $(Concat(JUMP_ROOT_,libname))...;done@@\
+ @@\
+jumpsetup_1:: $(JUMP_DIR)/jump.funcs $(JUMP_DIR)/jump.vars \
+ $(JUMP_DIR)/jump.ignore $(JUMP_DIR)/jump.import @@\
+ @@\
+$(JUMP_DIR)/jump.funcs: $(Concat(JUMP_FUNCS_,libname)) @@\
+ $(RM) $(JUMP_DIR)/jump.funcs @@\
+ cat $(Concat(JUMP_FUNCS_,libname)) | \
+ $(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
+ @@\
+$(JUMP_DIR)/jump.vars: $(Concat(JUMP_VARS_,libname)) @@\
+ $(RM) $(JUMP_DIR)/jump.vars @@\
+ cat $(Concat(JUMP_VARS_,libname)) | \
+ $(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
+ @@\
+$(JUMP_DIR)/jump.ignore: $(Concat(JUMP_IGNORE_,libname)) @@\
+ $(RM) $(JUMP_DIR)/jump.ignore @@\
+ cat $(Concat(JUMP_IGNORE_,libname)) | \
+ $(CPP) $(ALLDEFINES) $(Concat(JUMP_DEFS_,libname)) > $@ @@\
+ @@\
+$(JUMP_DIR)/jump.import: $(JUMP_DIR)/stubs.import \
+ $(Concat(JUMP_IMPORT_,libname)) @@\
+ $(RM) $(JUMP_DIR)/jump.import @@\
+ cat $(JUMP_DIR)/stubs.import $(Concat(JUMP_IMPORT_,libname)) > $@ @@\
+ @@\
+$(JUMP_DIR)/stubs.import: $(Concat(JUMP_STUBS_IMPORT_,libname)) @@\
+ $(RM) $(JUMP_DIR)/stubs.import @@\
+ nm --no-cplus $(Concat(JUMP_STUBS_IMPORT_,libname)) | grep '__GOT__' | \
+ sed 's/__GOT__/_/' > $@ @@\
+ @@\
+down/mk_JUMP_AR: solist @@\
+ $(RM) $(JUMP_AR) @@\
+ @if [ -s $(JUMP_DIR)/jump.log ]; then \
+ echo "Error: Leftover globals for shared lib"; \
+ exit 1; fi @@\
+ (cd down; $(AR) up/$(JUMP_AR) solist) || exit 1 @@\
+ $(RANLIB) $(JUMP_AR) @@\
+ touch $@ @@\
+ @@\
+clean:: jumpclean @@\
+ @@\
+jumpclean: jumpclean_$(JUMP_IS_HOST) @@\
+ $(RM) $(JUMP_SA) down/mk_JUMP_AR @@\
+ $(RM) -r $(JUMP_DIR) @@\
+ @@\
+jumpclean_0: @@\
+ $(RM) down/mk_JUMP_SA_0 @@\
+ $(RM) $(JUMP_HOST)/$(JUMP_SA) @@\
+ @@\
+jumpclean_1: @@\
+ $(RM) -r $(JUMP_SO) $(Concat(JUMP_DIR_,libname)) \ @@\
+ down/mk_JUMP_SA_1 down/mk_JUMP_SO_1 down/mk_JUMP_SO_2
+# endif /* SharedLibraryTarget */
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+# ifndef InstallSharedLibrary
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: $(JUMP_SA) $(JUMP_SO) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @if [ "$(JUMP_IS_HOST)" = YES ]; then \
+ (T=$(DESTDIR)dest/`echo $(JUMP_SO)|sed '/\(lib[^\.]*\.so\.[0-9]*\)\(\.[0-9]*\)\{1,2\}/\1/`;\
+ set -x; \
+ $(INSTALL) -s -c $(INSTSOLIBFLAGS) $(JUMP_SO) $(DESTDIR)dest; \
+ $(RM) $$T && $(LN) $(JUMP_SO) $$T); fi @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) $(JUMP_SA) $(DESTDIR)dest
+# endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+# ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+# endif /* InstallSharedLibraryData */
+
+#endif /* UseElfFormat */
diff --git a/nx-X11/config/cf/lnxLib.tmpl b/nx-X11/config/cf/lnxLib.tmpl
new file mode 100644
index 000000000..f1eb5ac4b
--- /dev/null
+++ b/nx-X11/config/cf/lnxLib.tmpl
@@ -0,0 +1,86 @@
+XCOMM $Xorg: lnxLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/lnxLib.tmpl,v 3.19 2003/10/15 22:47:48 herrb Exp $
+
+/*
+ * Linux shared library template
+ */
+
+#if UseElfFormat
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define SharedX11Reqs
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+
+#if GlxUseBuiltInDRIDriver
+#define ExtraSharedGLReqs /**/
+#else
+#define ExtraSharedGLReqs -ldl
+#endif
+#define SharedGLReqs $(LDPRELIB) $(XLIB) ExtraSharedGLReqs
+#ifndef SharedGLUReqs
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#endif
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+
+#else /* UseElfFormat */
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIB = -lXmu $(XLIB)
+#endif
+
+#endif /* UseElfFormat */
+
+#ifndef SharedXReqs
+# define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS)
+#endif
+
+#ifndef SharedXmReqs
+# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lc
+#endif
+
+#ifndef SharedTtReqs
+# define SharedTtReqs $(LDPRELIBS) SharedXReqs $(CXXLIB)
+#endif
+
+#define NoMessageCatalog
diff --git a/nx-X11/config/cf/lnxdoc.rules b/nx-X11/config/cf/lnxdoc.rules
new file mode 100644
index 000000000..a538920df
--- /dev/null
+++ b/nx-X11/config/cf/lnxdoc.rules
@@ -0,0 +1,145 @@
+XCOMM $XFree86: xc/config/cf/lnxdoc.rules,v 3.27 2003/01/15 03:17:29 dawes Exp $
+XCOMM
+XCOMM Rules for formatting Linuxdoc-SGML documentation
+XCOMM
+
+#include <lnxdoc.tmpl>
+
+#ifdef DontInstallLinuxDoc
+#define LinuxDocInstall(file,dest) /* do nothing */
+#define LinuxDocInstallMultiple(files,dest) /* do nothing */
+#define LinuxDocInstallIfExists(file,dest) /* do nothing */
+#else
+#define LinuxDocInstall(file,dest) InstallNonExecFile(file,dest)
+#define LinuxDocInstallMultiple(files,dest) @@\
+InstallMultipleDest(install,files,dest)
+
+#define LinuxDocInstallIfExists(file,dir) @@\
+install:: @@\
+ MakeDir($(DESTDIR)dir) @@\
+ @if [ -f file ]; then set -x; \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) \ @@\
+ file $(DESTDIR)dir; \ @@\
+ fi
+#endif
+
+/* Version for sgmlfmt */
+
+#if BuildLinuxDocPS
+#define LinuxDocSgmlToPs(sgmlfile,base) @@\
+all:: base.ps PdfTarget(base) @@\
+ @@\
+base.ps: sgmlfile $(SGMLDEPENDS) @@\
+ RemoveFile(_$@ $@) @@\
+ @(BASE=`basename sgmlfile .sgml`;\ @@\
+ set -x;\ @@\
+ RemoveFile($$BASE.ps);\ @@\
+ $(SGMLFMTCMD) -f ps sgmlfile && \ @@\
+ $(MV) $$BASE.ps _$@ && $(MV) _$@ $@) @@\
+ @@\
+LinuxDocInstall(base.ps,$(XFREE86PSDOCDIR)) @@\
+ @@\
+ConvertPsToPdf(base) @@\
+ @@\
+LinuxDocInstallIfExists(base.pdf,$(XFREE86PDFDOCDIR)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(Concat(_,base.ps) base.ps)
+#else
+#define LinuxDocSgmlToPs(sgmlfile,base) /**/
+#endif
+
+#if BuildLinuxDocText
+#define LinuxDocSgmlToText(sgmlfile,textfile) @@\
+AllTarget(textfile) @@\
+ @@\
+textfile: sgmlfile $(SGMLDEPENDS) @@\
+ RemoveFiles(_$@ $@) @@\
+ @(BASE=`basename sgmlfile .sgml`;\ @@\
+ set -x;\ @@\
+ RemoveFile($$BASE.latin1);\ @@\
+ $(SGMLFMTCMD) -f latin1 -b -n sgmlfile && \ @@\
+ $(CVSIDENTFIX) < $$BASE.latin1 | $(XORGIDENTFIX) | $(XFREE86IDENTFIX) > _$@ && $(MV) _$@ $@ && \ @@\
+ RemoveFile($$BASE.latin1)) @@\
+ @@\
+LinuxDocInstall(textfile,$(XFREE86DOCDIR)) @@\
+ @@\
+clean:: @@\
+ @(file=textfile; set -x; RemoveFiles(_$$file $$file))
+#else
+#define LinuxDocSgmlToText(sgmlfile,textfile) /**/
+#endif
+
+#if BuildLinuxDocHtml
+#define LinuxDocSgmlToHtml(sgmlfile,base) @@\
+AllTarget(base.html) @@\
+ @@\
+base.html: sgmlfile $(SGMLDEPENDS) @@\
+ @if [ sgmlfile != base.sgml ]; then $(LN) sgmlfile base.sgml; fi @@\
+ RemoveFiles(base*.html) @@\
+ $(SGMLFMTCMD) -f html base.sgml || RemoveFile($@) @@\
+ @if [ sgmlfile != base.sgml ]; then RemoveFile(base.sgml); fi @@\
+ @@\
+LinuxDocInstallMultiple(base*.html,$(XFREE86HTMLDOCDIR)) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(base*.html)
+#else
+#define LinuxDocSgmlToHtml(sgmlfile,base) /**/
+#endif
+
+/*
+ * Rule for maintainers to use to updated formatted copies of docs in the
+ * source tree. Use with care.
+ */
+
+#ifndef UpdateFormattedDocLong
+#define UpdateFormattedDocLong(textfile,dstdir,dstfile) @@\
+update.docs:: textfile @@\
+ -@if [ -f dstdir/dstfile ]; then \ @@\
+ if [ "$(FORCEUPDATE)" = yes ]; then set -x; \ @@\
+ if [ "$(FOLLOWLINK)" = no ]; then \ @@\
+ $(RM) dstdir/dstfile; \ @@\
+ fi; \ @@\
+ cp textfile dstdir/dstfile; \ @@\
+ echo "" >> dstdir/dstfile; \ @@\
+ echo "\$$XdotOrg\$$" >> dstdir/dstfile; \ @@\
+ else \ @@\
+ $(RM) __tmp1__ __tmp2__; \ @@\
+ fgrep -v "\$$XdotOrg:" textfile > __tmp1__; \ @@\
+ fgrep -v "\$$XdotOrg:" dstdir/dstfile > __tmp2__; \ @@\
+ if diff -B __tmp1__ __tmp2__ > /dev/null 2>&1; then :; \ @@\
+ else set -x; \ @@\
+ if [ "$(FOLLOWLINK)" = no ]; then \ @@\
+ $(RM) dstdir/dstfile; \ @@\
+ fi; \ @@\
+ cp textfile dstdir/dstfile ; \ @@\
+ echo "" >> dstdir/dstfile; \ @@\
+ echo "\$$XdotOrg"": \$$" >> dstdir/dstfile; \ @@\
+ fi; \ @@\
+ fi; \ @@\
+ fi @@\
+ @$(RM) __tmp1__ __tmp2__
+#endif
+
+#ifndef UpdateFormattedDoc
+#define UpdateFormattedDoc(textfile,dstdir) @@\
+UpdateFormattedDocLong(textfile,dstdir,textfile)
+#endif
+
+/*
+ * Avoid using LinuxDocTargetLong with base != sgmlfile because HTML
+ * index generation assumes that base == sgmlfile.
+ */
+#define LinuxDocTargetLong(sgmlfile,textfile,base) @@\
+LinuxDocSgmlToText(sgmlfile,textfile) @@\
+LinuxDocSgmlToHtml(sgmlfile,base) @@\
+LinuxDocSgmlToPs(sgmlfile,base) @@\
+UpdateFormattedDoc(textfile,$(FORMATTEDDIR))
+
+#define LinuxDocReadmeTarget(base) @@\
+LinuxDocTargetLong(base.sgml,ReadmeFile(base),base)
+
+#define LinuxDocTarget(base) @@\
+LinuxDocTargetLong(base.sgml,base,base)
+
diff --git a/nx-X11/config/cf/lnxdoc.tmpl b/nx-X11/config/cf/lnxdoc.tmpl
new file mode 100644
index 000000000..af5faf385
--- /dev/null
+++ b/nx-X11/config/cf/lnxdoc.tmpl
@@ -0,0 +1,85 @@
+XCOMM $XFree86: xc/config/cf/lnxdoc.tmpl,v 3.11tsi Exp $
+XCOMM
+
+#ifndef HasSgmlFmt
+#define HasSgmlFmt NO
+#endif
+
+#ifndef HasLinuxDoc
+#define HasLinuxDoc NO
+#endif
+
+#ifndef DoSgmlDocs
+#define DoSgmlDocs (HasLinuxDoc || HasSgmlFmt)
+#endif
+
+#ifndef XFree86IdentFix
+#define XFree86IdentFix sed -e '/\$$\XFree86:/s/....\/..\/.. ..:..:.. *//' \
+ -e '/\$$\XFree86:/s/\$$/Generated from /'
+#endif
+
+#ifndef XorgIdentFix
+#define XorgIdentFix sed -e '/\$$\XdotOrg:/s/....\/..\/.. ..:..:.. *//' \
+ -e '/\$$\XdotOrg:/s/\$$/Generated from /'
+#endif
+
+#ifndef CVSIdentFix
+#define CVSIdentFix sed -e '/\$$\Id:/s/....\/..\/.. ..:..:.. *//' \
+ -e '/\$$\Id:/s/\$$/Generated from /'
+#endif
+
+#ifndef HasLatex
+#define HasLatex NO
+#endif
+
+#ifndef SgmlFmtCmd
+#define SgmlFmtCmd sgmlfmt
+#endif
+
+#ifndef HasDvips
+#define HasDvips NO
+#endif
+
+#ifndef DvipsOptions
+#define DvipsOptions /**/
+#endif
+
+#ifndef DvipsCmd
+#define DvipsCmd dvips
+#endif
+
+#ifndef BuildLinuxDocText
+#define BuildLinuxDocText DoSgmlDocs
+#endif
+
+#ifndef BuildLinuxDocHtml
+#define BuildLinuxDocHtml DoSgmlDocs
+#endif
+
+#ifndef BuildLinuxDocPS
+#define BuildLinuxDocPS DoSgmlDocs
+#endif
+
+#ifndef BuildSgmlDocs
+#define BuildSgmlDocs DoSgmlDocs
+#endif
+
+#ifndef ReadmeFile
+#define ReadmeFile(base) README.base
+#endif
+
+
+ XFREE86IDENTFIX = XFree86IdentFix
+ XORGIDENTFIX = XorgIdentFix
+ CVSIDENTFIX = CVSIdentFix
+ DVIPS = DvipsCmd
+ DVIPSOPTIONS = DvipsOptions
+ SGMLFMTCMD = SgmlFmtCmd
+
+XCOMM Some extra things to clean
+
+#ifdef ExtraFilesToClean
+#undef ExtraFilesToClean
+#endif
+#define ExtraFilesToClean *.aux *.dvi *.log *.tex *.toc *.html *.ps *.latin1
+
diff --git a/nx-X11/config/cf/luna.cf b/nx-X11/config/cf/luna.cf
new file mode 100644
index 000000000..8ca01b2b7
--- /dev/null
+++ b/nx-X11/config/cf/luna.cf
@@ -0,0 +1,115 @@
+XCOMM platform: $Xorg: luna.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+/*
+ * Please set the values for OSMajorVerion and OSMinorVersion
+ * before making makefiles.
+ *
+ * The Luna version of the make program doesn't define the standard
+ * macro MAKE, so you must run it as "make MAKE=make" at top level,
+ * e.g., "make MAKE=make World"
+ */
+
+#ifdef Mc68000Architecture
+# ifdef luna2
+#ifndef OSName
+#define OSName Mach 2.5 Vers 1.40
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 1
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 40
+#endif
+# else
+#ifndef OSName
+#define OSName UNIOS-B 4.3BSD UNIX: 2.00
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 2
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#define DirFailPrefix -
+# endif
+#else /* Mc88000Architecture */
+#ifndef OSName
+#define OSName Mach 2.5 Vers 2.00.1
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 2
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 1
+#endif
+#endif
+XCOMM operating system: OSName
+
+#define HasBsearch NO
+#define HasVoidSignalReturn NO
+#define HasGcc YES
+#define HasCThreads YES
+#define HasThreadSafeAPI NO
+#define Malloc0ReturnsNull HasCThreads /* -lthreads fails, -lc works */
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+#define BootstrapCFlags -DUSE_CC_E -DNFS_STDOUT_BUG
+
+#define ThreadsLibraries -lthreads -lmach
+#define ThreadsCplusplusLibraries -lthreads -lmach
+
+#define PrimaryScreenResolution 100
+#define BuildXKB YES
+
+#ifdef Mc68000Architecture
+#ifdef luna2
+#if ((OSMajorVersion <= 1) && (OSMinorVersion < 40))
+#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
+#endif
+#else /* luna1 */
+#if ((OSMajorVersion <= 1) && (OSMinorVersion <= 60))
+#define StandardDefines -Dluna -Duniosb
+#endif
+#if ((OSMajorVersion < 2) || ((OSMajorVersion == 2) && (OSMinorVersion < 1)))
+#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
+#endif
+#endif /* luna2 */
+#if HasGcc
+#define OptimizedCDebugFlags -O -traditional
+#define ServerCDebugFlags -Dmc68020 -O -traditional
+#else /* cc */
+#define OptimizedCDebugFlags -O -Z18
+#define ServerCDebugFlags -Dmc68020 -O -Z18
+#endif /* HasGcc */
+#endif /* Mc68000Architecture */
+
+
+#ifdef Mc88000Architecture
+#if ((OSMajorVersion <= 1) && (OSMinorVersion <= 12))
+#define ServerExtraDefines -DUNUSE_DRV_TIME -DUNUSE_SIGIO_SIGNAL
+#endif
+#define HasNdbm YES
+#define ExtraLibraries -li18n
+#if HasGcc
+#define CcCmd gcc -fstrength-reduce
+#define PreIncDir /usr/local/lib/gcc/gcc-include
+#define OptimizedCDebugFlags -O2 /* -traditional */
+#else
+#define PreIncDir /usr/lib/ccom/include
+#endif
+#define PostIncDir /usr/mach/include
+#endif
+
+#ifdef Mc68000Architecture
+#define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
+#define XlunaServer YES
+#endif
+
+#ifdef Mc88000Architecture
+#define XlunaServer YES
+#endif
+
+#if ((OSMajorVersion >= 2) && (OSMinorVersion >= 0) && (OSTeenyVersion >= 1))
+#define HasWChar32 YES
+#endif
diff --git a/nx-X11/config/cf/lynx.cf b/nx-X11/config/cf/lynx.cf
new file mode 100644
index 000000000..2668a362e
--- /dev/null
+++ b/nx-X11/config/cf/lynx.cf
@@ -0,0 +1,421 @@
+XCOMM $Xorg: lynx.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/lynx.cf,v 3.47 2003/04/24 22:14:53 herrb Exp $
+
+
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSVendor
+#define OSVendor (LynuxWorks Inc.)
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#ifndef HasSetenv
+#define HasSetenv NO
+#endif
+
+#if OSMajorVersion > 2
+#define HasGcc2 YES
+#endif
+
+#ifndef HasGcc2
+#define HasGcc2 NO
+#endif
+
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2)
+# ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus YES
+# endif
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus YES
+#endif
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define HasShadowPasswd NO
+#ifndef HasLibCrypt
+# define HasLibCrypt NO
+#endif
+#define HasPutenv YES
+#define HasSutenv NO
+#define HasSnprintf NO
+#define HasShm YES
+#define HasSockets YES
+#define HasVFork NO
+#define HasVarDirectory NO
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 4)
+# define HasBSD44Sockets YES
+#endif
+#define HasStickyDirBit NO
+#ifndef HasPosixRegex
+# define HasPosixRegex NO
+#endif
+#ifndef HasPerl
+# define HasPerl NO
+#endif
+#ifndef HasFreetype2
+# define HasFreetype2 NO
+#endif
+
+#if OSMajorVersion <= 2
+# define USE_MACHINE_ABSOLUTE
+#endif
+
+/* At least on x86 we're seeing spurious server crashes when
+ * using signals (SmartScheduler, SilkenMouse) starting with
+ * LynxOS 3.1.0.
+ */
+#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion == 1)
+# ifndef UseSmartScheduler
+# define UseSmartScheduler NO
+# endif
+#endif
+
+#ifdef UseSmartScheduler
+/* pull in real sigio in os-support instead of sigiostubs */
+# define AllowSIGIO YES
+#endif
+
+#define HasPosixThreads YES
+#define ThreadedX YES
+#define HasThreadSafeAPI YES
+#if HasGcc2
+# if OSMajorVersion == 2 && OSMinorVersion == 3
+# define ThreadsCompileFlags -mposix -mthreads
+# define ThreadsCplusplusCompileFlags -mposix -mthreads
+# else
+# define ThreadsCompileFlags -mthreads
+# define ThreadsCplusplusCompileFlags -mthreads
+# endif
+#else
+# define ThreadsCompileFlags -m
+# define ThreadsCplusplusCompileFlags -m
+#endif
+#if OSMajorVersion == 2 && OSMinorVersion < 3
+# define ThreadsLibraries /lib/thread/libc.a /lib/thread/libc_p.a
+#endif
+#if (OSMajorVersion == 3 && OSMinorVersion == 0) || (OSMajorVersion == 2 && OSMinorVersion <= 5)
+# define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
+#endif
+#define AvoidNullMakeCommand YES
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2)
+#define StripInstalledPrograms YES
+#else
+/* under LynxOS AT V2.x /bin/strip will leave file.unstripped around
+ * and fail if installing across different file systems
+ */
+#define StripInstalledPrograms NO
+#endif
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull NO
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+#define MkdirHierCmd mkdir -p
+#define DirFailPrefix -
+
+#if HasGcc2
+# if OSMajorVersion == 2 && OSMinorVersion == 3
+# define CplusplusCmd g++ -mposix
+# define CcCmd gcc -mposix
+# else
+# define CplusplusCmd g++
+# define CcCmd gcc
+# endif
+# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion == 5)
+# if defined(UseInstalled)
+# define DefaultCCOptions -fcommon -D__NO_INCLUDE_WARN__
+# else
+# define DefaultCCOptions -ansi -pedantic -fcommon -D__NO_INCLUDE_WARN__ GccWarningOptions
+# endif
+# endif
+#else
+# define CplusplusCmd g++
+# define CcCmd gcc
+# define DefaultCCOptions -ansi GccWarningOptions
+# define GccGasOption -DGCCUSESGAS /* For SuperProbe */
+#endif
+#define AsCmd as
+#define LdCmd ld
+#define AsmDefines -DUSE_GAS
+#if OSMajorVersion < 4
+# define CppCmd /lib/cpp
+#else
+# define CppCmd /bin/cpp
+#endif
+#define RawCppCmd CppCmd
+#if !CrossCompiling
+#define YaccCmd bison -y
+/* make sure we take the right flex on 2.3.0 and 2.4.0 */
+#define LexCmd /bin/flex
+#endif
+#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 5)
+# define LexLib -lfl
+#else
+# define LexLib /**/
+#endif
+#define HasFlex YES
+/* On LynxOS AT 2.3.0 /lib/libm.a is a symbolic link to /lib/libc.a, so we
+ * screw up some POSIX functionality when -lm comes before -lc_p in our
+ * ld argument list. For LynxOS-AT we don't need -lm but for others we
+ * do (e.g. SPARC)
+ */
+#if OSMajorVersion == 2 && OSMinorVersion == 3
+# define MathLibrary -lc_p -lm
+# define TermcapLibrary -lc_p -ltermcap
+#else
+# define MathLibrary -lm
+# define TermcapLibrary -ltermcap
+#endif
+#define PreProcessCmd CcCmd -E
+#if HasGcc2
+# define PostIncDir DefaultGccIncludeDir
+#endif
+#define LdCombineFlags -r
+#if HasGcc2
+# ifdef i386Architecture
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+#else
+# define OptimizedCDebugFlags -O
+#endif
+#if OSMajorVersion == 2 && OSMinorVersion <= 2
+# define StandardDefines -DLynx -DLynx_22 -DX_NOT_POSIX
+#else
+# if defined(i386Architecture)
+/* need __i386__ for 2.5.0 AT and higher */
+# if OSMajorVersion <= 3
+# define StandardDefines -DLynx -DX_LOCALE -D__i386__ -DNO_MMAP
+# else
+# define StandardDefines -DLynx -DX_LOCALE -D__i386__
+# endif
+# else
+# if OSMajorVersion <= 3
+# define StandardDefines -DLynx -DX_LOCALE -DNO_MMAP
+# else
+# define StandardDefines -DLynx -DX_LOCALE
+# endif
+# endif
+#endif
+
+#define StandardCppOptions -traditional
+#define StandardCppDefines StandardDefines
+#if defined(i386Architecture) || defined(PpcArchitecture)
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+# if OSMajorVersion == 2 && OSMinorVersion < 5
+# define XkbServerDefines -DNEED_POPEN_WORKAROUND
+# endif
+#else
+# if defined(SparcArchitecture)
+# define SparcConsoleDefines /* -DPATCHED_CONSOLE */
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines -DGCCUSESGAS SparcConsoleDefines
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+# else
+# define ServerOSDefines /**/
+# define ServerExtraDefines -DGCCUSESGAS
+# endif
+#endif
+#define ServerExtraSysLibs $(CBRT) MathLibrary
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
+#if OSMajorVersion <= 2 && OSMinorVersion < 5
+# define ExtraLibraries -lbsd
+#else
+# define ExtraLibraries -lbsd -llynx
+#endif
+#if !HasGcc2
+# define ExtraLoadFlags -k
+#endif
+#if OSMajorVersion == 2 && OSMinorVersion <= 2
+# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+/* If you have the mtrr driver installed you might want to enable this */
+#ifndef HasMTRRSupport
+#define HasMTRRSupport NO
+#endif
+
+#if (defined(i386Architecture) || defined(PpcArchitecture)) && (OSMajorVersion > 2 || OSMinorVersion > 2)
+# ifndef DoLoadableServer
+# define DoLoadableServer YES
+# endif
+#endif
+
+
+/* define HasMotif to YES for LynxOS with Motif
+ * installed according to the notes in README.LynxOS.
+ */
+#ifndef HasMotif
+# define HasMotif NO
+#endif
+#ifndef MetroLink
+/* We handle the Motif stuff elsewhere */
+#if HasMotif
+# ifndef UseInstalledMotif
+# define UseInstalledMotif YES
+# endif
+# ifndef SaberProgramTarget
+# define SaberProgramTarget(program,srclist,objlist,locallibs,syslibs) /**/
+# endif
+# define LocalTmplFile <Motif.tmpl>
+# define LocalRulesFile <Motif.rules>
+#endif
+#endif
+
+#define ManSourcePath $(MANPATH)/cat
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+#ifndef ManDir
+# define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+# define LibManSuffix 3
+#endif
+#ifndef LibmanDir
+# define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+# define FileManSuffix 5
+#endif
+#ifndef FileManDir
+# define FileManDir $(MANSOURCEPATH)5
+#endif
+
+#define HasGroff YES
+
+/* groff 1.09 compiles right out of the box with LynxOS 2.3,
+ * so if you want to have manual pages you should install groff 1.09
+ * before you run 'make install.man'
+ */
+#ifndef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+install.man:: file.$(MANNEWSUFFIX) @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.$(MANSUFFIX)* @@\
+ groff -e -t -man -Tascii file.$(MANNEWSUFFIX) >/tmp/file.man @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
+ echo dest dest $(MANSUFFIX) >> $(DESTDIR)destdir/LIST$(MANSUFFIX) @@\
+ gawk ' \ @@\
+ /^\.SH[ ]*NAME/ { \ @@\
+ getline; sub("\\\\", "(" p ") "); print; exit \ @@\
+ }' p=$(MANSUFFIX) file.$(MANNEWSUFFIX) >> $(DESTDIR)destdir/../whatis @@\
+ $(RM) /tmp/file.man
+#endif
+
+#ifndef InstallManPageAliases
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+install.man:: @@\
+ @(SUFFIX=`echo $(DESTDIR)destdir/file.* | cut -f2,3 -d.`; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.*; \ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \ @@\
+ $$i.$${SUFFIX})); \ @@\
+ echo $$i dest $(MANSUFFIX) >> $(DESTDIR)destdir/LIST$(MANSUFFIX); \ @@\
+ done)
+#endif
+
+#ifndef InstallGenManPageLong
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+install.man:: file.$(MANNEWSUFFIX) @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.suffix* @@\
+ groff -e -t -man -Tascii file.$(MANNEWSUFFIX) >/tmp/file.man @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.suffix @@\
+ echo dest dest suffix >> $(DESTDIR)destdir/Concat(LIST,suffix) @@\
+ gawk ' \ @@\
+ /^\.SH[ ]*NAME/ { \ @@\
+ getline; sub("\\\\", "(" p ") "); print; exit \ @@\
+ }' p=suffix file.$(MANNEWSUFFIX) >> $(DESTDIR)destdir/../whatis @@\
+ $(RM) /tmp/file.man
+#endif
+
+#ifndef InstallMultipleMan
+#define InstallMultipleMan(list,dest) @@\
+install.man:: list @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ set -x; \ @@\
+ $(RM) $(DESTDIR)dest/$${MNAME}*; \ @@\
+ groff -e -t -man -Tascii $$i >/tmp/$$i; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX); \ @@\
+ echo $${MNAME} $${MNAME} $(MANSUFFIX) >> $(DESTDIR)dest/LIST$(MANSUFFIX)\ @@\
+ gawk ' \ @@\
+ /^\.SH[ ]*NAME/ { \ @@\
+ getline; sub("\\\\", "(" p ") "); print; exit \ @@\
+ }' p=$(MANSUFFIX) $$i >> $(DESTDIR)dest/../whatis \ @@\
+ $(RM) /tmp/$$i); \ @@\
+ done
+#endif
+
+/*
+ * Definitions for the SUN server on LynxOS SPARC
+ */
+#ifdef SparcArchitecture
+# define XsunLynxServer YES
+# define XsunLynxMonoServer NO
+# ifndef BuildScreenSaverLibrary
+# define BuildScreenSaverLibrary YES
+# endif
+# if BuildXInputExt
+# undef BuildXInputExt
+# endif
+# define BuildXInputExt NO
+# define BuildXF86MiscExt NO
+# define BuildXF86VidModeExt NO
+/*
+ * XFree86 uses its own (more portable) database routines to speed up
+ * the RGB database lookups
+ * However, if you want to use ndbm anyway, you can set that to NO in
+ * site.def
+ */
+# ifndef UseRgbTxt
+# define UseRgbTxt YES
+# endif
+#endif
+
+#if !defined(i386Architecture) && !defined(PpcArchitecture)
+# define BuildXF86DGA NO
+#endif
+
+#if 0
+#include <lynxLib.rules>
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/macII.cf b/nx-X11/config/cf/macII.cf
new file mode 100644
index 000000000..8b0ce689b
--- /dev/null
+++ b/nx-X11/config/cf/macII.cf
@@ -0,0 +1,51 @@
+XCOMM platform: $Xorg: macII.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifndef OSName
+#define OSName A/UX 3.0.1
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 3
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 1
+#endif
+XCOMM operating system: OSName
+
+#if HasGcc
+#define BootstrapCFlags -DmacII
+#endif
+#define SystemV YES
+#define HasPoll NO
+#define NeedBerklib YES
+#define ExtraLibraries $(XBSDLIB) -lposix -lm -lmr
+#define Malloc0ReturnsNull YES
+#define StandardDefines -DmacII -DSYSV
+#define ExecableScripts NO
+#define RemoveTargetProgramByMoving YES
+#define ExpandManNames YES
+#define XmacIIServer YES
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#if MacHasc89
+#define CcCmd c89 -D_POSIX_SOURCE
+#else
+#define HasVoidSignalReturn NO
+#endif
+#if OSMajorVersion <= 2
+#define ServerExtraDefines -DSUPPORT_2_0
+#endif
+#define InstKmemFlags -g sys -m 2711
+#define ExtensionOSDefines -DXTESTEXT1
+
+#if !HasGcc
+#define DefaultCCOptions -A 3
+#endif
+
+/*
+ * If you wish to override the man page directories, do so here using just
+ * one tab between the parameter name (e.g. ManDirectoryRoot) and the
+ * value so that cpp doesn't get confused.
+ */
+#define ManDirectoryRoot /usr/catman/u_man
diff --git a/nx-X11/config/cf/mach.cf b/nx-X11/config/cf/mach.cf
new file mode 100644
index 000000000..1347e7da9
--- /dev/null
+++ b/nx-X11/config/cf/mach.cf
@@ -0,0 +1,76 @@
+XCOMM $Xorg: mach.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/mach.cf,v 3.12 2001/01/17 16:22:32 dawes Exp $
+
+#define OSName Mach 2.5/3.0
+#define OSVendor /**/
+XCOMM operating system: OSName
+#define OSMajorVersion 1
+#define OSMinorVersion 1
+
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define UseGccMakeDepend YES
+
+#define CcCmd gcc
+#define CppCmd /usr/mach3/lib/gcc-lib/i386-mach/2.3.3/cpp
+#define PreProcessCmd /usr/mach3/lib/gcc-lib/i386-mach/2.3.3/cpp
+#define DefaultCCOptions /**/
+#define GccGasOption -DGCCUSESGAS
+
+#define AsmDefines -DUSE_GAS
+#define BootstrapCFlags -DNOSTDHDRS
+#define ExtensionOSDefines /* -DXTESTEXT1 */
+#define ServerExtraSysLibs /usr/lib/libmach.a
+#ifdef i386Architecture
+#define ServerExtraDefines GccGasOption XFree86ServerDefines
+#else
+#define ServerExtraDefines GccGasOption
+#endif
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#define StandardDefines -DNOSTDHDRS -DMACH386
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+
+#define AvoidNullMakeCommand YES
+#define CompressAllFonts YES
+#define DirFailPrefix -
+#define HasNdbm YES
+#define HasPutenv YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+#define StripInstalledPrograms YES
+
+#ifndef GnuMallocLibrary
+#define GnuMallocLibrary /* -lgnumalloc */
+#endif
+
+#ifdef InstallCmd
+#undef InstallCmd
+#endif
+#define InstallCmd /usr/bin/install
+
+#ifndef PreIncDir
+# define PreIncDir /usr/include
+#endif
+
+#define HasGroff YES
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.core
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#ifdef i386Architecture
+# include <xorg.cf>
+#endif
diff --git a/nx-X11/config/cf/mingw.cf b/nx-X11/config/cf/mingw.cf
new file mode 100644
index 000000000..a9cdedc53
--- /dev/null
+++ b/nx-X11/config/cf/mingw.cf
@@ -0,0 +1,551 @@
+/* MingGW vendor strings and version */
+#include "xorgversion.def"
+
+#ifndef CygxVersionMajor
+# define CygxVersionMajor XORG_VERSION_MAJOR
+#endif
+#ifndef CygxVersionMinor
+# define CygxVersionMinor XORG_VERSION_MINOR
+#endif
+#ifndef CygxVersionPatch
+# define CygxVersionPatch XORG_VERSION_PATCH
+#endif
+#ifndef CygxVersionSnap
+# define CygxVersionSnap XORG_VERSION_SNAP
+#endif
+#ifndef CygxVersionServer
+# define CygxVersionServer 0
+#endif
+
+#ifndef CygxVersion
+# define CygxVersion (10000000 * CygxVersionMajor + 100000 * CygxVersionMinor + 1000 * CygxVersionPatch + CygxVersionSnap)
+#endif
+
+#ifndef CygxVersionString
+# define CygxVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap%CygxVersionServer| sed -e 's/ /./g' -e 's/%/-/g'`
+#endif
+
+#ifndef CygxManVersionString
+# define CygxManVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap| sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+#endif
+
+#ifndef XVendorString
+# define XVendorString "The Cygwin/X Project"
+#endif
+#ifndef XVendorRelease
+# define XVendorRelease CygxVersion
+#endif
+#ifndef XVendorManVersionString
+# define XVendorManVersionString CygxManVersionString
+#endif
+#ifndef XVendorManNameString
+# define XVendorManNameString "Xming"
+#endif
+#ifndef XVendorContact
+# define XVendorContact "win32-x11@sources.redhat.com"
+#endif
+
+/* Operating system strings and version */
+#ifndef OSName
+# define OSName Windows
+#endif
+#ifndef OSVendor
+# define OSVendor Microsoft
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+
+#ifndef ProjectRoot
+# define ProjectRoot /usr/X11R6
+#endif
+
+/*
+ * GNU Compiler stuff
+ */
+#ifndef HasGcc3
+# define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+# define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+# define HasGcc HasGcc2
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus HasGcc2
+#endif
+
+#if HasGcc
+# ifndef Gcc28Warnings
+# if (GccMajorVersion > 2) || \
+ ((GccMajorVersion == 2) && (GccMinorVersion >= 8))
+# define Gcc28Warnings -Wundef
+# else
+# define Gcc28Warnings /* */
+# endif
+# ifndef HasGcc33
+# if (((GccMajorVersion == 3) && (GccMinorVersion >= 3)) || \
+ (GccMajorVersion > 3))
+# define HasGcc33 YES
+# else
+# define HasGcc33 NO
+# endif
+# endif
+# ifndef HasGcc34
+# if (((GccMajorVersion == 3) && (GccMinorVersion >= 4)) || \
+ (GccMajorVersion > 3))
+# define HasGcc34 YES
+# else
+# define HasGcc34 NO
+# endif
+# endif
+# endif
+# ifndef GccWarningOptions
+# if XFree86Devel
+# define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs Gcc28Warnings
+# else
+# define GccWarningOptions -Wall -Wpointer-arith Gcc28Warnings
+# endif
+# endif
+# ifndef DefaultCCOptions
+# if defined(UseInstalled)
+# define DefaultCCOptions
+# else
+# define DefaultCCOptions GccWarningOptions
+# endif
+# endif
+# if defined(UseInstalled)
+# ifndef UseGccMakeDepend
+# define UseGccMakeDepend YES
+# endif
+# endif
+#endif
+
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define UnixCpp /* Just a flag that affects Concat macros in Imake.rules */
+#define HasShadowPasswd NO
+#define HasLibCrypt YES
+#define HasPutenv YES
+#define HasFchown NO
+#define HasPoll NO
+#if (OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion >= 5)
+# define HasStrlcat YES
+#endif
+#define HasShm NO
+
+/* snprintf from windows runtime does return -1 if the buffer is to small */
+#define HasSnprintf NO
+
+#define HasFfs NO
+
+#ifndef HasMakefileSafeInclude
+# define HasMakefileSafeInclude YES
+#endif
+
+#define Hastcl NO
+#define Hastk NO
+
+#define HasSockets NO
+#define GzipFontCompression YES
+#define HasZlib NO
+#define HasFreetype2 NO
+
+/* We don't need -lm */
+#define MathLibrary /**/
+
+/*
+ * /lib/libtermcap.a doesn't have tgetent, which is needed for
+ * xc/programs/xterm/resize.exe
+ */
+#define TermcapLibrary -lncurses.dll
+
+#define AvoidNullMakeCommand YES
+#define StripInstalledPrograms YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull NO
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+#define SetTtyGroup YES
+#define ExpandManNames YES
+#define HasDlopen NO
+#define HasGnuMake YES
+#define UseGccMakeDepend NO
+#define ThreadedX YES
+#define HasThreadSafeAPI YES
+#if !CrossCompiling
+#define CaseSensitiveFileSystem NO
+#endif
+#define HasWChar32 YES
+#define HasBasename NO /* basename() in libc */
+
+#define LnCmd ln -s
+#ifndef CcCmd
+# define CcCmd gcc
+#endif /* CcCmd */
+#ifndef CplusplusCmd
+# define CplusplusCmd g++
+#endif /* CplusplusCmd */
+#ifndef AsCmd
+# define AsCmd as
+#endif /* AsCmd */
+
+#define GccGasOption -DGCCUSESGAS
+#define AsmDefines -DUSE_GAS -DGCCUSESGAS
+
+#ifndef LdCmd
+# define LdCmd gcc -lautomode
+#endif /* LdCmd */
+
+#define MkdirHierCmd mkdir -p
+
+#ifndef CppCmd
+# define CppCmd cpp
+#endif /* CppCmd */
+#ifndef YaccCmd
+# define YaccCmd bison -y
+#endif /* YaccCmd */
+
+#define LexCmd flex -l
+#define LexLib -lfl
+#define HasFlex YES
+#ifndef CrossCompileDir
+# ifndef HasExpat
+# define HasExpat YES
+# endif
+# ifndef HasFreetype2
+# define HasFreetype2 YES
+# endif
+# ifndef HasFontconfig
+# define HasFontconfig YES
+# endif
+#endif
+
+/* Cygwin-specific Windows resource compiler command */
+#ifdef CrossCompileDir
+# ifndef WindresCmd
+# define WindresCmd Concat3(CrossCompileDir,/,windres)
+# endif
+#else
+# ifndef WindresCmd
+# define WindresCmd windres
+# endif
+#endif
+
+#define PreProcessCmd CcCmd -E
+
+#ifndef PostIncDir
+# ifdef CrossCompileDir
+# define PostIncDir `CrossCompileDir/CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
+# else
+# define PostIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
+# endif
+#endif
+#ifndef ExtraIncDir
+# ifdef CrossCompileDir
+# define ExtraIncDir CrossCompileDir/../include/w32api
+# else
+# define ExtraIncDir /usr/include/w32api
+# endif
+#endif
+
+#ifndef BourneShell
+/*
+ * This will cause builds/installs to terminate on errors, as on other
+ * platforms.
+ */
+#define BourneShell /bin/sh -e
+#endif
+
+#define LdCombineFlags -r
+
+#ifndef DefaultCCOptions
+# define DefaultCCOptions -Wall -Wpointer-arith
+#endif
+
+/* Cygwin 1.5.x now includes alloca */
+#if OSMinorVersion >= 5
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+#else
+# define AllocateLocalDefines -DNO_ALLOCA
+#endif
+
+#ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2 -fno-strength-reduce
+#endif
+
+/*
+ * -DFD_SETSIZE=256 is needed for xfs and the xserver. cygwin defines the
+ * FD_SETSIZE as 64 but some code expects it to be larger.
+ */
+#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE \
+ -D_X86_ -DWIN32 -D_XOPEN_SOURCE \
+ -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE \
+ -D_SVID_SOURCE -D_GNU_SOURCE -DFD_SETSIZE=1024 \
+ -DXResExtension
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H \
+ -DHAS_ISW_FUNCS -DNO_WIDEC_H
+#define StandardCppOptions -traditional
+
+/* Cygwin shared memory requires cygipc package or cygserver. */
+#if UseCygIPC
+# if ThreadedX
+# define StandardCppDefines -DHAS_THREADS -DHAS_SHM StandardDefines
+# else
+# define StandardCppDefines -DHAS_SHM StandardDefines
+# endif
+#else
+# if ThreadedX
+# define StandardCppDefines -DHAS_THREADS StandardDefines
+# else
+# define StandardCppDefines StandardDefines
+# endif
+#endif
+
+#define BuildIPv6 NO
+#define BuildLBX NO
+
+/*
+ * This requires the pthreads-win32 library
+ * It is available from http://www.sourceware.org/pthreads-win32
+ */
+#ifndef HasPThreads
+# define HasPThreads YES
+#endif
+
+/* Most libraries do not compile with mingw. Build only the servers. */
+#ifndef BuildServersOnly
+# define BuildServersOnly YES
+#endif
+
+/* Enable those parts that do work and are required for running Xming */
+#ifndef BuildXextLib
+# define BuildXextLib YES
+#endif
+#ifndef BuildXkbcomp
+# define BuildXkbcomp YES
+#endif
+
+/* XWin Server specific build flags */
+#ifndef GlxUseWindows
+# define GlxUseWindows YES
+#endif
+#if !GlxUseWindows
+# define GlxExtraDefines -DAPIENTRY=GLAPIENTRY
+#endif
+
+#ifndef BuildXWinClipboard
+# define BuildXWinClipboard HasPThreads
+#endif
+#ifndef BuildXWinEmulatePseudo
+# define BuildXWinEmulatePseudo NO
+#endif
+#ifndef BuildXWinMultiWindow
+# define BuildXWinMultiWindow HasPThreads
+#endif
+#ifndef BuildXWinMultiWindowExtWM
+# define BuildXWinMultiWindowExtWM HasPThreads
+#endif
+#ifndef BuildXWinNativeGDI
+# define BuildXWinNativeGDI NO
+#endif
+#ifndef BuildXWinPrimaryFB
+# define BuildXWinPrimaryFB NO
+#endif
+#ifndef BuildXWinUpdateStats
+# define BuildXWinUpdateStats NO
+#endif
+#ifndef BuildXWinXF86Config
+# define BuildXWinXF86Config NO
+#endif
+
+/* XWin specific build flags - 1st order dependency */
+#if BuildXWinMultiWindowExtWM && !defined(BuildWindowsWMLibrary)
+# define BuildWindowsWMLibrary YES
+#elif !defined(BuildWindowsWMLibrary)
+# define BuildWindowsWMLibrary NO
+#endif /* BuildXWinMultiWindowExtWM && BuildWindowsWMLibrary */
+
+#if (BuildXWinClipboard || BuildXWinMultiWindow || BuildXWinMultiWindowExtWM) && !defined(BuildX11Lib)
+# define BuildX11Lib YES
+#endif
+
+/* XWin Server specific defines */
+#if BuildXWinClipboard
+# define XWinClipboardDefines -DXWIN_CLIPBOARD
+#else
+# define XWinClipboardDefines
+#endif /* BuildXWinClipboard */
+#if BuildXWinEmulatePseudo
+# define XWinEmulatePseudoDefines -DXWIN_EMULATEPSEUDO
+#else
+# define XWinEmulatePseudoDefines
+#endif /* BuildXWinEmulatePseudo */
+#if BuildXWinMultiWindow
+# define XWinMultiWindowDefines -DXWIN_MULTIWINDOW
+#else
+# define XWinMultiWindowDefines
+#endif /* BuildXWinMultiWindow */
+#if BuildXWinMultiWindowExtWM
+# define BuildRootless YES
+# define XWinMultiWindowExtWMDefines -DXWIN_MULTIWINDOWEXTWM
+#else /* BuildXWinMultiWindowExtWM */
+# define XWinMultiWindowExtWMDefines
+#endif /* BuildXWinMultiWindowExtWM */
+#if BuildXWinNativeGDI
+# define XWinNativeGDIDefines -DXWIN_NATIVEGDI
+#else
+# define XWinNativeGDIDefines
+#endif /* BuildXWinNativeGDI */
+#if BuildXWinPrimaryFB
+# define XWinPrimaryFBDefines -DXWIN_PRIMARYFB
+#else
+# define XWinPrimaryFBDefines
+#endif /* BuildXWinPrimaryFB */
+#if BuildXWinUpdateStats
+# define XWinUpdateStatsDefines -DXWIN_UPDATESTATS
+#else
+# define XWinUpdateStatsDefines
+#endif /* BuildXWinUpdateStats */
+#if BuildXWinXF86Config
+# define XWinXF86ConfigDefines -DXWIN_XF86CONFIG
+#else
+# define XWinXF86ConfigDefines
+#endif /* BuildXWinXF86Config */
+
+#if HasPThreads
+# define XWinPThreadsDefines -DPTW32_DLLPORT=
+#else
+# define XWinPThreadsDefines
+#endif /* HasPThreads */
+
+/*
+ * XFree86Server is defined for the w32api headers, which protects some
+ * colliding names with #ifdef XFree86Server.
+ */
+#define XWinServerDefines -DPIXPRIV \
+ -DXFree86Server \
+ -DX_BYTE_ORDER=ByteOrder \
+ XvExtensionDefines \
+ XWinXF86ConfigDefines XWinNativeGDIDefines \
+ XWinPrimaryFBDefines \
+ XWinEmulatePseudoDefines \
+ XWinUpdateStatsDefines \
+ XWinClipboardDefines XWinMultiWindowDefines \
+ XWinMultiWindowExtWMDefines \
+ XWinPThreadsDefines \
+ -DDDXBEFORERESET
+#define ServerOSDefines -DDDXTIME -DDDXOSINIT \
+ -DDDXOSVERRORF -DDDXOSFATALERROR
+#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+#define ServerExtraDefines -DGCCUSESGAS XWinServerDefines \
+ AllocateLocalDefines
+#define ConnectionFlags -DTCPCONN
+#define ExtraLibraries
+#define InstUidFlags -m 4711
+#define UseRgbTxt YES
+#define ExtraFilesToClean *.obj *.orig *.rej junk.c *.exe *.dll *.lib *~
+
+/* Flags for which the default in X11.tmpl is not what we want. */
+#ifndef BuildXinerama
+# define BuildXinerama NO /* Not supported by XWin Server */
+#endif
+#ifndef BuildXIE
+# define BuildXIE NO /* Deprecated */
+#endif
+#ifndef BuildDPMS
+# define BuildDPMS NO /* Not supported by XWin Server */
+#endif
+#ifndef BuildXInputExt
+# define BuildXInputExt YES /* Not enabled by default */
+#endif
+#ifndef BuildRandR
+# define BuildRandR YES /* Not supported by XWin Server */
+#endif
+#ifndef BuildXF86BigfontExt
+# define BuildXF86BigfontExt NO
+#endif
+#ifndef BuildGlxExt
+# define BuildGlxExt YES
+#endif
+#ifndef BuildXprintLib
+# define BuildXprintLib NO
+#endif
+#ifndef BuildXprint
+# define BuildXprint NO
+#endif
+#ifndef BuildXterm
+# define BuildXterm NO /* Built separately on Cygwin */
+#endif
+#ifndef BuildXResExt
+# define BuildXResExt YES /* Not enabled by default */
+#endif
+#ifndef BuildFreeType
+# define BuildFreeType YES /* Not enabled by default */
+#endif
+#ifndef BuildXTrueType
+# define BuildXTrueType YES /* Not enabled by default */
+#endif
+
+/* Server build rules */
+#ifndef XnestServer
+# define XnestServer NO
+#endif
+#ifndef XprtServer
+# define XprtServer NO
+#endif
+#ifndef XVirtualFramebufferServer
+# define XVirtualFramebufferServer NO
+#endif
+#ifndef XWinServer
+# define XWinServer YES
+#endif
+
+/*
+ * --unix option of Cygwin make fools the standard MakeFlagsToShellFlags macro
+ */
+#define MakeFlagsToShellFlags(makeflags,shellcmd) \
+ for flag in ${MAKEFLAGS} ''; do \ @@\
+ case "$$flag" in *=*) ;;--*) ;; *[makeflags]*) shellcmd;; esac; done
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+
+#ifndef XtransFailSoft
+#define XtransFailSoft YES
+#endif
+
+#ifndef HasDevWindows
+# define HasDevWindows NO
+#endif
+
+#ifndef RelocateProjectRoot
+# define RelocateProjectRoot YES
+#endif
+
+#ifndef UseInstalledOnCrossCompile
+# define UseInstalledOnCrossCompile YES
+#endif
+
+#include <mingw.rules>
+
+#if CrossCompiling
+#include <cross.def>
+#endif
diff --git a/nx-X11/config/cf/mingw.rules b/nx-X11/config/cf/mingw.rules
new file mode 100644
index 000000000..505b0685c
--- /dev/null
+++ b/nx-X11/config/cf/mingw.rules
@@ -0,0 +1,445 @@
+/*
+ * Cygwin shared library rules (DLL versions)
+ */
+
+#define HasSharedLibraries YES
+#define NeedLibInsideFlag NO
+#define ForceNormalLib NO
+#define NormalLibX11 NO
+# define SharedLibFont NO
+# define SharedLibFontEnc NO
+# define SharedLibWindowsWM NO
+# define SharedLibxkbfile YES
+
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <mingw.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -dll /**/
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -D_DLL
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -D_DLL
+#endif
+#ifndef UseExportLists
+#define UseExportLists YES
+#endif
+
+#define SharedLibraryName(libname, rev) \
+Concat3(lib,libname,-$(shell echo rev|sed s=\\..*==).dll)
+
+#define ImportLibraryName(libname, rev) \
+Concat3(lib,libname,-$(shell echo rev|sed s=\\..*==).dll.a)
+
+#define ShortImportLibraryName(libname, rev) \
+Concat3(lib,libname,.dll.a)
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+
+#ifndef SharedDepLibraryTarget
+# ifdef UseInstalled
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib)
+# endif
+# else /* !UseInstalled */
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); @@\
+ cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+# endif
+# endif /* UseInstalled */
+
+
+/*
+ * SharedDepLibraryTarget
+ */
+
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): deplist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+
+#ifndef SharedDepCplusplusLibraryTarget
+# ifdef UseInstalled
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib)
+# endif
+# else /* !UseInstalled */
+# ifndef LinkBuildSonameLibrary
+# define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); @@\
+ cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+# endif
+# endif /* UseInstalled */
+
+
+/*
+ * SharedDepCplusplusLibraryTarget
+ */
+
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): deplist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeCplusplusDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+#endif /* SharedDepCplusplusLibraryTarget */
+
+
+/*
+ * SharedDepModuleTarget
+ */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ @@\
+clean:: @@\
+ RemoveFile(name)
+#endif /* SharedDepModuleTarget */
+
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shared data file
+ */
+
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif
+
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+/*
+ * MakeDllProg
+ */
+
+#define MakeDLLProg(libname,solist,prog,rev) @@\
+ prog -shared -Wl,--out-implib=ImportLibraryName(libname,rev) -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc -Wl,--exclude-libs,ALL -o SharedLibraryName(libname,rev) solist $(REQUIREDLIBS) -lws2_32
+
+/*
+ * MakeDll
+ */
+
+#define MakeDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CC),rev)
+
+/*
+ * MakeCplusplusDll
+ */
+
+#define MakeCplusplusDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CXX),rev)
+
+
+
+/*
+ * SharedLibraryTarget
+ */
+
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
+ @@\
+SharedLibraryName(libname,rev): solist @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+
+
+/*
+ * InstallLink
+ */
+
+#ifndef InstallLink
+#define InstallLink(step, file, link, dest) @@\
+step:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(LN) -sf file $(DESTDIR)dest/link
+#endif
+
+/*
+ * InstallSharedLibrary
+ */
+
+#define InstallSharedLibrary(libname,rev,dest) @@\
+InstallTarget(install,ImportLibraryName(libname,rev),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
+InstallTarget(install,SharedLibraryName(libname,rev),$(INSTBINFLAGS),$(BINDIR)) @@\
+InstallLink(install,ImportLibraryName(libname,rev),ShortImportLibraryName(libname,rev),$(USRLIBDIR))
+
+
+/*
+ * ProgramTargetName - This can be simply 'target' or 'target.exe' when
+ * building on Cygwin proper, as Cygwin automatically appends .exe to compiled
+ * executables and make, rm, ln, etc. will automatically search for a file
+ * with .exe appended if the raw file name cannot be found. However,
+ * building with a cross compiler requires 'target.exe', as the cross
+ * compiler doesn't know to append .exe, nor do the cross compiler tools
+ * know to search for files with .exe appended if the raw file name cannot
+ * be found.
+ */
+
+#define ProgramTargetName(target) Concat(target,.exe)
+
+
+/*
+ * HostProgramTargetName - Don't add .exe if cross-compiling.
+ */
+
+#ifndef HostProgramTargetName
+# if CrossCompiling
+# define HostProgramTargetName(target) target
+# else
+# define HostProgramTargetName(target) ProgramTargetName(target)
+# endif
+#endif
+
+
+/*
+ * LinkBuildDLL - Cygwin only rule, similar to LinkBuildModule.
+ * Unfortunately, we have to create a copy of each DLL in xc/exports/bin;
+ * linking doesn't work, the executables (e.g. xkbcomp) will report
+ * that they cannot find DLLs (e.g. libX11.dll).
+ */
+
+#ifdef UseInstalled
+#define LinkBuildDLL(lib) $(_NULLCMD_)
+#else
+#define LinkBuildDLL(lib) MakeDir($(BUILDBINDIR)) @@\
+ RemoveFile($(BUILDBINDIR)/lib) @@\
+ cd $(BUILDBINDIR) && $(CP) $(BUILDBINTOP)/$(CURRENT_DIR)/lib .
+#endif
+
+#ifndef LinkImportLibrary
+#ifdef UseInstalled
+#define LinkImportLibrary(lib, importlib) $(_NULLCMD_)
+#else
+#define LinkImportLibrary(lib, importlib) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/importlib) @@\
+ cd $(BUILDLIBDIR) && $(LN) lib importlib
+#endif
+#endif /* LinkImportLibrary */
+
+
+/*
+ * LinkBuildBinary - This rule normally creates a link in xc/exports/bin
+ * to a binary, but we create an actual copy of the binary.
+ * Creating a link causes the DLLs that the binary depend on, such as
+ * libX11.dll, not to be found. Copying the binary causes the runtime
+ * directory to be xc/exports/bin, which is the location of the DLLs, thus,
+ * the DLLs can now be found by the binary. Phew...
+ *
+ * Note that sometimes the binary is not an executable. One example
+ * is the rgb binary file.
+ *
+ * Passing -p preserves the attributes as the date and prevents useless
+ * rebuilds.
+ *
+ * ProgramTargetName is passed to LinkBuildBinary if the binary
+ * is actually an executable; thus, we do not wrap the binary name
+ * with ProgramTargetName here.
+ */
+
+#ifndef LinkBuildBinary
+#define LinkBuildBinary(binary) @@\
+all:: binary @@\
+ MakeDir($(BUILDBINDIR)) @@\
+ RemoveFile($(BUILDBINDIR)/binary) @@\
+ cd $(BUILDBINDIR) && $(CP) -p $(BUILDBINTOP)/$(CURRENT_DIR)/binary .
+#endif /* LinkBuildBinary */
+
+/*
+ * ProfiledRelocatableTarget - generate rules to produce a profiled
+ * relocatable object file instead of a library. Differs from Imake.rules
+ * by passing '--oformat pe-i386' to ld.
+ */
+
+#ifndef ProfiledRelocatableTarget
+#define ProfiledRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_p.Osuf)) @@\
+ @@\
+Concat(objname,_p.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r --oformat pe-i386 objlist -o $@
+
+#endif /* ProfiledRelocatableTarget */
+
+
+/*
+ * DebuggedRelocatableTarget - generate rules to produce a debuggable
+ * relocatable object file instead of a library. Differs from Imake.rules
+ * by passing '--oformat pe-i386' to ld.
+ */
+
+#ifndef DebuggedRelocatableTarget
+#define DebuggedRelocatableTarget(objname,objlist) @@\
+AllTarget(Concat(objname,_d.Osuf)) @@\
+ @@\
+Concat(objname,_d.Osuf): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(LD) -X -r --oformat pe-i386 objlist -o $@
+
+#endif /* DebuggedRelocatableTarget */
+
+
+/*
+ * DependDependencyStatement - Imake.rules wraps $(DEPEND) in
+ * ProgramTargetName(), which causes cross compiling to think that
+ * $(DEPEND) hasn't been built, as $(DEPEND) is a host tool, and should
+ * not be wrapped with ProgramTargetName(). Perhaps there should be
+ * a HostProgramTargetName()...
+ */
+
+#ifndef DependDependencyStatement
+#if HasMakefileSafeInclude
+#define DependDependencyStatement() @@\
+DependFileName:: $(DEPEND)
+#else
+#define DependDependencyStatement() @@\
+depend:: $(DEPEND)
+#endif
+#endif
+
+
+/*
+ * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
+ * This doesn't work when cross compiling, see the locally defined
+ * DependDependencyStatement comment (above) for more information.
+ */
+
+#ifndef DependDependency
+#ifdef UseInstalled
+#define DependDependency() /**/
+#else
+#define DependDependency() @@\
+DependDependencyStatement() @@\
+ @@\
+NoCmpScript($(DEPEND)) @@\
+ @@\
+$(DEPEND): @@\
+ @echo "checking $@ over in $(DEPENDSRC) first..."; \ @@\
+ cd $(DEPENDSRC) && $(MAKE) makedependonly; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+#endif /* DependDependency */
+
+
+/*
+ * ImakeDependency - Imake.rules wraps $(IMAKE) in ProgramTargetName(),
+ * which doesn't work when cross compiling, as imake is supposed to be a
+ * host program. See the locally defined DependDependencyStatement
+ * comment (above) for more information.
+ */
+
+#ifndef ImakeDependency
+#ifdef UseInstalled
+#define ImakeDependency(target) /**/
+#else
+#define ImakeDependency(target) @@\
+target:: $(IMAKE) @@\
+ @@\
+NoCmpScript($(IMAKE) $(IMAKE).Osuf) @@\
+ @@\
+$(IMAKE) $(IMAKE).Osuf: @@\
+ -@(cd $(IMAKESRC) && if [ -f Makefile ]; then \ @@\
+ echo "checking $@ in $(IMAKESRC) first..."; $(MAKE) imakeonly; else \ @@\
+ echo "bootstrapping $@ from Makefile.ini in $(IMAKESRC) first..."; \ @@\
+ $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"; fi; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)")
+#endif /* UseInstalled */
+#endif /* ImakeDependency */
+
+
+/*
+ * ResourceObjectRule - Build a Windows resouce file (.res) into
+ * an object file (.o) that can be linked in with the executable
+ * or library being built.
+ */
+
+#ifndef ResourceObjectRule
+#define ResourceObjectRule(basename,depends,options) @@\
+AllTarget(basename.RESsuf) @@\
+basename.RESsuf: basename.RCsuf depends @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \ @@\
+ WindresCmd basename.RCsuf options -O coff -o basename.RESsuf @@\
+clean:: @@\
+ RemoveFiles(basename.RESsuf)
+
+#endif /* ResourceObjectRule */
+
+/* The arglist can get quite long. Make sure we can delete it though */
+#ifndef MakeFonts
+# define MakeFonts() @@\
+all:: $(OBJS) @@\
+ @@\
+MakeFontsDir($(OBJS)) @@\
+ @@\
+clean:: @@\
+ find -name "*.pcf" -o -name "*.pcf.Z" -o -name "*.pcf.gz" | xargs -r rm
+#endif /* MakeFonts */
+
+#ifndef IncludeMakefile
+#define IncludeMakefile(file) @@sinclude file
+#endif
+
+
+#ifndef ProjectUnsharedLibReferences
+#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\
+Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,buildlibdir/,LibraryTargetName(libname)) @@\
+Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) $(Concat(varname,EXTLIB)) @@\
+LintLibReferences(varname,libname,libsource)
+#endif
+
+XONLYEXTLIB = -lwsock32
diff --git a/nx-X11/config/cf/mingw.tmpl b/nx-X11/config/cf/mingw.tmpl
new file mode 100644
index 000000000..6be56d117
--- /dev/null
+++ b/nx-X11/config/cf/mingw.tmpl
@@ -0,0 +1,77 @@
+XCOMM $XFree86: xc/config/cf/cygwin.tmpl,v 3.18 2003/10/19 08:27:05 herrb Exp $
+
+#define SharedX11Reqs -lwsock32
+#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS)
+#define SharedXtReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XONLYLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXpReqs $(LDPRELIB) $(XAUTHLIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+/*
+ * We don't build Xss
+ * #define SharedXssReqs $(LDPRELIB) $(XLIB)
+ */
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXfixesReqs $(LDPRELIB) $(XLIB)
+#define SharedXdamageReqs $(LDPRELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB)
+#define SharedXevieReqs $(LDPRELIB) $(XLIB)
+
+#ifndef FixupLibReferences
+# define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+# define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+
+/*
+ * Suffix for Windows resource source files
+ */
+
+#ifndef RCsuf
+# define RCsuf rc
+#endif
+
+
+/*
+ * Suffix for Windows resource compiled files
+ */
+
+#ifndef RESsuf
+# define RESsuf res
+#endif
diff --git a/nx-X11/config/cf/minix.cf b/nx-X11/config/cf/minix.cf
new file mode 100644
index 000000000..ba101dc48
--- /dev/null
+++ b/nx-X11/config/cf/minix.cf
@@ -0,0 +1,64 @@
+XCOMM $Xorg: minix.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/minix.cf,v 3.5 1999/07/10 07:24:33 dawes Exp $
+
+
+/*
+ * If you want to change any of these, do it in the BeforeVendorCF part
+ * of site.def
+ */
+#define OSName Minix-386vm
+#define OSVendor /* philip@cs.vu.nl */
+#define OSMajorVersion 1
+#define OSMinorVersion 6
+#define OSTeenyVersion 25.1.0
+
+#define AcdGcc
+
+#ifdef AcdGcc
+#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#define AsmDefines -DUSE_GAS
+#define GccGasOption -DGCCUSESGAS /* For SuperProbe */
+#endif
+
+/* Defaults for Minix */
+
+#define ConnectionFlags -DMNX_TCPCONN
+#define StandardDefines -D_MINIX -DMINIX -D_POSIX_SOURCE
+#define StandardIncludes
+
+#define DoRanlibCmd NO
+#define AvoidNullMakeCommand YES
+#define HasSockets NO
+#define HasStreams NO
+#define HasVFork NO
+#define HasNdbm YES
+#define ExtraLibraries -lnbio
+#define NeedConstPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedNestedPrototypes YES
+/* #define UseCCMakeDepend YES */
+#define DefaultCCOptions -wo -fsoft
+#define ArCmd CcCmd -c.a -o
+#define ArAddCmd ArCmd
+#define CcCmd acd -descr gcc -name cc
+#define AsCmd CcCmd -c
+#define CppCmd /usr/lib/cpp
+#define LdCmd CcCmd
+#define LdCombineFlags -r
+#define LexLib /* */
+
+#define SetTtyGroup YES /* for xterm */
+#define HasPutenv YES /* for xsm */
+
+#ifndef AssembleObject
+#define AssembleObject(basename,flags) $(RM) $@ @@\
+ $(CPP) AsmDefines $(DEFINES) $(INCLUDES) flags basename.S | \ @@\
+ grep -v '^\#' > basename.i.s @@\
+ $(AS) -o $*.o basename.i.s @@\
+ $(RM) basename.i.s
+#endif
+
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/moto.cf b/nx-X11/config/cf/moto.cf
new file mode 100644
index 000000000..b43295932
--- /dev/null
+++ b/nx-X11/config/cf/moto.cf
@@ -0,0 +1,58 @@
+XCOMM platform: $Xorg: moto.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#if defined(MotoR3Architecture)
+
+#ifndef OSName
+#define OSName Motorola R32V2/R3V6.2
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 3
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 2
+#endif
+
+#define SystemV YES
+#define BootstrapCFlags -DSYSV -DMOTOROLA
+#define StandardDefines -DSYSV -DUSG -DMOTOROLA
+#define Malloc0ReturnsNull YES
+#define BuildServer NO
+#define UseCCMakeDepend YES
+#define OptimizedCDebugFlags /* -O */
+
+#define DefaultUserPath :/bin:/usr/bin:$(BINDIR)
+#define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR)
+
+#endif /* MotoR3Architecture */
+
+
+#if defined(MotoR4Architecture)
+
+#ifndef OSName
+#define OSName Motorola R40V4
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 4
+#endif
+
+#define SystemV4 YES
+#define BootstrapCFlags -DSVR4 -DMOTOROLA
+#define StandardDefines -DSVR4 -DMOTOROLA
+#define BuildServer NO
+
+#define CppCmd /usr/ccs/lib/cpp
+#define LdCmd /usr/ccs/bin/ld
+#define LexCmd /usr/ccs/bin/lex
+#define MakeCmd /usr/ccs/bin/make
+#define YaccCmd /usr/ccs/bin/yacc
+#define CcCmd /bin/cc /* a front-end to gcc/CI5 */
+#define DefaultCCOptions /* -Xc no longer needed */
+
+#include <sv4Lib.rules>
+
+#endif /* MotoR4Architecture */
+
+XCOMM operating system: OSName
diff --git a/nx-X11/config/cf/ncr.cf b/nx-X11/config/cf/ncr.cf
new file mode 100644
index 000000000..64dfdb038
--- /dev/null
+++ b/nx-X11/config/cf/ncr.cf
@@ -0,0 +1,131 @@
+XCOMM platform: $Xorg: ncr.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/ncr.cf,v 3.20 2001/01/17 16:22:32 dawes Exp $
+
+#ifndef OSName
+#define OSName Unix System V Release 4/MP-RAS
+#endif
+#ifndef OSVendor
+#define OSVendor NCR
+#endif
+XCOMM operating system: OSName
+
+#define BootstrapCFlags -DNCR
+#define HasStreams YES
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+
+/* Build Flags */
+
+XCOMM
+XCOMM These flags build correctly on SVR4/MP-RAS 3.0. If building on
+XCOMM SVR4/MP-RAS 2.X, you must add -DWINTCP to StandardDefines
+XCOMM
+#define StandardDefines -DSVR4 -DNCR -Di386
+#ifndef DefaultCCOptions
+#define DefaultCCOptions -Xa -Hnocopyr -W0,-asm
+#endif
+#define DefaultCDebugFlags -O3
+#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+#define ServerExtraDefines -DNO_SECONDARY AllocateLocalDefines XFree86ServerDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#define ToolkitStringsABIOptions -intelabi
+
+XCOMM This has not been tested, don't turn it on yet.
+XCOMM #define ExtensionOSDefines -DXTESTEXT1
+
+#define ExtraLoadFlags -lc -L/usr/ucblib -lucb -lm -lgen -lcmd
+
+/* Setup proper ownership of installed files */
+
+#define StripInstalledPrograms YES
+#define InstPgmFlags -s -m 0711 -o bin -g bin
+#define InstBinFlags -m 0755 -o bin -g bin
+#define InstUidFlags -m 4711 -o root -g bin
+#define InstLibFlags -m 0644 -o bin -g bin
+#define InstIncFlags -m 0444 -o bin -g bin
+#define InstManFlags -m 0444 -o bin -g bin
+#define InstDatFlags -m 0444 -o bin -g bin
+
+/* Various Configuration settings */
+
+#define DefaultUserPath /bin:/sbin:/usr/bin:/usr/sbin:$(BINDIR):/usr/ucb
+#define DefaultSystemPath /etc:/bin:/usr/bin:/sbin:/usr/sbin:$(BINDIR):/usr/ucb
+#define ExtraFilesToClean *.z
+
+/* Create man pages properly */
+
+#define BookFormatManPages YES
+#define ManDirectoryRoot /usr/catman/X115
+#define ManSuffix 1X
+#define LibManSuffix 3X
+#define FileManSuffix 4X
+#define ManSourcePath $(MANPATH)/g
+#define XmanSearchPath /usr/catman
+
+#define TblCmd /usr/ucb/tbl
+#define EqnCmd /usr/ucb/eqn
+#define ColCmd /usr/bin/col
+#define NeqnCmd /usr/ucb/neqn
+#define NroffCmd /usr/ucb/nroff -Tlp
+
+/*
+ * Man pages need to be formatted when installed, so override the default
+ * imake rules.
+ */
+#define InstallManPageLong(file,destdir,dest) @@\
+CppManTarget(file, $(EXTRAMANDEFS)) @@\
+ @@\
+all:: file.z @@\
+ @@\
+file.z:: file.$(MANNEWSUFFIX) @@\
+ @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\
+ then \ @@\
+ cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\
+ $(RM) /tmp/$$$$.man.z; \ @@\
+ pack -f /tmp/$$$$.man; \ @@\
+ cp /tmp/$$$$.man.z file.z; \ @@\
+ $(RM) /tmp/$$$$.man.z; \ @@\
+ fi @@\
+ @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ -@if [ -f file.z ]; \ @@\
+ then \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.z $(DESTDIR)destdir/dest.z; \@@\
+ fi
+
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+ InstallManPageLong(file,destdir,dest)
+
+#define InstallMultipleManSuffix(list,dest,suff) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.suff; \ @@\
+ pack -f /tmp/$$$$.suff; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff.z $(DESTDIR)dest/$$i.z; \ @@\
+ $(RM) /tmp/$$$$.suff.z); \ @@\
+ done
+
+#define InstallMultipleMan(list,dest) @@\
+ InstallMultipleManSuffix(list,dest,man)
+
+#define InstallManPageAliases(file,destdir,aliases) @@\
+install.man:: @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in aliases; do \ @@\
+ (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.z;\ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.z $$i.z);\ @@\
+ ); \ @@\
+ done
+
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+ InstallManPageAliases(file,destdir,aliases)
+
+#include <svr4.cf>
diff --git a/nx-X11/config/cf/nec.cf b/nx-X11/config/cf/nec.cf
new file mode 100644
index 000000000..8fb072ff7
--- /dev/null
+++ b/nx-X11/config/cf/nec.cf
@@ -0,0 +1,131 @@
+XCOMM platform: $Xorg: nec.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+
+#ifdef nec_ews_svr2
+# define NecCISCArchitecture
+#else /* !defined(nec_ews_svr2) */
+# if defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)
+# define NecRISCArchitecture
+# else /* !(defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)) */
+# ifdef SX
+# define NecSX3Architecture
+# else /* !defined(SX) */
+# ifdef _nec_ft
+# define NecFaultTolerantArchitecture
+# else /* !defined(_nec_ft) */
+# ifdef PC_UX
+# define NecPCArchitecture
+# endif /* PC_UX */
+# endif /* !defined(_nec_ft) */
+# endif /* !defined(SX) */
+# endif /* !(defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up)) */
+#endif /* !defined(nec_ews_svr2) */
+
+#ifdef NecCISCArchitecture
+#ifndef OSName
+#define OSName EWS-UX/V
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 10
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+#define HasSharedLibraries NO
+#define HasVoidSignalReturn NO
+#define HasSockets YES
+#define SystemV YES
+#define StandardDefines -Dnec_ews -Dnec_ews_svr2 -DUSG -DSYSV
+#define StandardCppDefines -Dnec_ews -Dnec_ews_svr2 -DUSG -DSYSV
+#define LnCmd ln -s
+ LEXOPTION = -j
+#endif
+
+#ifdef NecRISCArchitecture
+# ifdef _nec_up
+#ifndef OSName
+#define OSName UP-UX/V
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 5
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+# else
+#ifndef OSName
+#define OSName EWS-UX/V\(Rel4.2\)
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 9
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+# endif
+#define HasSharedLibraries YES
+#define HasVoidSignalReturn YES
+#define SystemV4 YES
+#define HasSockets YES
+#endif
+
+#ifdef NecSX3Architecture
+#ifndef OSName
+#define OSName SUPER-UX
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 3
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+#define SystemV YES
+#define HasSharedLibraries NO
+#define HasVoidSignalReturn YES
+#endif
+
+#ifdef NecFaultTolerantArchitecture
+#ifndef OSName
+#define OSName FT-UX/V
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 5
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+#define HasSharedLibraries YES
+#define HasVoidSignalReturn YES
+#define SystemV4 YES
+#define HasSockets YES
+#endif
+
+#ifdef NecPCArchitecture
+#ifndef OSName
+#define OSName PC-UX/V
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 3
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+#define HasSharedLibraries NO
+#define HasVoidSignalReturn NO
+#define SystemV YES
+#endif
+
+#define HasSaberC NO /* for machines that have it */
+#define HasGcc NO
+#define HasBsearch YES
+
+#define DefaultCCOptions -Wf,-XNp9000,-XNd6000
+#define ExtraLibraries -lsocket -lnsl -lw
+
+#define BuildServer NO
+/* #define InstallCmd $(INS) */
+#define RemoveTargetProgramByMoving YES
+
+#include <necLib.rules>
+
+#define LibraryCCOptions DefaultCCOptions
+#define LibraryDefines StandardDefines
diff --git a/nx-X11/config/cf/necLib.rules b/nx-X11/config/cf/necLib.rules
new file mode 100644
index 000000000..713ebdd80
--- /dev/null
+++ b/nx-X11/config/cf/necLib.rules
@@ -0,0 +1,131 @@
+XCOMM $Xorg: necLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * NECOS shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/necLib.rules,v 1.2 1999/01/11 05:13:07 dawes Exp $
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef SharedDataSeparation
+#define SharedDataSeparation YES
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <necLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags
+#endif
+
+
+#ifndef SeparateSharedCompile
+#define SeparateSharedCompile NO
+#endif
+
+#define SharedLibObjCompile(options) $(_NULLCMD_)
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ cd $(DESTDIR)/dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest) @@\
+install:: Concat(lib,libname.sa.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
+
+#endif /* InstallSharedLibraryData */
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): Concat(lib,libname.so.rev) @@\
+ $(RM) $@ @@\
+ $(LN) $? $@ @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(CC) -G -o $@~ $(SHLIBLDFLAGS) solist @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+AllTarget(Concat(lib,libname.so)) @@\
+ @@\
+Concat(lib,libname.so): Concat(lib,libname.so.rev) @@\
+ $(RM) $@ @@\
+ $(LN) $? $@ @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist) @@\
+AllTarget(Concat(lib,libname.sa.rev)) @@\
+ @@\
+Concat(lib,libname.sa.rev): salist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@ @@\
+ $(AR) $@ salist @@\
+ RanLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.sa.rev)
+
+#endif /* SharedLibraryDataTarget */
diff --git a/nx-X11/config/cf/necLib.tmpl b/nx-X11/config/cf/necLib.tmpl
new file mode 100644
index 000000000..e586af01b
--- /dev/null
+++ b/nx-X11/config/cf/necLib.tmpl
@@ -0,0 +1,29 @@
+XCOMM $Xorg: necLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * NEC shared library template
+ */
+
+#ifndef SharedXlibRev
+#define SharedXlibRev 4.10
+#endif
+#ifndef SharedOldXRev
+#define SharedOldXRev 4.10
+#endif
+#ifndef SharedXtRev
+#define SharedXtRev 4.10
+#endif
+#ifndef SharedXawRev
+#define SharedXawRev 5.0
+#endif
+#ifndef SharedXmuRev
+#define SharedXmuRev 4.10
+#endif
+#ifndef SharedXextRev
+#define SharedXextRev 4.10
+#endif
+#ifndef SharedXinputRev
+#define SharedXinputRev 4.10
+#endif
+
+#include <sv4Lib.tmpl>
diff --git a/nx-X11/config/cf/noop.rules b/nx-X11/config/cf/noop.rules
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/nx-X11/config/cf/noop.rules
@@ -0,0 +1 @@
+
diff --git a/nx-X11/config/cf/nto.cf b/nx-X11/config/cf/nto.cf
new file mode 100644
index 000000000..e3b94fec1
--- /dev/null
+++ b/nx-X11/config/cf/nto.cf
@@ -0,0 +1,152 @@
+/* $XFree86: xc/config/cf/nto.cf,v 1.3 2000/07/07 20:06:56 tsi Exp $ */
+/* Get X to build using the gcc toolchain, self hosted RTP x86 */
+/* Let us try to separate the x86 stuff out of here as well... */
+
+/* don't want to conflict with QSSL's Xphoton in /usr/X11R6 */
+#define ProjectRoot /opt/X11R6
+
+
+#ifndef OSName
+#define OSName QNX6/Neutrino
+#endif
+
+#ifndef OSVendor
+#define OSVendor QNX Corp.
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 6
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 1
+#endif
+
+#if defined(i386Architecture)
+#define BuildServer YES
+#else
+#define BuildServer NO
+#endif
+
+#define DoLoadableServer YES
+
+#define BourneShell /bin/sh
+#define OSDefines -DNO_REGEX -DSTRINGS_ALIGNED
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#define StripInstalledPrograms NO
+#define BuildLBX YES
+#define ForceNormalLib YES
+
+#define SourceDefines -D_POSIX_SOURCE -D_QNX_SOURCE
+#define CrossCompiling NO
+#define DoRanlibCmd YES
+#define GccUsesGas YES
+#define MkdirHierCmd mkdir -p
+
+#ifdef UseInstalled
+#define InstallCmd install
+#else
+#define InstallCmd $(SHELL) $(CONFIGSRC)/util/install.sh
+#endif
+#define DefaultCCOptions
+#define LibraryCCOptions
+#define ServerCCOptions
+#define LocalLibraries
+#define CLibrary
+#define PosixLibraries
+#define ConnectionFlags -DTCPCONN
+
+#define StandardCppDefines -traditional StandardDefines
+#define PreProcessCmd CppCmd
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#define HasShm NO /* For now as well */
+#define HasSockets YES
+#define HasPutenv YES
+#define HasCbrt NO
+#define HasShadowPasswd YES
+#define HasSnprintf YES
+#define HasBSD44Sockets YES
+
+#define BuildHtmlManPages NO /* We don't want HTML manpages */
+
+#define AvoidNullMakeCommand YES
+#define CompressAllFonts YES
+#define Malloc0ReturnsNull YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define OptimizedCDebugFlags -O2
+#define DefaultCDebugFlags -O2
+
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes NO
+#endif
+
+#define YaccCmd bison -y
+#define LexCmd flex -l
+#define LexLib -lfl
+#define TermcapLibrary -lncurses
+#ifndef UseStaticTermcapLib
+#define UseStaticTermcapLib NO
+#endif
+
+/* Here, we put in the #defines which are CPU-specific */
+/* Note that the full paths to the tools will go away when self-hosted */
+
+#ifdef i386Architecture
+#define BootstrapCFlags -D__QNXNTO__ -Di386
+#define OSDefines -DNO_REGEX -DSTRINGS_ALIGNED
+#define NTODefines -D__i386__ -D__ELF__ -D__QNXNTO__ -D_i386
+#define CcCmd gcc
+#define CplusplusCmd g++ -fhonor-std -fno-builtin
+#define ArCmd ar cq
+#define LdCmd ld
+#define AsCmd as
+#define RanlibCmd ranlib
+#define CppCmd /usr/bin/cpp
+/* do this until NTO's cpp can support -undef in the future */
+#define RawCppCmd CppCmd -Uunix -Ui386
+#define AsmDefines -DUSE_GAS -D__ELF__ -D__QNXNTO__
+#define ExtraLibraries -lsocket
+#endif
+
+/* MIPS architecture */
+#ifdef mipsArchitecture
+#define BootstrapCFlags -D__QNXNTO__ -DMIPS
+#define OSDefines -DNO_REGEX -DSTRINGS_ALIGNED
+#define NTODefines -D__MIPS__ -D__ELF__ -D__QNXNTO__
+#define CcCmd /usr/gcc/ntomips/bin/gcc -bntomips -EL
+#define ArCmd /usr/gcc/bin/ar cq
+#define LdCmd /usr/gcc/bin/ld
+#define AsCmd /usr/gcc/ntomips/bin/as
+#define RanlibCmd /usr/gcc/bin/ranlib
+#define AsmDefines -DUSE_GAS -D__ELF__ -D__QNXNTO__
+#define ExtraLibraries -lsocket
+#endif
+
+/* Power PC support */
+#ifdef PPCArchitecture
+#define BootstrapCFlags -D__QNXNTO__ -DPPC
+#define OSDefines -DNO_REGEX -DSTRINGS_ALIGNED
+#define NTODefines -D__PPC__ -D__ELF__ -D__QNXNTO__
+#define CcCmd /usr/gcc/ntoppc/bin/gcc -bntoppc
+#define ArCmd /usr/gcc/bin/ar cq
+#define LdCmd /usr/gcc/bin/ld
+#define AsCmd /usr/gcc/ntoppc/bin/as
+#define RanlibCmd /usr/gcc/bin/ranlib
+#define AsmDefines -DUSE_GAS -D__ELF__ -D__QNXNTO__
+#define ExtraLibraries -lsocket
+#endif
+
+
+#define StandardDefines OSDefines SourceDefines NTODefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#define ServerExtraDefines XFree86ServerDefines
+#define ExtraFilesToClean *.err *.map
+
+#include <nto.rules>
+#include <xorg.cf>
+
diff --git a/nx-X11/config/cf/nto.rules b/nx-X11/config/cf/nto.rules
new file mode 100644
index 000000000..e5023e26f
--- /dev/null
+++ b/nx-X11/config/cf/nto.rules
@@ -0,0 +1,240 @@
+XCOMM $XFree86: xc/config/cf/nto.rules,v 1.7 2003/10/09 22:43:18 herrb Exp $
+XCOMM Rules for QNX/Neutrino
+XCOMM Note that some of these will disappear when we stop cross-compiling
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+
+#define LinkFile(tofile, fromfile) @@\
+tofile:: fromfile @@\
+ $(CP) fromfile tofile @@\
+ @@\
+includes:: tofile @@\
+ @@\
+depend:: tofile @@\
+ @@\
+clean:: @@\
+ RemoveFile(tofile)
+
+#define ObjectFromSpecialSource(dst, src, flags) @@\
+NoConfigRec(dst.c) @@\
+ @@\
+dst.c: src.c @@\
+ RemoveFile($@) @@\
+ $(CP) $? $@ @@\
+ @@\
+SpecialCObjectRule(dst,NullParameter,flags) @@\
+ @@\
+includes:: dst.c @@\
+ @@\
+depend:: dst.c @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.c)
+
+
+#define ObjectFromSpecialAsmSource(dst, src, flags) @@\
+dst.S: src.S @@\
+ RemoveFile($@) @@\
+ $(CP) $? $@ @@\
+ @@\
+dst.o: dst.S @@\
+ AssembleObject(dst,flags) @@\
+ @@\
+dst.i: dst.S @@\
+ CPPOnlyAsm(dst,flags) @@\
+ @@\
+depend:: dst.S @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.S)
+
+XCOMM Special rule ComplexHostProgramTarget needed to compile
+XCOMM our utilities locally because we are cross-compiling...
+XCOMM
+
+#define ComplexHostProgramTarget(program) @@\
+ CC=cc @@\
+ STD_INCLUDES = @@\
+ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
+ CCOPTIONS = @@\
+ EXTRA_LOAD_FLAGS = @@\
+ PROGRAM = program @@\
+ @@\
+AllTarget(program) @@\
+ @@\
+program: $(OBJS) $(DEPLIBS) @@\
+ RemoveTargetProgram($@) @@\
+ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
+ @@\
+DependTarget() @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(program))
+
+XCOMM And this rule is again for a host simple host program when cross-compiling.
+XCOMM
+
+#define SimpleHostProgramTarget(program) @@\
+ OBJS = program.o @@\
+ SRCS = program.c @@\
+ @@\
+ComplexHostProgramTarget(program)
+
+
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\.[^\.]*$$//'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+#endif
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 's/\.[^\.]*$$//'`;\
+ set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
+ @if $(SOSYMLINK); then (set -x; \
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)); fi
+#endif /* InstallSharedLibrary */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+#define BaseShLibReqs
+
+
+
+/*
+ * ServerTargetWithFlags - generate rules to compile, link, and relink a server
+ */
+#ifndef ServerTargetWithFlags
+#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
+AllTarget(ProgramTargetName(server)) @@\
+ProgramTargetName(server): subdirs objects libs @@\
+ MoveToBakFile($@) @@\
+ LinkRule($@,$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
+ @@\
+Concat(load,server): @@\
+ MoveToBakFile(ProgramTargetName(server)) @@\
+ LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\
+ @@\
+loadX:: Concat(load,server) @@\
+ @@\
+SentinelProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+SentinelLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+PurifyProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
+ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
+ @@\
+InstallProgramWithFlags(server,$(BINDIR),flags) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ProgramTargetName(server))
+#endif /* ServerTargetWithFlags */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \ @@\
+ (cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+ $(RM) $$SONAME; $(LN) $@ $$SONAME; \ @@\
+ LinkBuildSonameLibrary($$SONAME) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ @MAJREV=`echo rev | sed 's/\.[^\.]*$$//'`; \ @@\
+ set -x; $(RM) Concat(lib,libname.so.$$MAJREV) @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ $(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
diff --git a/nx-X11/config/cf/oldlib.rules b/nx-X11/config/cf/oldlib.rules
new file mode 100644
index 000000000..3ee19eb79
--- /dev/null
+++ b/nx-X11/config/cf/oldlib.rules
@@ -0,0 +1,109 @@
+/* You should not use these any more, use new Library.tmpl insead */
+
+XCOMM $Xorg: oldlib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * ProfiledLibraryObjectRule - generate make rules to build both profiled
+ * and "normal" objects.
+ */
+#ifndef ProfiledLibraryObjectRule
+#define ProfiledLibraryObjectRule() @@\
+all:: @@\
+ LibMkdir(profiled) @@\
+ @@\
+.c.o: @@\
+ ProfiledLibObjCompile(NullParameter) @@\
+ NormalLibObjCompile(NullParameter) @@\
+ @@\
+clean:: @@\
+ LibCleanDir(profiled) @@\
+
+#endif /* ProfiledLibraryObjectRule */
+
+
+/*
+ * DebuggedLibraryObjectRule - generate make rules to build both debuggable
+ * and "normal" objects.
+ */
+#ifndef DebuggedLibraryObjectRule
+#define DebuggedLibraryObjectRule() @@\
+all:: @@\
+ LibMkdir(debugger) @@\
+ @@\
+.c.o: @@\
+ DebuggedLibObjCompile(NullParameter) @@\
+ NormalLibObjCompile(NullParameter) @@\
+ @@\
+clean:: @@\
+ LibCleanDir(debugger) @@\
+
+#endif /* DebuggedLibraryObjectRule */
+
+
+/*
+ * DebuggedAndProfiledLibraryOjbectRule - generate make rules to build
+ * debuggable, profiled, and "normal" objects.
+ */
+#ifndef DebuggedAndProfiledLibraryObjectRule
+#define DebuggedAndProfiledLibraryObjectRule() @@\
+all:: @@\
+ LibMkdir(profiled) @@\
+ LibMkdir(debugger) @@\
+ @@\
+.c.o: @@\
+ ProfiledLibObjCompile(NullParameter) @@\
+ DebuggedLibObjCompile(NullParameter) @@\
+ NormalLibObjCompile(NullParameter) @@\
+ @@\
+clean:: @@\
+ LibCleanDir(profiled) @@\
+ LibCleanDir(debugger) @@\
+
+#endif /* DebuggedAndProfiledLibraryObjectRule */
+
+
+/*
+ * SpecialProfiledObjectRule - generate rules to compile a file with special
+ * flags and to make a profiled version.
+ */
+#ifndef SpecialProfiledObjectRule
+#define SpecialProfiledObjectRule(objs,depends,options) @@\
+all:: @@\
+ LibMkdir(profiled) @@\
+ @@\
+objs: depends @@\
+ ProfiledLibObjCompile(options) @@\
+ NormalLibObjCompile(options)
+#endif /* SpecialProfiledObjectRule */
+
+
+/*
+ * SpecialDebuggedObjectRule - generate rules to compile a file with special
+ * flags and to make a debuggable version.
+ */
+#ifndef SpecialDebuggedObjectRule
+#define SpecialDebuggedObjectRule(objs,depends,options) @@\
+all:: @@\
+ LibMkdir(debugger) @@\
+ @@\
+objs: depends @@\
+ DebuggedLibObjCompile(options) @@\
+ NormalLibObjCompile(options)
+#endif /* SpecialDebuggedObjectRule */
+
+
+/*
+ * SpecialDebuggedAndProfiledObjectRule - generate rules to compile a file
+ * with special flags and to make debuggable and profiled versions.
+ */
+#ifndef SpecialDebuggedAndProfiledObjectRule
+#define SpecialDebuggedAndProfiledObjectRule(objs,depends,options) @@\
+all:: @@\
+ LibMkdir(profiled) @@\
+ LibMkdir(debugger) @@\
+ @@\
+objs: depends @@\
+ ProfiledLibObjCompile(options) @@\
+ DebuggedLibObjCompile(options) @@\
+ NormalLibObjCompile(options)
+#endif /* SpecialDebuggedAndProfiledObjectRule */
diff --git a/nx-X11/config/cf/os2.cf b/nx-X11/config/cf/os2.cf
new file mode 100644
index 000000000..5e5905ce5
--- /dev/null
+++ b/nx-X11/config/cf/os2.cf
@@ -0,0 +1,212 @@
+XCOMM $Xorg: os2.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/os2.cf,v 3.40 2003/06/10 17:03:50 dawes Exp $
+
+XCOMM hv: This file will now require a compiler that defines
+XCOMM hv: the symbol __UNIXOS2__ (currently a modified EMX gcc,
+XCOMM hv: but in future a separate system)
+
+#define OSName OS/2
+#define OSVendor IBM
+#define OSMajorVersion 4
+#define OSMinorVersion 5
+#define OSTeenyVersion 1
+
+#define BootstrapCFlags -DBSD43
+
+#define StandardDefines -DX_LOCALE -DX_WCHAR
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+
+/* for the man pages */
+#define BookFormatManPages YES
+#define ManSuffix 1
+#define FileManSuffix 4
+#define DontUseLibPathVar YES
+
+/* you must have installed groff! */
+#define TblCmd tbl
+#define ColCmd cat
+#define NeqnCmd eqn
+#define NroffCmd groff -Tascii
+#define EqnCmd eqn -Tascii
+#define HasGroff YES
+ NEQN = NeqnCmd
+ NROFF = NroffCmd
+
+/* A set of standard defines: */
+#define OSDefines -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE
+
+#ifndef BuildXKB
+#define BuildXKB YES
+#endif
+#ifndef BuildLBX
+#define BuildLBX YES
+#endif
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#undef MakeDLLModules
+#define MakeDLLModules NO
+#ifndef BuildModuleInSubdir
+#define BuildModuleInSubdir YES
+#endif
+
+
+/* some more properties of the OS/2 implementation */
+#define HasNdbm YES
+#define HasPutenv YES
+#define HasSockets YES
+#define HasSnprintf YES
+#define HasWChar32 NO
+#define HasUsableFileMap NO
+#define HasNCurses YES
+#define HasVarRun NO
+#define HasLibPthread NO
+#define HasPosixThreads NO
+#define HasVarDb NO
+#define HasDlopen NO
+#define HasBsearch NO
+#define HasFchown NO
+#define HasLargeTmp NO
+#define HasPoll NO
+#define HasBSD44Sockets NO
+#define HasSecureRPC NO
+#define HasSymLinks NO
+#define HasVFork NO
+#define HasVarDirectory NO
+#define HasStrcasecmp YES
+#define StrcasecmpDefines -DNEED_STRCASECMP -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp
+#define Malloc0ReturnsNull YES
+#define SetTtyGroup NO
+#ifndef HasLibCrypt
+# define HasLibCrypt NO
+#endif
+#ifndef HasShm
+# define HasShm YES
+#endif
+#define ConnectionFlags -DTCPCONN -DOS2PIPECONN
+#define StdIncDir /usr/include
+#define HasStickyDirBit NO
+#define HasMkstemp NO
+#define HasBasename NO /* C-function, not shell utility!! */
+
+
+/*
+ * Compiler Features
+ */
+#define DefaultGcc2i386Opt -O2 -fstrength-reduce -fpcc-struct-return
+#define UseGccMakeDepend YES
+#define HasCplusplus YES
+#define HasGnuMake YES
+#define GccUsesGas YES
+#define UseGas YES
+#define GnuCpp YES
+#define DoRanlibCmd YES
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define NeedWidePrototypes NO
+
+#define HasPlugin NO
+#define VendorHasX11R6_3libExt YES
+
+#define CppCmd cpp
+#define YaccCmd bison -y
+#define StandardCppOptions -traditional
+#define StandardCppDefines /**/
+#define PreProcessCmd CppCmd
+
+#define CcCmd gcc -D__UNIXOS2__
+#define DefaultCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals
+#define LibraryCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals
+#define ServerCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals
+
+#define ModuleCcCmd gcc_elf
+#define ModuleCppCmd cpp_elf
+#define ModuleCFlags -D__UNIXOS2__ $(CDEBUGFLAGS) $(THREADS_CFLAGS) $(ALLDEFINES)
+#define ModuleAsCmd as_elf
+#define ModuleLdCmd ld_elf
+#define ModuleLdCombineFlags -X -r
+#define ModuleArCmd ar_elf cq
+#define NeedModuleRanlib YES
+#define ModuleRanlibCmd ranlib_elf
+#define HasPerl5 YES
+
+#define CplusplusCmd g++
+#define CplusplusOptions -Zmtd -Zsysv-signals -D__UNIXOS2__
+
+#define AsCmd as
+#define GccGasOption -DGCCUSESGAS
+#define AsmDefines -DUSE_GAS
+
+#define InstallCmd install
+
+#define LdCmd ld
+#define ExtraLoadFlags -Zbin-files
+#define ExtraLibraries -lshm -lemxfix -lsocket -lbsd -lgcc
+#define ServerExtraSysLibs -lregex -lshm -lemxfix -lsocket
+
+/* quite a number of programs you need, most of them the same as
+ * with Unix, but listed here for completeness
+ */
+#define ArCmd ar cq
+#define RanlibCmd ar s
+#define BourneShell /bin/sh
+#define LexCmd flex -l
+#define HasFlex YES
+#define LexLib -lfl
+#define LintCmd /**/
+#define MvCmd mv
+#define CompressCmd compress
+#define GzipCmd gzip
+#define LnCmd cp
+#define CpCmd cp
+#define RmCmd rm -f
+
+/* "shell scripts" in OS/2 have this extension */
+#define SHsuf sh
+
+#define InstPgmFlags /**/
+#define InstBinFlags /**/
+#define InstUidFlags /**/
+#define InstLibFlags /**/
+#define InstIncFlags /**/
+#define InstManFlags /**/
+#define InstDatFlags /**/
+#define InstallFlags /**/
+
+#define OptimizedCDebugFlags DefaultGcc2i386Opt
+#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF
+#define ServerExtraDefines GccGasOption XFree86ServerDefines
+
+/*
+ * Make & install Features
+ */
+
+#define AvoidNullMakeCommand YES
+_NULLCMD_ =
+#define NullMakeCommand
+#define StripInstalledPrograms NO
+#define CompressAllFonts YES
+#define CompressManPages YES
+#define GzipFontCompression YES
+#define DefaultUserPath $(BINDIR)
+#define DefaultSystemPath $(BINDIR)
+#define CaseSensitiveFileSystem NO
+
+#ifndef ExtraFilesToClean
+# define ExtraFilesToClean *.~* *.exe *.dll *.obj *.lib *.map *raw_os2.def MISSING_ORDINALS
+#endif
+
+#define ProgramTargetName(target) Concat(target,.exe)
+#define HostProgramTargetName(target) ProgramTargetName(target)
+
+#include <os2.rules>
+#include <os2Lib.rules>
+
+# include <xorg.cf>
+
+
diff --git a/nx-X11/config/cf/os2.rules b/nx-X11/config/cf/os2.rules
new file mode 100644
index 000000000..a5f26aca0
--- /dev/null
+++ b/nx-X11/config/cf/os2.rules
@@ -0,0 +1,112 @@
+XCOMM $Xorg: os2.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/os2.rules,v 3.23tsi Exp $
+
+.SUFFIXES: .Osuf .c .CCsuf
+
+.c.Osuf:
+ $(CC) $(CFLAGS) -c $*.c
+
+#if HasCplusplus
+.CCsuf.Osuf:
+ $(CXX) $(CFLAGS) -c $*.CCsuf
+#endif
+
+#ifndef UseInstalled
+#define XkbComp /xkbcomp
+#else
+#define XkbComp xkbcomp
+#endif
+
+/*
+ * same problem as with cygwin...
+ * DependDependencyStatement - Imake.rules wraps $(DEPEND) in
+ * ProgramTargetName(), which causes cross compiling to think that
+ * $(DEPEND) hasn't been built, as $(DEPEND) is a host tool, and should
+ * not be wrapped with ProgramTargetName(). Perhaps there should be
+ * a HostProgramTargetName()...
+ */
+#ifndef DependDependencyStatement
+#define DependDependencyStatement() @@\
+depend:: $(DEPEND)
+#endif
+ DEPEND2 = $(SHELL) $(DEPEND)
+
+/*
+ * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
+ * This doesn't work when cross compiling, see the locally defined
+ * DependDependencyStatement comment (above) for more information.
+ */
+
+#ifndef DependDependency
+#ifdef UseInstalled
+#define DependDependency() /**/
+#else
+#define DependDependency() @@\
+DependDependencyStatement() @@\
+ @@\
+NoCmpScript($(DEPEND)) @@\
+ @@\
+$(DEPEND): @@\
+ @echo "checking $@ over in $(DEPENDSRC) first..."; \ @@\
+ cd $(DEPENDSRC) && $(MAKE) makedependonly; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+#endif /* DependDependency */
+
+/*
+ * HostLinkRule - link a utility to be used on the build host
+ * (differs from LinkRule if cross compiling)
+ */
+#ifndef HostLinkRule
+#define HostLinkRule(program,options,objects,libraries) \
+$(CCLINK) -Zmtd -o program options objects libraries $(EXTRA_LOAD_FLAGS)
+#endif
+
+#ifndef DependTarget
+#define DependTarget() @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ $(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)
+#endif /* DependTarget */
+
+/*
+ * DependTarget3 - generate rules to compute dependencies for all files given.
+ */
+#ifndef DependTarget3
+#define DependTarget3(srcs1,srcs2,srcs3) @@\
+DependDependency() @@\
+ @@\
+depend:: @@\
+ $(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 @@\
+ $(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2 @@\
+ $(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3
+#endif /* DependTarget3 */
+
+#ifdef UseInstalled
+#define RmanDependency() /**/
+#else
+#define RmanDependency() @@\
+NoCmpScript(ProgramTargetName($(RMAN))) @@\
+ @@\
+ProgramTargetName($(RMAN)): @@\
+ @echo "checking $@ over in $(TOP)/config/util first..."; \ @@\
+ echo "okay, continuing in $(CURRENT_DIR)"
+
+#endif /* UseInstalled */
+
+#define MakeXkbDir(basedir,subdir) @@\
+all:: Concat(subdir,.dir) @@\
+ @@\
+Concat(subdir,.dir): @@\
+ RemoveFile(Concat(subdir,.dir)) @@\
+ XkbComp -lfhlpR -o Concat(subdir,.dir) * @@\
+ @@\
+InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir) @@\
+ @@\
+clean:: @@\
+ RemoveFile(Concat(subdir,.dir))
diff --git a/nx-X11/config/cf/os2Lib.rules b/nx-X11/config/cf/os2Lib.rules
new file mode 100644
index 000000000..decbd72ed
--- /dev/null
+++ b/nx-X11/config/cf/os2Lib.rules
@@ -0,0 +1,210 @@
+XCOMM $Xorg: os2Lib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/os2Lib.rules,v 3.19 2003/10/11 09:40:15 herrb Exp $
+
+/*
+ * OS2/EMX shared library rules (DLL version)
+ *
+#ifndef __UNIXOS2__
+#error You must edit os2Lib.rules for your OS/2 dev system
+#endif */
+
+#define HasSharedLibraries YES
+#define ForceNormalLib NO
+#define SharedOldX NO
+#define SharedDataSeparation NO
+#define SharedCodeDef /**/
+#define SharedLibraryDef /**/
+#define ShLibIncludeFile <os2Lib.tmpl>
+#define SharedLibraryLoadFlags /**/
+#define PositionIndependentCFlags -Zmtd
+
+#define NormalSharedLibObjCompile(options) RemoveFile($@) @@\
+ $(CC) -c $(CFLAGS) options $(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) $*.c
+
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: libname.dll LibraryTargetName(libname) libname.lib @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) $(DLLNAME) $(DESTDIR)dest @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) LibraryTargetName(libname) $(DESTDIR)dest @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) libname.a $(DESTDIR)dest @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) libname.lib $(DESTDIR)dest
+
+#define LinkBuildLibrary2(slib,ext) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/slib.ext) @@\
+ (cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/slib.ext .)
+
+#define LinkBuildLibrary3(slib,rev,ext) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/Concat3(slib,rev,ext)) @@\
+ (cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/Concat3(slib,rev,ext) .)
+
+#define LinkBuildLibrary4(pre,slib,rev,ext) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/Concat4(pre,slib,rev,ext)) @@\
+ (cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/Concat4(pre,slib,rev,ext) .)
+
+#define LinkBuildLibrary5(slib,rev,ext) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/$(DLLNAME)) @@\
+ (cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/$(INSTDLLNAME) .)
+
+ EMXIMP = emximp
+ EMXOMF = emxomf -p 32
+ SHLD = gcc -Zdll -Zmtd -Zmap -Zbin-files
+ SHXXLD = g++ -Zdll -Zmtd -Zmap -Zbin-files
+ SHADDLIBS = ExtraLibraries -lc_import
+ DLLNAME = `cat $(TOP)/$(CURRENT_DIR)/dll.name`
+ INSTDLLNAME = `cat $(BUILDINCTOP)/$(CURRENT_DIR)/dll.name`
+
+#define BuildDllSupportLibs3(slib,rev) @@\
+ $(EMXIMP) -o Concat3(slib,rev,.imp) Concat3(slib,os2,.def) @@\
+ $(EMXIMP) -o Concat4(lib,slib,rev,.a) Concat3(slib,rev,.imp) @@\
+ $(EMXIMP) -o Concat3(slib,rev,_o.imp) Concat3(slib,o_os2,.def) @@\
+ $(EMXIMP) -o Concat3(slib,rev,.a) Concat3(slib,rev,_o.imp) @@\
+ $(EMXOMF) -s -l -o Concat3(slib,rev,.lib) Concat3(slib,rev,.a) @@\
+ LinkBuildLibrary4(lib,slib,rev,.a) @@\
+
+#define BuildLibSupportLibs(slib) @@\
+ $(EMXOMF) -s -l -o Concat(slib,.lib) Concat(slib,.a) @@\
+ LinkBuildLibrary3(lib,slib,.a) @@\
+
+#define BuildLibSupportLibs2(slib) @@\
+ $(EMXOMF) -s -l -o Concat(slib,.lib) Concat3(lib,slib,.a) @@\
+ LinkBuildLibrary3(lib,slib,.a) @@\
+
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat3(libname,rev,.dll)) @@\
+.SUFFIXES: .def @@\
+ @@\
+Concat(libname,os2.def): Concat(libname,-def.cpp) @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) $(CONFIGSRC)/cf/os2def.db libname @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) -O1 $(CONFIGSRC)/cf/os2def.db libname @@\
+ @@\
+Concat3(libname,rev,.dll): solist Concat(libname,os2.def) @@\
+ RemoveFile($@) @@\
+ $(SHLD) -o $(DLLNAME) solist $(REQUIREDLIBS) $(SHADDLIBS) Concat(libname,o_os2.def) @@\
+ touch $@ @@\
+ BuildDllSupportLibs3(libname,rev) @@\
+ LinkBuildLibrary5(libname,rev,.dll) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(Concat3(libname,rev,.imp) Concat3(libname,rev,_o.imp)) @@\
+ RemoveFiles(Concat(libname,os2.def) Concat(libname,o_os2.def)) @@\
+ RemoveFile(dll.name)
+
+#define NormalLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetName(libname)) @@\
+ @@\
+LibraryTargetName(libname): objlist @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist) @@\
+ BuildLibSupportLibs2(libname)
+
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat3(libname,rev,.dll)) @@\
+ @@\
+Concat(libname,os2.def): deplist $(EXTRALIBRARYDEPS) Concat(libname,-def.cpp) @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) $(CONFIGSRC)/cf/os2def.db libname @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) -O1 $(CONFIGSRC)/cf/os2def.db libname @@\
+ @@\
+Concat3(libname,rev,.dll): Concat(libname,os2.def) @@\
+ RemoveFile($@) @@\
+ (cd down; $(SHLD) -o up/$(DLLNAME) solist $(REQUIREDLIBS) $(SHADDLIBS) Concat(libname,o_os2.def)) @@\
+ touch $@ @@\
+ BuildDllSupportLibs3(libname,rev) @@\
+ LinkBuildLibrary5(libname,rev,.dll) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(Concat3(libname,rev,.imp) Concat3(libname,rev,_o.imp)) @@\
+ RemoveFiles(Concat(libname,os2.def) Concat(libname,o_os2.def)) @@\
+ RemoveFile(dll.name)
+
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat3(libname,rev,.dll)) @@\
+ @@\
+Concat(libname,os2.def): deplist $(EXTRALIBRARYDEPS) Concat(libname,-def.cpp) @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) $(CONFIGSRC)/cf/os2def.db libname @@\
+ cmd /c $(subst /,\\,$(CONFIGSRC)/util/makedef.cmd) -O1 $(CONFIGSRC)/cf/os2def.db libname @@\
+ @@\
+Concat3(libname,rev,.dll): Concat(libname,os2.def) @@\
+ RemoveFile($@) @@\
+ (cd down; $(SHXXLD) -o up/$(DLLNAME) solist $(REQUIREDLIBS) $(SHADDLIBS) Concat(libname,o_os2.def)) @@\
+ touch $@ @@\
+ BuildDllSupportLibs3(libname,rev) @@\
+ LinkBuildLibrary5(libname,rev,.dll) @@\
+ @@\
+clean:: @@\
+ RemoveFiles(Concat3(libname,rev,.imp) Concat3(libname,rev,_o.imp)) @@\
+ RemoveFiles(Concat(libname,os2.def) Concat(libname,o_os2.def)) @@\
+ RemoveFile(dll.name)
+
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(CC) -o $@ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+ @@\
+clean:: @@\
+ RemoveFile(name)
+
+#define SharedLibraryDataTarget(libname,rev,salist)
+
+#define InstallSharedLibraryData(libname,rev,dest)
+
+#define InstallLibrary(libname,dest) @@\
+install:: LibraryTargetName(libname) Concat(libname,.lib) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) LibraryTargetName(libname) $(DESTDIR)dest @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(libname,.lib) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) $(DESTDIR)dest/LibraryTargetName(libname))
+
+#define MakeStaticLibrary(libname) $(AR) libname *.o
+
+#define UnsharedLibraryTarget(libname,objlist,down,up) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_s)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_s): objlist @@\
+ RemoveFile($@) @@\
+ (cd down; MakeStaticLibrary(up/$@)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@) @@\
+ @@\
+install:: LibraryTargetNameSuffix(libname,_s) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) LibraryTargetNameSuffix(libname,_s) $(DESTDIR)$(SHLIBDIR)
+
+#define UnsharedLibraryTarget3(libname,objlist1,objlist2,objlist3,down,up) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_s)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_s): objlist1 objlist2 objlist3 @@\
+ RemoveFile($@) @@\
+ (cd down; MakeStaticLibrary(up/$@)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@) @@\
+ @@\
+install:: LibraryTargetNameSuffix(libname,_s) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) LibraryTargetNameSuffix(libname,_s) $(DESTDIR)$(SHLIBDIR)
+
+#define DebuggedLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_d): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ (cd debugger; MakeStaticLibrary(../$@)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+
+#define ProfiledLibraryTarget(libname,objlist) @@\
+AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
+ @@\
+LibraryTargetNameSuffix(libname,_p): objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ (cd profiled; MakeStaticLibrary(../$@)) @@\
+ RanLibrary($@) @@\
+ _LinkBuildLibrary($@)
+
+#define LibraryModuleTarget(module,objlist) @@\
+AllTarget(LibraryTargetName(module)) @@\
+ @@\
+LibraryTargetName(module): objlist @@\
+ RemoveFile($@) @@\
+ MakeLibrary($@,objlist)
diff --git a/nx-X11/config/cf/os2Lib.tmpl b/nx-X11/config/cf/os2Lib.tmpl
new file mode 100644
index 000000000..522993031
--- /dev/null
+++ b/nx-X11/config/cf/os2Lib.tmpl
@@ -0,0 +1,208 @@
+XCOMM $XdotOrg: xc/config/cf/os2Lib.tmpl,v 1.5 2004/09/02 01:10:28 kem Exp $
+XCOMM $Xorg: os2Lib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/os2Lib.tmpl,v 3.18 2003/11/12 00:10:23 dawes Exp $
+
+/*
+ * OS2/EMX shared library template
+ *
+#ifndef __UNIXOS2__
+#error You must edit os2Lib.tmpl for your (non-EMX) OS/2 dev system
+#endif */
+
+#define SharedLibFont NO
+
+#define SharedX11Reqs $(LDPRELIB) -lshm
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(DPSLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+
+/* library revisions, these are typically empty! */
+#define SharedX11Rev /**/
+#define SharedXextRev /**/
+#define SharedXssRev /**/
+#define SharedXxf86miscRev /**/
+#define SharedXxf86vmRev /**/
+#define SharedXxf86dgaRev /**/
+#define SharedXxf86rushRev /**/
+#define SharedXvRev /**/
+#define SharedXineramaRev /**/
+#define SharedDpsRev /**/
+#define SharedDpsTkRev /**/
+#define SharedPSResRev /**/
+#define SharedGlxRev /**/
+#define SharedXfontcacheRev /**/
+#define SharedXauRev /**/
+#define SharedXdmcpRev /**/
+#define SharedXmuRev /**/
+#define SharedXmuuRev /**/
+#define SharedOldXRev /**/
+#define SharedXpRev /**/
+#define SharedXtRev /**/
+#define SharedXaRev /**/
+#define SharedXawRev /**/
+#define SharedXaw7Rev 7
+#define SharedXaw6Rev 6
+#define SharedXiRev /**/
+#define SharedXtstRev /**/
+#define SharedICERev /**/
+#define SharedSMRev /**/
+#define SharedXkeyRev /**/
+#define SharedFSRev /**/
+#define SharedFontRev /**/
+#define SharedXpmRev /**/
+#define SharedGluRev /**/
+#define SharedXrenderRev /**/
+#define SharedXrandrRev /**/
+#define SharedXftRev /**/
+#define SharedXft1Rev 1
+#define SharedFreetype2Rev /**/
+#define SharedXTrapRev /**/
+#define SharedExpatRev /**/
+#define SharedFontconfigRev /**/
+#define SharedXcursorRev /**/
+#define SharedxkbfileRev /**/
+#define SharedXvMCRev /**/
+#define SharedXResRev /**/
+#define SharedFontEncRev /**/
+
+/*
+ * By setting this in your Imakefile, you can force using static libraries
+ * to be linked with you app, rather than DLLs
+ */
+#ifndef LinkStatically
+#define LinkStatically NO
+#endif
+
+#if LinkStatically
+#define SDlibX11 -lX11_s
+#define SDlibXExt -lXExt_s
+#define SDlibXmu -lXmu_s
+#define SDlibXt -lXt_s
+#define SDlibXaw -lXaw_s
+#define SDlibXaw7 -lXaw_s
+#define SDlibXaw6 -lXaw_s
+#define SDlibXi -lXi_s
+#define SDlibXtst -lXtst_s
+#define SDlibXp -lXp_s
+#define SDlibXv -lXv_s
+#define SDlibGL -lGL_s
+#define SDlibDPS -lDPS_s
+#define SDlibDPSTK -lDPSTK_s
+#else
+#define SDlibX11 -lX11
+#define SDlibXExt -lXExt
+#define SDlibXmu -lXmu
+#define SDlibXt -lXt
+#define SDlibXaw -lXaw
+#define SDlibXaw7 -lXaw
+#define SDlibXaw6 -lXaw
+#define SDlibXi -lXi
+#define SDlibXtst -lXtst
+#define SDlibXp -lXp
+#define SDlibXv -lXv
+#define SDlibGL -lGL
+#define SDlibDPS -lDPS
+#define SDlibDPSTK -lDPSTK
+#endif
+
+/*
+ * and now a little bit of magic for using imake without source tree; if we
+ * are using shared libraries, we really do not need to depend on anything
+ */
+#if SharedLibXext
+ DEPEXTENSIONLIB =
+ EXTENSIONLIB = _Use(SDlibXExt,-L$(EXTENSIONSRC)/lib SDlibXExt)
+#endif
+#if SharedLibX11
+ DEPXLIB =
+ XLIB = $(EXTENSIONLIB) _Use(SDlibX11,-L$(XLIBSRC) SDlibX11)
+#endif
+#if SharedLibXmu
+ DEPXMULIB =
+ XMULIB = _Use(SDlibXmu,-L$(XMUSRC) SDlibXmu) $(XLIB)
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+#endif
+#if SharedOldX
+ DEPOLDXLIB =
+ OLDXLIB = _Use(-loldX,-L$(OLDXLIBSRC) -loldX)
+#endif
+#if SharedLibXt
+ DEPXTOOLLIB =
+ XTOOLLIB = _Use(SDlibXt,-L$(TOOLKITSRC) SDlibXt)
+#endif
+#if SharedLibXaw
+ DEPXAWLIB =
+ XAWLIB = _Use(SDlibXaw,-L$(AWIDGETSRC) SDlibXaw)
+#endif
+#if SharedLibXaw7
+ DEPXAW7LIB =
+ XAW7LIB = _Use(SDlibXaw7,-L$(AWIDGETSRC) SDlibXaw7)
+#endif
+#if SharedLibXaw6
+ DEPXAW6LIB =
+ XAW6LIB = _Use(SDlibXaw6,-L$(AWIDGETSRC) SDlibXaw6)
+#endif
+#if SharedLibXi
+ DEPXILIB =
+ XILIB = _Use(SDlibXi,-L$(XILIBSRC) SDlibXi)
+#endif
+#if SharedLibXTest
+ DEPXTESTLIB =
+ XTESTLIB = _Use(SDlibXtst,-L$(EXTENSIONSRC)/lib/xtest SDlibXtst)
+#endif
+#if SharedLibXp
+ DEPXPLIB =
+ XPLIB = _Use(SDlibXp,-L$(EXTENSIONSRC)/lib SDlibXp)
+#endif
+#if SharedLibXv
+ DEPXVLIB =
+ XVLIB = _Use(SDlibXv,-L$(EXTENSIONSRC)/lib SDlibXv)
+#endif
+#if SharedLibGL
+ DEPGLLIB =
+ GLLIB = _Use(SDlibGL,-L$(EXTENSIONSRC)/lib SDlibGL)
+#endif
+#if SharedLibDPS
+ DEPDPSLIB =
+ DPSLIB = _Use(SDlibDPS,-L$(EXTENSIONSRC)/lib SDlibDPS)
+#endif
+#if SharedLibDPSTK
+ DEPDPSTKLIB =
+ DPSTKLIB = _Use(SDlibDPSTK,-L$(EXTENSIONSRC)/lib SDlibDPSTK)
+#endif
+
diff --git a/nx-X11/config/cf/os2def.db b/nx-X11/config/cf/os2def.db
new file mode 100644
index 000000000..095b3e548
--- /dev/null
+++ b/nx-X11/config/cf/os2def.db
@@ -0,0 +1,5095 @@
+; This table is the central conversion table for symbols exported
+; by OS/2 DLLs. It replaces the old *os2.def files. It requires a
+; WinNT *-def.cpp file, though, and the script xc/config/util/makedef.cmd.
+; If you want to add a new symbol use a new ordinal number,
+; don't replace existing ones, because this would introduce incompatibilities
+; with existing code.
+;
+; ATTENTION! When adding new items, the field delimiter is expected to
+; be TAB, not a nice looking number of spaces! Don't try to beautify this
+; file!!!!
+;
+; $XFree86: xc/config/cf/os2def.db,v 1.7 2003/11/12 00:10:23 dawes Exp $
+;
+LIBRARY X11 X11
+X11 XSaveContext 1
+X11 XFindContext 2
+X11 XDeleteContext 3
+X11 XListDepths 4
+X11 XrmParseCommand 5
+X11 Xpermalloc 6
+X11 _XrmInternalStringToQuark 7
+X11 XrmStringToQuark 8
+X11 XrmPermStringToQuark 9
+X11 XrmUniqueQuark 10
+X11 XrmQuarkToString 11
+X11 XAllocColorCells 12
+X11 XAllocColorPlanes 13
+X11 XAllowEvents 14
+X11 XAutoRepeatOn 15
+X11 XAutoRepeatOff 16
+X11 XSetWindowBackground 17
+X11 XSetWindowBorderWidth 18
+X11 XBell 19
+X11 XSetWindowBorder 20
+X11 XEnableAccessControl 21
+X11 XDisableAccessControl 22
+X11 XSetAccessControl 23
+X11 XSetCloseDownMode 24
+X11 XChangeActivePointerGrab 25
+X11 XSetWindowColormap 26
+X11 XChangeGC 27
+X11 XChangeKeyboardControl 28
+X11 XChangePointerControl 29
+X11 XChangeProperty 30
+X11 XChangeSaveSet 31
+X11 XAddToSaveSet 32
+X11 XRemoveFromSaveSet 33
+X11 XChangeWindowAttributes 34
+X11 XResizeWindow 35
+X11 XCheckIfEvent 36
+X11 XCheckMaskEvent 37
+X11 XCheckWindowEvent 38
+X11 XCheckTypedEvent 39
+X11 XCheckTypedWindowEvent 40
+X11 XCirculateSubwindows 41
+X11 XCirculateSubwindowsDown 42
+X11 XCirculateSubwindowsUp 43
+X11 XCloseDisplay 44
+X11 XClearWindow 45
+X11 XClearArea 46
+X11 XMoveResizeWindow 47
+X11 _XConnectDisplay 48
+X11 _XDisconnectDisplay 49
+X11 _XSendClientPrefix 50
+X11 XSetAuthorization 51
+X11 XConvertSelection 52
+X11 XCopyArea 53
+X11 XCopyColormapAndFree 54
+X11 XCopyGC 55
+X11 XCopyPlane 56
+X11 XCreateBitmapFromData 57
+X11 XCreateColormap 58
+X11 XCreatePixmapCursor 59
+X11 XCreateGC 60
+X11 _XUpdateGCCache 61
+X11 _XFlushGCCache 62
+X11 XFlushGC 63
+X11 XGContextFromGC 64
+X11 XCreateGlyphCursor 65
+X11 XCreatePixmapFromBitmapData 66
+X11 XCreatePixmap 67
+X11 XCreateSimpleWindow 68
+X11 XCreateFontCursor 69
+X11 XDefineCursor 70
+X11 XDeleteProperty 71
+X11 XDestroySubwindows 72
+X11 XDestroyWindow 73
+X11 XDisplayName 74
+X11 XDrawArc 75
+X11 XDrawArcs 76
+X11 XDrawLine 77
+X11 XDrawLines 78
+X11 XDrawPoint 79
+X11 XDrawPoints 80
+X11 XDrawRectangle 81
+X11 XDrawRectangles 82
+X11 XDrawSegments 83
+X11 XGetErrorText 84
+X11 XGetErrorDatabaseText 85
+X11 XSetErrorHandler 86
+X11 XSetIOErrorHandler 87
+X11 _XEventToWire 88
+X11 XFetchName 89
+X11 XGetIconName 90
+X11 XFillArc 91
+X11 XFillArcs 92
+X11 XFillPolygon 93
+X11 XFillRectangle 94
+X11 XFillRectangles 95
+X11 XFlush 96
+X11 XLoadQueryFont 97
+X11 XFreeFont 98
+X11 XQueryFont 99
+X11 XListFonts 100
+X11 XFreeFontNames 101
+X11 XListFontsWithInfo 102
+X11 XFreeFontInfo 103
+X11 XFreeColormap 104
+X11 XFreeColors 105
+X11 XFreeCursor 106
+X11 _XFreeExtData 107
+X11 XFreeGC 108
+X11 XFreePixmap 109
+X11 XActivateScreenSaver 110
+X11 XResetScreenSaver 111
+X11 XForceScreenSaver 112
+X11 XSetArcMode 113
+X11 XSetFillRule 114
+X11 XSetFillStyle 115
+X11 XSetGraphicsExposures 116
+X11 XSetSubwindowMode 117
+X11 XGeometry 118
+X11 XGetAtomName 119
+X11 XAllocNamedColor 120
+X11 XGetDefault 121
+X11 XGetFontPath 122
+X11 XFreeFontPath 123
+X11 XGetFontProperty 124
+X11 XGetGeometry 125
+X11 XAllocColor 126
+X11 XGetSizeHints 127
+X11 XGetWMHints 128
+X11 XGetZoomHints 129
+X11 XGetNormalHints 130
+X11 XGetIconSizes 131
+X11 XGetCommand 132
+X11 XGetTransientForHint 133
+X11 XGetClassHint 134
+X11 XGetInputFocus 135
+X11 XGetImage 136
+X11 XGetSubImage 137
+X11 XGetKeyboardControl 138
+X11 XGetMotionEvents 139
+X11 XGetPointerControl 140
+X11 XGetPointerMapping 141
+X11 XGetKeyboardMapping 142
+X11 XGetWindowProperty 143
+X11 XGetSelectionOwner 144
+X11 XGetScreenSaver 145
+X11 XGetStandardColormap 146
+X11 XGetWindowAttributes 147
+X11 XGrabButton 148
+X11 XGrabKey 149
+X11 XGrabKeyboard 150
+X11 XGrabPointer 151
+X11 XGrabServer 152
+X11 XAddHost 153
+X11 XRemoveHost 154
+X11 XAddHosts 155
+X11 XRemoveHosts 156
+X11 XIfEvent 157
+X11 _XGetScanlinePad 158
+X11 _XGetBitsPerPixel 159
+X11 XCreateImage 160
+X11 _XSetImage 161
+X11 _XInitImageFuncPtrs 162
+X11 XDrawImageString 163
+X11 XDrawImageString16 164
+X11 XInitExtension 165
+X11 XAddExtension 166
+X11 XEHeadOfExtensionList 167
+X11 XAddToExtensionList 168
+X11 XFindOnExtensionList 169
+X11 XESetCreateGC 170
+X11 XESetCopyGC 171
+X11 XESetFlushGC 172
+X11 XESetFreeGC 173
+X11 XESetCreateFont 174
+X11 XESetFreeFont 175
+X11 XESetCloseDisplay 176
+X11 XESetWireToEvent 177
+X11 XESetEventToWire 178
+X11 XESetWireToError 179
+X11 XESetError 180
+X11 XESetErrorString 181
+X11 XESetPrintErrorValues 182
+X11 XInstallColormap 183
+X11 XInternAtom 184
+X11 XKeycodeToKeysym 185
+X11 XKeysymToKeycode 186
+X11 XLookupKeysym 187
+X11 XRefreshKeyboardMapping 188
+X11 XLookupString 189
+X11 XRebindKeysym 190
+X11 XKeysymToString 191
+X11 XKillClient 192
+X11 XListHosts 193
+X11 XListInstalledColormaps 194
+X11 XListProperties 195
+X11 XListExtensions 196
+X11 XFreeExtensionList 197
+X11 XLoadFont 198
+X11 XLookupColor 199
+X11 XLowerWindow 200
+X11 XConnectionNumber 942
+X11 XRootWindow 943
+X11 XDefaultScreen 201
+X11 XDefaultRootWindow 202
+X11 XDefaultVisual 203
+X11 XDefaultGC 204
+X11 XBlackPixel 205
+X11 XWhitePixel 206
+X11 XAllPlanes 207
+X11 XQLength 208
+X11 XDisplayWidth 209
+X11 XDisplayHeight 210
+X11 XDisplayWidthMM 211
+X11 XDisplayHeightMM 212
+X11 XDisplayPlanes 213
+X11 XDisplayCells 214
+X11 XScreenCount 215
+X11 XServerVendor 216
+X11 XProtocolVersion 217
+X11 XProtocolRevision 218
+X11 XVendorRelease 219
+X11 XDisplayString 220
+X11 XDefaultDepth 221
+X11 XDefaultColormap 222
+X11 XBitmapUnit 223
+X11 XBitmapBitOrder 224
+X11 XBitmapPad 225
+X11 XImageByteOrder 226
+X11 XNextRequest 227
+X11 XLastKnownRequestProcessed 228
+X11 XScreenOfDisplay 229
+X11 XDefaultScreenOfDisplay 230
+X11 XDisplayOfScreen 231
+X11 XRootWindowOfScreen 232
+X11 XBlackPixelOfScreen 233
+X11 XWhitePixelOfScreen 234
+X11 XDefaultColormapOfScreen 235
+X11 XDefaultDepthOfScreen 236
+X11 XDefaultGCOfScreen 237
+X11 XDefaultVisualOfScreen 238
+X11 XWidthOfScreen 239
+X11 XHeightOfScreen 240
+X11 XWidthMMOfScreen 241
+X11 XHeightMMOfScreen 242
+X11 XPlanesOfScreen 243
+X11 XCellsOfScreen 244
+X11 XMinCmapsOfScreen 245
+X11 XMaxCmapsOfScreen 246
+X11 XDoesSaveUnders 247
+X11 XDoesBackingStore 248
+X11 XEventMaskOfScreen 249
+X11 XScreenNumberOfScreen 250
+X11 XDestroyImage 251
+X11 XGetPixel 252
+X11 XPutPixel 253
+X11 XSubImage 254
+X11 XAddPixel 255
+X11 XNoOp 256
+X11 XMapRaised 257
+X11 XMapSubwindows 258
+X11 XMapWindow 259
+X11 XMaskEvent 260
+X11 XMaxRequestSize 261
+X11 XResourceManagerString 262
+X11 XDisplayMotionBufferSize 263
+X11 XDisplayKeycodes 264
+X11 XVisualIDFromVisual 265
+X11 XGetModifierMapping 266
+X11 XSetModifierMapping 267
+X11 XNewModifiermap 268
+X11 XFreeModifiermap 269
+X11 XInsertModifiermapEntry 270
+X11 XDeleteModifiermapEntry 271
+X11 XMoveWindow 272
+X11 XNextEvent 273
+X11 XOpenDisplay 274
+X11 _XFreeDisplayStructure 275
+X11 XParseColor 276
+X11 XParseGeometry 277
+X11 XPeekEvent 278
+X11 XPeekIfEvent 279
+X11 XEventsQueued 280
+X11 XPending 281
+X11 XSetWindowBackgroundPixmap 282
+X11 XSetWindowBorderPixmap 283
+X11 XPolygonRegion 284
+X11 XDrawText 285
+X11 XDrawText16 286
+X11 XPutBackEvent 287
+X11 _XReverse_Bytes 288
+X11 XPutImage 289
+X11 XQueryBestSize 290
+X11 XQueryColor 291
+X11 XQueryColors 292
+X11 XQueryBestCursor 293
+X11 XQueryExtension 294
+X11 XQueryKeymap 295
+X11 XQueryPointer 296
+X11 XQueryBestStipple 297
+X11 XQueryTextExtents16 298
+X11 XQueryTextExtents 299
+X11 XQueryBestTile 300
+X11 XQueryTree 301
+X11 XRaiseWindow 302
+X11 XReadBitmapFile 303
+X11 XRecolorCursor 304
+X11 XConfigureWindow 305
+X11 XCreateRegion 306
+X11 XClipBox 307
+X11 XUnionRectWithRegion 308
+X11 XSetRegion 309
+X11 XDestroyRegion 310
+X11 XOffsetRegion 311
+X11 XShrinkRegion 312
+X11 XIntersectRegion 313
+X11 XUnionRegion 314
+X11 XSubtractRegion 315
+X11 XXorRegion 316
+X11 XEmptyRegion 317
+X11 XEqualRegion 318
+X11 XPointInRegion 319
+X11 XRectInRegion 320
+X11 XReparentWindow 321
+X11 XRestackWindows 322
+X11 XRotateWindowProperties 323
+X11 XScreenResourceString 324
+X11 XSelectInput 325
+X11 XSendEvent 326
+X11 XSetBackground 327
+X11 XSetClipRectangles 328
+X11 _XSetClipRectangles 329
+X11 XSetClipMask 330
+X11 XSetClipOrigin 331
+X11 XSetDashes 332
+X11 XSetFontPath 333
+X11 XSetFont 334
+X11 XSetForeground 335
+X11 XSetFunction 336
+X11 XSetSizeHints 337
+X11 XSetWMHints 338
+X11 XSetZoomHints 339
+X11 XSetNormalHints 340
+X11 XSetIconSizes 341
+X11 XSetCommand 342
+X11 XSetStandardProperties 343
+X11 XSetTransientForHint 344
+X11 XSetClassHint 345
+X11 XSetInputFocus 346
+X11 XSetLineAttributes 347
+X11 XSetPlaneMask 348
+X11 XSetPointerMapping 349
+X11 XChangeKeyboardMapping 350
+X11 XSetSelectionOwner 351
+X11 XSetScreenSaver 352
+X11 XSetState 353
+X11 XSetStipple 354
+X11 XSetStandardColormap 355
+X11 XSetTile 356
+X11 XSetTSOrigin 357
+X11 XRotateBuffers 358
+X11 XFetchBuffer 359
+X11 XFetchBytes 360
+X11 XStoreBuffer 361
+X11 XStoreBytes 362
+X11 XStoreColor 363
+X11 XStoreColors 364
+X11 XStoreNamedColor 365
+X11 XStoreName 366
+X11 XSetIconName 367
+X11 _XInitKeysymDB 368
+X11 XStringToKeysym 369
+X11 XSync 370
+X11 _XSyncFunction 371
+X11 XSynchronize 372
+X11 XSetAfterFunction 373
+X11 XDrawString 374
+X11 XDrawString16 375
+X11 XTextExtents 376
+X11 XTextWidth 377
+X11 XTextExtents16 378
+X11 XTextWidth16 379
+X11 XTranslateCoordinates 380
+X11 XUndefineCursor 381
+X11 XUngrabButton 382
+X11 XUngrabKeyboard 383
+X11 XUngrabKey 384
+X11 XUngrabPointer 385
+X11 XUngrabServer 386
+X11 XUninstallColormap 387
+X11 XUnloadFont 388
+X11 XUnmapSubwindows 389
+X11 XUnmapWindow 390
+X11 XGetVisualInfo 391
+X11 XMatchVisualInfo 392
+X11 XWarpPointer 393
+X11 XWindowEvent 394
+X11 XCreateWindow 395
+X11 _XProcessWindowAttributes 396
+X11 XWriteBitmapFile 397
+X11 _XFlush 398
+X11 _XEventsQueued 399
+X11 _XReadEvents 400
+X11 _XRead 401
+X11 _XReadPad 402
+X11 _XSend 403
+X11 _XAllocID 404
+X11 _XSetLastRequestRead 405
+X11 _XReply 406
+X11 _XEatData 407
+X11 _XEnq 408
+X11 _XUnknownWireEvent 409
+X11 _XUnknownNativeEvent 410
+X11 _XWireToEvent 411
+X11 _XDefaultIOError 412
+X11 _XDefaultError 413
+X11 _XDefaultWireError 414
+X11 _XError 415
+X11 _XIOError 416
+X11 _XAllocScratch 417
+X11 _XVIDtoVisual 418
+X11 XFree 419
+X11 _XGetHostname 420
+X11 _XScreenOfWindow 421
+X11 _XAllocIDs 423
+X11 _XAllocTemp 424
+X11 _XFreeTemp 425
+X11 XrmInitialize 426
+X11 XrmGetDatabase 427
+X11 XrmSetDatabase 428
+X11 XrmStringToQuarkList 429
+X11 XrmStringToBindingQuarkList 430
+X11 XrmCombineDatabase 431
+X11 XrmMergeDatabases 432
+X11 XrmQPutResource 433
+X11 XrmPutResource 434
+X11 XrmQPutStringResource 435
+X11 XrmPutStringResource 436
+X11 XrmPutLineResource 437
+X11 XrmGetStringDatabase 438
+X11 XrmGetFileDatabase 439
+X11 XrmCombineFileDatabase 440
+X11 XrmEnumerateDatabase 441
+X11 XrmPutFileDatabase 442
+X11 XrmQGetSearchList 443
+X11 XrmQGetSearchResource 444
+X11 XrmQGetResource 445
+X11 XrmGetResource 446
+X11 XrmLocaleOfDatabase 447
+X11 XrmDestroyDatabase 448
+X11 XGetGCValues 449
+X11 XGetWMSizeHints 450
+X11 XGetWMNormalHints 451
+X11 XGetRGBColormaps 452
+X11 XGetTextProperty 453
+X11 XGetWMName 454
+X11 XGetWMIconName 455
+X11 XGetWMClientMachine 456
+X11 XGetWMColormapWindows 457
+X11 XGetWMProtocols 458
+X11 XIconifyWindow 459
+X11 XListPixmapFormats 460
+X11 XAllocSizeHints 461
+X11 XAllocStandardColormap 462
+X11 XAllocWMHints 463
+X11 XAllocClassHint 464
+X11 XAllocIconSize 465
+X11 XReconfigureWMWindow 466
+X11 XSetWMSizeHints 467
+X11 XSetWMNormalHints 468
+X11 XSetRGBColormaps 469
+X11 XSetTextProperty 470
+X11 XSetWMName 471
+X11 XSetWMIconName 472
+X11 XSetWMClientMachine 473
+X11 XSetWMColormapWindows 474
+X11 XSetWMProperties 475
+X11 XSetWMProtocols 476
+X11 XStringListToTextProperty 477
+X11 XTextPropertyToStringList 478
+X11 XFreeStringList 479
+X11 XWMGeometry 480
+X11 XWithdrawWindow 481
+X11 XauDisposeAuth 482
+X11 XauGetBestAuthByAddr 483
+X11 XauFileName 484
+X11 XauReadAuth 485
+X11 XcmsCIELabToCIEXYZ 486
+X11 XcmsCIEXYZToCIELab 487
+X11 XcmsCIELabClipab 488
+X11 XcmsCIELabClipL 489
+X11 XcmsCIELabClipLab 490
+X11 XcmsCIELabQueryMinL 491
+X11 XcmsCIELabQueryMaxC 492
+X11 XcmsCIELabQueryMaxL 493
+X11 _XcmsCIELabQueryMaxLCRGB 494
+X11 XcmsCIELabQueryMaxLC 495
+X11 XcmsCIELabWhiteShiftColors 496
+X11 XcmsCIELuvToCIEuvY 497
+X11 XcmsCIEuvYToCIELuv 498
+X11 XcmsCIELuvClipuv 499
+X11 XcmsCIELuvClipL 500
+X11 XcmsCIELuvClipLuv 501
+X11 XcmsCIELuvQueryMinL 502
+X11 XcmsCIELuvQueryMaxC 503
+X11 XcmsCIELuvQueryMaxL 504
+X11 _XcmsCIELuvQueryMaxLCRGB 505
+X11 XcmsCIELuvQueryMaxLC 506
+X11 XcmsCIELuvWhiteShiftColors 507
+X11 XcmsCIEuvYToCIEXYZ 508
+X11 XcmsCIEXYZToCIEuvY 509
+X11 XcmsCIExyYToCIEXYZ 510
+X11 XcmsCIEXYZToCIExyY 511
+X11 XcmsTekHVCToCIEuvY 512
+X11 XcmsCIEuvYToTekHVC 513
+X11 _XcmsTekHVC_CheckModify 514
+X11 XcmsTekHVCClipC 515
+X11 XcmsTekHVCClipV 516
+X11 XcmsTekHVCClipVC 517
+X11 XcmsTekHVCQueryMinV 518
+X11 XcmsTekHVCQueryMaxC 519
+X11 XcmsTekHVCQueryMaxV 520
+X11 _XcmsTekHVCQueryMaxVCRGB 521
+X11 XcmsTekHVCQueryMaxVC 522
+X11 XcmsTekHVCQueryMaxVSamples 523
+X11 XcmsTekHVCWhiteShiftColors 524
+X11 XcmsAddColorSpace 525
+X11 XcmsAddFunctionSet 526
+X11 XcmsAllocNamedColor 527
+X11 XcmsAllocColor 528
+X11 XcmsCreateCCC 529
+X11 XcmsDefaultCCC 530
+X11 XcmsFreeCCC 531
+X11 _XcmsAddCmapRec 532
+X11 _XcmsCopyCmapRecAndFree 533
+X11 _XcmsDeleteCmapRec 534
+X11 XcmsCCCOfColormap 535
+X11 _XcmsCopyISOLatin1Lowered 536
+X11 _XcmsResolveColorString 537
+X11 _XcmsConvertColorsWithWhitePt 538
+X11 _XcmsEqualWhitePts 539
+X11 _XcmsDIConvertColors 540
+X11 _XcmsDDConvertColors 541
+X11 XcmsConvertColors 542
+X11 _XcmsRegFormatOfPrefix 543
+X11 XcmsFormatOfPrefix 544
+X11 _XcmsCopyPointerArray 545
+X11 _XcmsFreePointerArray 546
+X11 _XcmsPushPointerArray 547
+X11 _XcmsInitDefaultCCCs 548
+X11 _XcmsInitScrnInfo 549
+X11 _XcmsFreeIntensityMaps 550
+X11 _XcmsGetIntensityMap 551
+X11 _XcmsGetTableType0 552
+X11 _XcmsGetTableType1 553
+X11 _XcmsValueCmp 554
+X11 _XcmsIntensityCmp 555
+X11 _XcmsValueInterpolation 556
+X11 _XcmsIntensityInterpolation 557
+X11 _XcmsTableSearch 558
+X11 _XcmsMatVec 559
+X11 XcmsCIEXYZToRGBi 560
+X11 XcmsRGBiToCIEXYZ 561
+X11 XcmsRGBiToRGB 562
+X11 XcmsRGBToRGBi 563
+X11 _XcmsLRGB_InitScrnDefault 564
+X11 XcmsLookupColor 565
+X11 _XcmsCubeRoot 566
+X11 _XcmsSquareRoot 567
+X11 XcmsDisplayOfCCC 568
+X11 XcmsVisualOfCCC 569
+X11 XcmsScreenNumberOfCCC 570
+X11 XcmsScreenWhitePointOfCCC 571
+X11 XcmsClientWhitePointOfCCC 572
+X11 XcmsPrefixOfFormat 573
+X11 _XcmsGetElement 574
+X11 _XcmsGetProperty 575
+X11 XcmsQueryBlack 576
+X11 XcmsQueryBlue 577
+X11 XcmsQueryGreen 578
+X11 XcmsQueryRed 579
+X11 XcmsQueryWhite 580
+X11 XcmsQueryColor 581
+X11 XcmsQueryColors 582
+X11 XcmsSetWhitePoint 583
+X11 XcmsSetCompressionProc 584
+X11 XcmsSetWhiteAdjustProc 585
+X11 _XcmsSetGetColors 586
+X11 XcmsStoreColor 587
+X11 XcmsStoreColors 588
+X11 _XcmsCosine 589
+X11 _XcmsSine 590
+X11 _XcmsArcTangent 591
+X11 _XcmsRGB_to_XColor 592
+X11 _XColor_to_XcmsRGB 593
+X11 _XcmsResolveColor 594
+X11 _XcmsUnresolveColor 595
+X11 _XUnresolveColor 596
+X11 _XParseBaseFontNameList 597
+X11 XCreateFontSet 598
+X11 XFontsOfFontSet 599
+X11 XBaseFontNameListOfFontSet 941
+X11 XLocaleOfFontSet 600
+X11 XContextDependentDrawing 601
+X11 XExtentsOfFontSet 602
+X11 XFreeFontSet 603
+X11 XVaCreateNestedList 604
+X11 XGetIMValues 605
+X11 XCreateIC 606
+X11 XDestroyIC 607
+X11 XGetICValues 608
+X11 XSetICValues 609
+X11 XSetICFocus 610
+X11 XUnsetICFocus 611
+X11 XIMOfIC 612
+X11 XmbResetIC 613
+X11 XwcResetIC 614
+X11 XmbLookupString 615
+X11 XwcLookupString 616
+X11 _XIMCompileResourceList 617
+X11 _XCopyToArg 618
+X11 XOpenIM 619
+X11 XCloseIM 620
+X11 XDisplayOfIM 621
+X11 XLocaleOfIM 622
+X11 XSetLocaleModifiers 623
+X11 XSupportsLocale 624
+X11 _XlcValidModSyntax 625
+X11 _XlcDefaultMapModifiers 626
+X11 _XlcAddLoader 627
+X11 _XlcCurrentLC 628
+X11 XmbSetWMProperties 629
+X11 XmbDrawText 630
+X11 XmbDrawString 631
+X11 XmbDrawImageString 632
+X11 XmbTextEscapement 633
+X11 XmbTextExtents 634
+X11 XmbTextPerCharExtents 635
+X11 XwcDrawText 636
+X11 XwcDrawString 637
+X11 XwcDrawImageString 638
+X11 XwcTextEscapement 639
+X11 XwcTextExtents 640
+X11 XwcTextPerCharExtents 641
+X11 XFilterEvent 642
+X11 _XRegisterFilterByMask 643
+X11 _XRegisterFilterByType 644
+X11 _XUnregisterFilter 645
+X11 _Xsetlocale 646
+X11 XDefaultString 647
+X11 _XlcDefaultLoader 648
+X11 _XrmInitParseInfo 649
+X11 XmbTextPropertyToTextList 650
+X11 XmbTextListToTextProperty 651
+X11 XwcTextPropertyToTextList 652
+X11 XwcFreeStringList 653
+X11 XwcTextListToTextProperty 654
+X11 _X11TransConnectDisplay 655
+X11 XGetAtomNames 656
+X11 XInitImage 657
+X11 XESetBeforeFlush 658
+X11 _XFreeAtomTable 659
+X11 _XUpdateAtomCache 660
+X11 XInternAtoms 661
+X11 _XKeyInitialize 662
+X11 XConvertCase 663
+X11 _XTranslateKey 664
+X11 _XTranslateKeySym 665
+X11 _XKeysymToModifiers 666
+X11 XExtendedMaxRequestSize 667
+X11 XReadBitmapFileData 668
+X11 _XAsyncErrorHandler 669
+X11 _XDeqAsyncHandler 670
+X11 _XGetAsyncReply 671
+X11 _XGetAsyncData 672
+X11 _XPollfdCacheInit 673
+X11 _XPollfdCacheAdd 674
+X11 _XPollfdCacheDel 675
+X11 _XRegisterInternalConnection 676
+X11 _XUnregisterInternalConnection 677
+X11 XInternalConnectionNumbers 678
+X11 XProcessInternalConnection 679
+X11 XAddConnectionWatch 680
+X11 XRemoveConnectionWatch 681
+X11 _XDeq 682
+X11 _XcmsCIEXYZ_ValidSpec 683
+X11 _XcmsCIEuvY_ValidSpec 684
+X11 XcmsSetCCCOfColormap 685
+X11 XDirectionalDependentDrawing 686
+X11 XContextualDrawing 687
+X11 XSetIMValues 688
+X11 XRegisterIMInstantiateCallback 689
+X11 XUnregisterIMInstantiateCallback 690
+X11 XCreateOC 691
+X11 XDestroyOC 692
+X11 XOMOfOC 693
+X11 XSetOCValues 694
+X11 XGetOCValues 695
+X11 XOpenOM 696
+X11 XCloseOM 697
+X11 XSetOMValues 698
+X11 XGetOMValues 699
+X11 XDisplayOfOM 700
+X11 XLocaleOfOM 701
+X11 _XlcRemoveLoader 702
+X11 _XOpenLC 703
+X11 _XCloseLC 704
+X11 _XlcCopyFromArg 705
+X11 _XlcCopyToArg 706
+X11 _XlcCountVaList 707
+X11 _XlcVaToArgList 708
+X11 _XlcCompileResourceList 709
+X11 _XlcGetValues 710
+X11 _XlcSetValues 711
+X11 XInitThreads 712
+X11 XLockDisplay 713
+X11 XUnlockDisplay 714
+X11 _X11TransFreeConnInfo 715
+X11 _X11TransOpenCOTSClient 716
+X11 _X11TransOpenCLTSClient 717
+X11 _X11TransSetOption 718
+X11 _X11TransConnect 719
+X11 _X11TransBytesReadable 720
+X11 _X11TransRead 721
+X11 _X11TransWrite 722
+X11 _X11TransReadv 723
+X11 _X11TransWritev 724
+X11 _X11TransDisconnect 725
+X11 _X11TransClose 726
+X11 _X11TransCloseForCloning 727
+X11 _X11TransIsLocal 728
+X11 _X11TransGetMyAddr 729
+X11 _X11TransGetPeerAddr 730
+X11 _X11TransGetConnectionNumber 731
+X11 _X11TransGetHostname 732
+X11 _X11TransConvertAddress 733
+X11 _XimCbDispatch 734
+X11 _XimLookupMBText 735
+X11 _XimLookupWCText 736
+X11 _XimRegisterFilter 737
+X11 _XimUnregisterFilter 738
+X11 _XimReregisterFilter 739
+X11 _XimRegisterServerFilter 740
+X11 _XimUnregisterServerFilter 741
+X11 _XimProtoCreateIC 742
+X11 _XimCheckDataSize 743
+X11 _XimSetHeader 744
+X11 _XimProtoIMFree 745
+X11 _XimProtoOpenIM 746
+X11 _XimICOfXICID 747
+X11 _XimSetEventMaskCallback 748
+X11 _XimSync 749
+X11 _XimProcSyncReply 750
+X11 _XimRespSyncReply 751
+X11 _XimSyncCallback 752
+X11 _XimForwardEvent 753
+X11 _XimForwardEventCallback 754
+X11 _XimRegisterTriggerKeysCallback 755
+X11 _XimGetWindowEventmask 756
+X11 _XimTriggerNotify 757
+X11 _XimFreeCommitInfo 758
+X11 _XimCommitCallback 759
+X11 _XimProcError 760
+X11 _XimErrorCallback 761
+X11 _XimError 762
+X11 _Ximctstombs 763
+X11 _Ximctstowcs 764
+X11 _XimProtoMbLookupString 765
+X11 _XimProtoWcLookupString 766
+X11 _XimRegProtoIntrCallback 767
+X11 _XimFreeProtoIntrCallback 768
+X11 _XimDispatchInit 769
+X11 _XimProtoEventToWire 770
+X11 _XimProtoWireToEvent 771
+X11 _XimExtension 772
+X11 _XimRegisterIMInstantiateCallback 773
+X11 _XimUnRegisterIMInstantiateCallback 774
+X11 _XimResetIMInstantiateCallback 775
+X11 _XimDestroyIMStructureList 776
+X11 _XimServerDestroy 777
+X11 _XInitIM 779
+X11 _XimLocalFilter 780
+X11 _XimLocalGetICValues 781
+X11 _XimLocalCreateIC 782
+X11 _XimCheckIfLocalProcessing 783
+X11 _XimLocalIMFree 784
+X11 _XimLocalGetIMValues 785
+X11 _XimLocalSetIMValues 786
+X11 _XimLocalOpenIM 787
+X11 _XimLocalMbLookupString 788
+X11 _XimLocalWcLookupString 789
+X11 _XimParseStringFile 790
+X11 _XimSetICValueData 791
+X11 _XimLocalSetICValues 792
+X11 _XimSetIMResourceList 793
+X11 _XimSetICResourceList 794
+X11 _XimSetInnerIMResourceList 795
+X11 _XimSetInnerICResourceList 796
+X11 _XimCheckCreateICValues 797
+X11 _XimGetResourceListRec 798
+X11 _XimSetIMMode 799
+X11 _XimCheckIMMode 800
+X11 _XimSetICMode 801
+X11 _XimCheckICMode 802
+X11 _XimSetLocalIMDefaults 944
+X11 _XimSetICDefaults 803
+X11 _XimDecodeLocalIMAttr 804
+X11 _XimDecodeLocalICAttr 805
+X11 _XimCheckLocalInputStyle 806
+X11 _XimEncodeLocalIMAttr 807
+X11 _XimEncodeLocalICAttr 808
+X11 _XimGetCurrentIMValues 809
+X11 _XimSetCurrentIMValues 810
+X11 _XimGetCurrentICValues 811
+X11 _XimSetCurrentICValues 812
+X11 _XimInitialResourceInfo 813
+X11 _XimDecodeIMATTRIBUTE 814
+X11 _XimDecodeICATTRIBUTE 815
+X11 _XimEncodeIMATTRIBUTE 816
+X11 _XimEncodeICATTRIBUTE 817
+X11 _XimGetAttributeID 818
+X11 _XimThaiFilter 819
+X11 _XimThaiCreateIC 820
+X11 _XimCheckIfThaiProcessing 821
+X11 _XimThaiOpenIM 822
+X11 _XimThaiIMFree 823
+X11 _XimThaiCloseIM 824
+X11 _XimXConf 825
+X11 _XimConnect 826
+X11 _XimShutdown 827
+X11 _XimFlush 828
+X11 _XimFilterWaitEvent 829
+X11 _XimFreeTransIntrCallback 830
+X11 _XimTransFilterWaitEvent 831
+X11 _XimTransInternalConnection 832
+X11 _XimTransFlush 833
+X11 _XimTransConf 834
+X11 _XlcParseCharSet 835
+X11 _XlcInitCTInfo 836
+X11 _XlcGetCSValues 837
+X11 _XlcGetCharSet 838
+X11 _XlcAddCharSet 839
+X11 _XlcCreateDefaultCharSet 840
+X11 _XlcSetConverter 841
+X11 _XlcOpenConverter 842
+X11 _XlcCloseConverter 843
+X11 _XlcConvert 844
+X11 _XlcResetConverter 845
+X11 _XlcGetResource 846
+X11 _XlcGetLocaleDataBase 847
+X11 _XlcDestroyLocaleDataBase 848
+X11 _XlcCreateLocaleDataBase 849
+X11 _XlcEucLoader 850
+X11 _XlcFileName 851
+X11 _XlcResolveLocaleName 852
+X11 _XlcResolveDBName 853
+X11 _XlcResolveI18NPath 854
+X11 _XlcGenericLoader 855
+X11 _XlcInitLoader 856
+X11 _XmbTextPropertyToTextList 857
+X11 _XwcTextPropertyToTextList 858
+X11 _XwcFreeStringList 859
+X11 _XGetLCValues 860
+X11 _XlcDestroyLC 861
+X11 _XlcCreateLC 862
+X11 _XrmDefaultInitParseInfo 863
+X11 _XlcSjisLoader 864
+X11 _Xlcmbtowc 865
+X11 _Xlcwctomb 866
+X11 _Xlcmbstowcs 867
+X11 _Xlcwcstombs 868
+X11 _Xmbtowc 869
+X11 _Xwctomb 870
+X11 _Xmbstowcs 871
+X11 _Xwcstombs 872
+X11 _Xwcscpy 873
+X11 _Xwcsncpy 874
+X11 _Xwcslen 875
+X11 _Xwcscmp 876
+X11 _Xwcsncmp 877
+X11 _XmbTextListToTextProperty 878
+X11 _XwcTextListToTextProperty 879
+X11 _XlcUtfLoader 880
+X11 _XlcCompareISOLatin1 881
+X11 _XlcNCompareISOLatin1 882
+X11 _XmbDefaultTextEscapement 883
+X11 _XwcDefaultTextEscapement 884
+X11 _XmbDefaultTextExtents 885
+X11 _XwcDefaultTextExtents 886
+X11 _XmbDefaultTextPerCharExtents 887
+X11 _XwcDefaultTextPerCharExtents 888
+X11 _XmbDefaultDrawString 889
+X11 _XwcDefaultDrawString 890
+X11 _XmbDefaultDrawImageString 891
+X11 _XwcDefaultDrawImageString 892
+X11 _XomGenericOpenOM 893
+X11 _XInitOM 894
+X11 _XmbGenericDrawImageString 895
+X11 _XwcGenericDrawImageString 896
+X11 _XomGenericDrawString 897
+X11 _XmbGenericDrawString 898
+X11 _XwcGenericDrawString 899
+X11 _XmbGenericTextEscapement 900
+X11 _XwcGenericTextEscapement 901
+X11 _XomGenericTextExtents 902
+X11 _XmbGenericTextExtents 903
+X11 _XwcGenericTextExtents 904
+X11 _XmbGenericTextPerCharExtents 905
+X11 _XwcGenericTextPerCharExtents 906
+X11 _XomConvert 907
+X11 _XomInitConverter 908
+X11 _Xmblen 909
+X11 _XimGetResourceName 910
+X11 _XimGetResourceListRecByQuark 911
+X11 _XimSetIMValueData 912
+X11 _XimGetIMValueData 913
+X11 _XimGetICValueData 914
+X11 _XimMakeIMAttrIDList 915
+X11 _XimMakeICAttrIDList 916
+X11 _XimWrite 917
+X11 _XimRead 918
+X11 _XimRegisterDispatcher 919
+X11 _XimTransRegisterDispatcher 920
+X11 _XimTransCallDispatcher 921
+X11 _XimTransWrite 922
+X11 _XimTransRead 923
+X11 _XimXTransFreeConnInfo 924
+X11 _XimXTransOpenCOTSClient 925
+X11 _XimXTransOpenCLTSClient 926
+X11 _XimXTransSetOption 927
+X11 _XimXTransConnect 928
+X11 _XimXTransBytesReadable 929
+X11 _XimXTransRead 930
+X11 _XimXTransWrite 931
+X11 _XimXTransReadv 932
+X11 _XimXTransWritev 933
+X11 _XimXTransDisconnect 934
+X11 _XimXTransClose 935
+X11 _XimXTransCloseForCloning 936
+X11 _XimXTransIsLocal 937
+X11 _XimXTransGetMyAddr 938
+X11 _XimXTransGetPeerAddr 939
+X11 _XimXTransGetConnectionNumber 940
+X11 _XimXTransGetHostname 945
+X11 _Xdebug 946
+X11 __XOS2RedirRoot 950
+X11 __XOS2RedirRoot1 951
+X11 XkbIgnoreExtension 1000
+X11 XkbOpenDisplay 1001
+X11 XkbQueryExtension 1002
+X11 XkbUseExtension 1003
+X11 XkbLibraryVersion 1004
+X11 XkbSetXlibControls 1005
+X11 XkbGetXlibControls 1006
+X11 XkbSetAtomFuncs 1007
+X11 XkbKeycodeToKeysym 1008
+X11 XkbKeysymToModifiers 1009
+X11 XkbLookupKeySym 1010
+X11 XkbLookupKeyBinding 1011
+X11 XkbTranslateKeyCode 1012
+X11 XkbTranslateKeySym 1013
+X11 XkbSetAutoRepeatRate 1014
+X11 XkbGetAutoRepeatRate 1015
+X11 XkbChangeEnabledControls 1016
+X11 XkbDeviceBell 1017
+X11 XkbForceDeviceBell 1018
+X11 XkbDeviceBellEvent 1019
+X11 XkbBell 1020
+X11 XkbForceBell 1021
+X11 XkbBellEvent 1022
+X11 XkbSelectEvents 1023
+X11 XkbSelectEventDetails 1024
+X11 XkbNoteMapChanges 1025
+X11 XkbNoteNameChanges 1026
+X11 XkbGetIndicatorState 1027
+X11 XkbGetIndicatorMap 1029
+X11 XkbSetIndicatorMap 1030
+X11 XkbGetNamedIndicator 1031
+X11 XkbGetNamedDeviceIndicator 1032
+X11 XkbSetNamedIndicator 1033
+X11 XkbSetNamedDeviceIndicator 1034
+X11 XkbLockModifiers 1035
+X11 XkbLatchModifiers 1036
+X11 XkbLockGroup 1037
+X11 XkbLatchGroup 1038
+X11 XkbSetServerInternalMods 1039
+X11 XkbSetIgnoreLockMods 1040
+X11 XkbVirtualModsToReal 1041
+X11 XkbComputeEffectiveMap 1042
+X11 XkbInitCanonicalKeyTypes 1043
+X11 XkbAllocKeyboard 1044
+X11 XkbFreeKeyboard 1045
+X11 XkbAllocClientMap 1046
+X11 XkbAllocServerMap 1047
+X11 XkbFreeClientMap 1048
+X11 XkbFreeServerMap 1049
+X11 XkbAddKeyType 1050
+X11 XkbAllocIndicatorMaps 1051
+X11 XkbFreeIndicatorMaps 1052
+X11 XkbGetMap 1053
+X11 XkbGetUpdatedMap 1054
+X11 XkbGetMapChanges 1055
+X11 XkbRefreshKeyboardMapping 1056
+X11 XkbGetKeyTypes 1057
+X11 XkbGetKeySyms 1058
+X11 XkbGetKeyActions 1059
+X11 XkbGetKeyBehaviors 1060
+X11 XkbGetVirtualMods 1061
+X11 XkbGetKeyExplicitComponents 1062
+X11 XkbGetKeyModifierMap 1063
+X11 XkbAllocControls 1064
+X11 XkbFreeControls 1065
+X11 XkbGetControls 1066
+X11 XkbSetControls 1067
+X11 XkbAllocCompatMap 1069
+X11 XkbFreeCompatMap 1070
+X11 XkbGetCompatMap 1071
+X11 XkbSetCompatMap 1072
+X11 XkbAllocNames 1073
+X11 XkbGetNames 1074
+X11 XkbSetNames 1075
+X11 XkbChangeNames 1076
+X11 XkbFreeNames 1077
+X11 XkbGetState 1078
+X11 XkbSetMap 1079
+X11 XkbChangeMap 1080
+X11 XkbSetDetectableAutoRepeat 1081
+X11 XkbGetDetectableAutoRepeat 1082
+X11 XkbSetAutoResetControls 1083
+X11 XkbGetAutoResetControls 1084
+X11 XkbCopyKeyType 1085
+X11 XkbCopyKeyTypes 1086
+X11 XkbResizeKeyType 1087
+X11 XkbResizeKeySyms 1088
+X11 XkbResizeKeyActions 1089
+X11 XkbChangeTypesOfKey 1090
+X11 XkbListComponents 1091
+X11 XkbFreeComponentList 1092
+X11 XkbGetKeyboard 1093
+X11 XkbGetKeyboardByName 1094
+X11 XkbAddDeviceLedInfo 1098
+X11 XkbResizeDeviceButtonActions 1099
+X11 XkbAllocDeviceInfo 1100
+X11 XkbFreeDeviceInfo 1101
+X11 XkbNoteDeviceChanges 1102
+X11 XkbGetDeviceInfo 1103
+X11 XkbGetDeviceInfoChanges 1104
+X11 XkbGetDeviceButtonActions 1105
+X11 XkbGetDeviceLedInfo 1106
+X11 XkbSetDeviceInfo 1107
+X11 XkbChangeDeviceInfo 1108
+X11 XkbSetDeviceLedInfo 1109
+X11 XkbSetDeviceButtonActions 1110
+X11 XkbToControl 1111
+X11 XkbSetDebuggingFlags 1112
+X11 _XkbInternAtomFunc 1113
+X11 _XkbGetAtomNameFunc 1114
+X11 _XkbReloadDpy 1115
+X11 _XKeycodeToKeysym 1116
+X11 _XKeysymToKeycode 1117
+X11 _XLookupKeysym 1118
+X11 _XRefreshKeyboardMapping 1119
+X11 _XLookupString 1120
+X11 _XkbNoteCoreMapChanges 1121
+X11 _XkbInitReadBuffer 1122
+X11 _XkbSkipReadBufferData 1123
+X11 _XkbCopyFromReadBuffer 1124
+X11 _XkbReadCopyKeySyms 1125
+X11 _XkbWriteCopyKeySyms 1126
+X11 _XkbReadBufferCopyKeySyms 1127
+X11 _XkbPeekAtReadBuffer 1128
+X11 _XkbGetReadBufferPtr 1129
+X11 _XkbFreeReadBuffer 1130
+X11 _XkbGetReadBufferCountedString 1131
+X11 _XkbGetCharset 1132
+X11 _XkbGetConverters 1133
+X11 XkbGetGeometry 1134
+X11 XkbAddGeomShape 1135
+X11 XkbAddGeomOutline 1136
+X11 XkbComputeShapeBounds 1137
+X11 XkbAddGeomDoodad 1138
+X11 XkbAddGeomColor 1139
+X11 XkbAddGeomOverlayRow 1140
+X11 XkbAddGeomSection 1141
+X11 XkbAddGeomRow 1142
+X11 XkbAddGeomKey 1143
+X11 XkbComputeSectionBounds 1144
+X11 XkbAllocGeometry 1145
+X11 XkbAddGeomProperty 1146
+X11 XkbAddGeomOverlay 1147
+X11 XkbComputeShapeTop 1148
+X11 XkbFindOverlayForKey 1149
+X11 XkbAllocGeomKeyAliases 1150
+X11 XkbSetGeometry 1151
+X11 XkbXlibControlsImplemented 1152
+X11 XkbTranslateKey 1153
+X11 XkbAddGeomOverlayKey 1154
+X11 XkbNoteControlsChanges 1155
+X11 XkbGetKeyVirtualModMap 1156
+X11 XkbComputeRowBounds 1157
+X11 XkbGetNamedGeometry 1158
+X11 XkbKeyTypesForCoreSymbols 1159
+X11 XkbApplyCompatMapToKey 1160
+X11 XkbUpdateMapFromCore 1161
+X11 XkbUpdateActionVirtualMods 1162
+X11 XkbUpdateKeyTypeVirtualMods 1163
+X11 XkbApplyVirtualModChanges 1164
+X11 XkbFreeGeomProperties 1165
+X11 XkbFreeGeomKeyAliases 1166
+X11 XkbFreeGeomColors 1167
+X11 XkbFreeGeomPoints 1168
+X11 XkbFreeGeomOutlines 1169
+X11 XkbFreeGeomShapes 1170
+X11 XkbFreeGeomOverlayKeys 1171
+X11 XkbFreeGeomOverlayRows 1172
+X11 XkbFreeGeomOverlays 1173
+X11 XkbFreeGeomKeys 1174
+X11 XkbFreeGeomRows 1175
+X11 XkbFreeGeomSections 1176
+X11 XkbFreeGeomDoodads 1177
+X11 XkbFreeGeometry 1178
+X11 XkbAllocGeomProps 1179
+X11 XkbAllocGeomColors 1180
+X11 XkbAllocGeomShapes 1181
+X11 XkbAllocGeomSections 1182
+X11 XkbAllocGeomOverlays 1183
+X11 XkbAllocGeomOverlayRows 1184
+X11 XkbAllocGeomOverlayKeys 1185
+X11 XkbAllocGeomDoodads 1186
+X11 XkbAllocGeomSectionDoodads 1187
+X11 XkbAllocGeomOutlines 1188
+X11 XkbAllocGeomRows 1189
+X11 XkbAllocGeomPoints 1190
+X11 XkbAllocGeomKeys 1191
+X11 XkbAddGeomKeyAlias 1192
+X11 _XkeyTable 1200
+X11 _Xevent_to_mask 1201
+X11 _qfree 1202
+X11 _XIOErrorFunction 1203
+X11 _XErrorFunction 1204
+X11 _XHeadOfDisplayList 1205
+X11 XcmsCIELabColorSpace 1206
+X11 XcmsCIELuvColorSpace 1207
+X11 XcmsCIEXYZColorSpace 1208
+X11 XcmsCIEuvYColorSpace 1209
+X11 XcmsCIExyYColorSpace 1210
+X11 XcmsTekHVCColorSpace 1211
+X11 XcmsUNDEFINEDColorSpace 1212
+X11 _XcmsDIColorSpacesInit 1213
+X11 _XcmsDIColorSpaces 1214
+X11 _XcmsDDColorSpacesInit 1215
+X11 _XcmsDDColorSpaces 1216
+X11 _XcmsSCCFuncSetsInit 1217
+X11 _XcmsSCCFuncSets 1218
+X11 _XcmsCIEXYZ_prefix 1219
+X11 _XcmsCIEuvY_prefix 1220
+X11 _XcmsCIExyY_prefix 1221
+X11 _XcmsCIELab_prefix 1222
+X11 _XcmsCIELuv_prefix 1223
+X11 _XcmsTekHVC_prefix 1224
+X11 _XcmsRGBi_prefix 1225
+X11 _XcmsRGB_prefix 1226
+X11 _XcmsRegColorSpaces 1227
+X11 XcmsRGBiColorSpace 1228
+X11 XcmsRGBColorSpace 1229
+X11 XcmsLinearRGBFunctionSet 1230
+X11 _X11TransSocketINETFuncs 1231
+X11 _X11TransSocketTCPFuncs 1232
+X11 _XimXTransSocketINETFuncs 1233
+X11 _XimXTransSocketTCPFuncs 1234
+X11 _XimImSportRec 1235
+X11 _XimTransportRec 1236
+X11 _XlcGenericMethods 1237
+X11 _XlcPublicMethods 1238
+; 4.x exports starting from 1300
+X11 _XFlushIt 1300
+X11 _Xthread_init 1301
+X11 _Xthread_waiter 1302
+X11 XkbGetPerClientControls 1303
+X11 XkbSetPerClientControls 1304
+X11 Xutf8TextPropertyToTextList 1305
+X11 Xutf8TextListToTextProperty 1306
+X11 _XCreateMutex_fn 1307
+X11 _XFreeMutex_fn 1308
+X11 _XLockMutex_fn 1309
+X11 _XUnlockMutex_fn 1310
+X11 _Xglobal_lock 1311
+X11 Xutf8LookupString 1312
+X11 Xutf8DrawString 1313
+X11 Xutf8TextExtents 1314
+LIBRARY Xaw Xaw INITINSTANCE TERMINSTANCE
+Xaw XawAsciiSourceFreeString 1
+Xaw XawAsciiSave 2
+Xaw XawAsciiSaveAsFile 3
+Xaw XawAsciiSourceChanged 4
+Xaw XawDialogAddButton 5
+Xaw XawDialogGetValueString 6
+Xaw XawFormDoLayout 7
+Xaw XawListChange 8
+Xaw XawListUnhighlight 9
+Xaw XawListHighlight 10
+Xaw XawListShowCurrent 11
+Xaw XawPanedSetMinMax 13
+Xaw XawPanedGetMinMax 14
+Xaw XawPanedSetRefigureMode 15
+Xaw XawPanedGetNumSub 16
+Xaw XawScrollbarSetThumb 18
+Xaw XawSimpleMenuAddGlobalActions 19
+Xaw XawSimpleMenuGetActiveEntry 20
+Xaw XawSimpleMenuClearActiveEntry 21
+Xaw XawTextDisplay 22
+Xaw XawTextEnableRedisplay 23
+Xaw XawTextDisableRedisplay 24
+Xaw XawTextSetSelectionArray 25
+Xaw XawTextGetSelectionPos 26
+Xaw XawTextSetSource 27
+Xaw XawTextReplace 28
+Xaw XawTextTopPosition 29
+Xaw XawTextSetInsertionPoint 30
+Xaw XawTextGetInsertionPoint 31
+Xaw XawTextUnsetSelection 32
+Xaw XawTextSetSelection 33
+Xaw XawTextInvalidate 34
+Xaw XawTextGetSource 35
+Xaw XawTextSearch 36
+Xaw XawTextDisplayCaret 37
+Xaw XawTextSinkDisplayText 38
+Xaw XawTextSinkInsertCursor 39
+Xaw XawTextSinkClearToBackground 40
+Xaw XawTextSinkFindPosition 41
+Xaw XawTextSinkFindDistance 42
+Xaw XawTextSinkResolve 43
+Xaw XawTextSinkMaxLines 44
+Xaw XawTextSinkMaxHeight 45
+Xaw XawTextSinkSetTabs 46
+Xaw XawTextSinkGetCursorBounds 47
+Xaw XawTextSourceRead 48
+Xaw XawTextSourceReplace 49
+Xaw XawTextSourceScan 50
+Xaw XawTextSourceSearch 51
+Xaw XawTextSourceConvertSelection 52
+Xaw XawTextSourceSetSelection 53
+Xaw XawToggleChangeRadioGroup 54
+Xaw XawToggleGetCurrent 55
+Xaw XawToggleSetCurrent 56
+Xaw XawToggleUnsetCurrent 57
+Xaw XawTreeForceLayout 58
+Xaw XawViewportSetLocation 59
+Xaw XawViewportSetCoordinates 60
+Xaw _XawMultiSinkPosToXY 61
+Xaw _XawMultiSave 62
+Xaw _XawMultiSaveAsFile 63
+Xaw _XawMultiSourceFreeString 64
+Xaw _XawTextFormat 65
+Xaw _XawTextBuildLineTable 66
+Xaw _XawTextGetSTRING 67
+Xaw _XawTextSaltAwaySelection 68
+Xaw _XawTextPosToXY 69
+Xaw _XawTextWCToMB 70
+Xaw _XawTextMBToWC 71
+Xaw _Xaw_atowc 72
+Xaw _XawImResizeVendorShell 73
+Xaw _XawImGetShellHeight 74
+Xaw _XawImRealize 75
+Xaw _XawImInitialize 76
+Xaw _XawImReconnect 77
+Xaw _XawImRegister 78
+Xaw _XawImUnregister 79
+Xaw _XawImSetValues 80
+Xaw _XawImSetFocusValues 82
+Xaw _XawImUnsetFocus 84
+Xaw _XawImWcLookupString 85
+Xaw _XawImGetImAreaHeight 86
+Xaw _XawImCallVendorShellExtResize 87
+Xaw _XawImDestroy 88
+Xaw _XawTextZapSelection 89
+Xaw _XawTextInsertFileAction 90
+Xaw _XawTextInsertFile 91
+Xaw _XawTextDoSearchAction 92
+Xaw _XawTextPopdownSearchAction 93
+Xaw _XawTextSearch 94
+Xaw _XawTextDoReplaceAction 95
+Xaw _XawTextSetField 96
+Xaw asciiSrcObjectClass 100
+Xaw asciiSrcClassRec 101
+Xaw dialogWidgetClass 102
+Xaw dialogClassRec 103
+Xaw formWidgetClass 104
+Xaw formClassRec 105
+Xaw listWidgetClass 106
+Xaw listClassRec 107
+Xaw multiSinkObjectClass 108
+Xaw multiSinkClassRec 109
+Xaw multiSrcObjectClass 110
+Xaw multiSrcClassRec 111
+Xaw panedWidgetClass 112
+Xaw panedClassRec 113
+Xaw scrollbarWidgetClass 114
+Xaw scrollbarClassRec 115
+Xaw simpleMenuWidgetClass 116
+Xaw simpleMenuClassRec 117
+Xaw FMT8BIT 118
+Xaw XawFmt8Bit 119
+Xaw XawFmtWide 120
+Xaw _XawTextActionsTable 121
+Xaw _XawTextActionsTableCount 122
+Xaw textWidgetClass 123
+Xaw textClassRec 124
+Xaw textSinkObjectClass 125
+Xaw textSinkClassRec 126
+Xaw toggleWidgetClass 127
+Xaw toggleClassRec 128
+Xaw treeWidgetClass 129
+Xaw treeClassRec 130
+Xaw viewportWidgetClass 131
+Xaw viewportClassRec 132
+Xaw menuButtonClassRec 133
+Xaw menuButtonWidgetClass 134
+Xaw smeBSBClassRec 135
+Xaw smeBSBObjectClass 136
+Xaw smeLineClassRec 137
+Xaw smeLineObjectClass 138
+Xaw labelClassRec 139
+Xaw labelWidgetClass 140
+Xaw commandClassRec 141
+Xaw commandWidgetClass 142
+Xaw boxClassRec 143
+Xaw boxWidgetClass 144
+Xaw simpleClassRec 145
+Xaw simpleWidgetClass 146
+Xaw XawInitializeWidgetSet 147
+Xaw asciiTextClassRec 148
+Xaw asciiTextWidgetClass 149
+Xaw portholeClassRec 150
+Xaw portholeWidgetClass 151
+Xaw pannerClassRec 152
+Xaw pannerWidgetClass 153
+Xaw textSrcClassRec 154
+Xaw textSrcObjectClass 155
+Xaw gripWidgetClass 156
+Xaw XawWidgetArray 157
+Xaw XawWidgetCount 158
+Xaw XawPanedAllowResize 159
+Xaw _XawTextNeedsUpdating 160
+Xaw _XawTextGetText 161
+Xaw _XawTextSetScrollBars 162
+Xaw _XawTextVScroll 163
+Xaw _XawTextReplace 164
+Xaw _XawTextClearAndCenterDisplay 165
+Xaw _XawTextCheckResize 166
+Xaw _XawTextSelectionList 167
+Xaw _XawTextSetSelection 168
+Xaw _XawTextAlterSelection 169
+Xaw _XawTextPrepareToUpdate 170
+Xaw _XawTextShowPosition 171
+Xaw _XawTextExecuteUpdate 172
+Xaw XawVendorShellExtResize 173
+Xaw asciiSinkClassRec 174
+Xaw asciiSinkObjectClass 175
+Xaw gripClassRec 176
+Xaw vPanedWidgetClass 177
+Xaw repeaterClassRec 178
+Xaw repeaterWidgetClass 179
+Xaw smeClassRec 180
+Xaw smeObjectClass 181
+Xaw stripChartClassRec 182
+Xaw stripChartWidgetClass 183
+Xaw _XawDefaultTextTranslations1 184
+Xaw _XawDefaultTextTranslations2 185
+Xaw _XawDefaultTextTranslations3 186
+Xaw vendorShellClassRec 187
+Xaw _XawVendorShellClassRec 187
+Xaw vendorShellWidgetClass 188
+Xaw _XawDefaultTextTranslations4 189
+Xaw _XawDefaultTextTranslations 190
+Xaw _XawTextSrcUndo 191
+Xaw tipClassRec 192
+Xaw tipWidgetClass 193
+Xaw XawTipEnable 194
+Xaw XawTipDisable 195
+Xaw XawTextSinkConvertPropertyList 196
+Xaw XawTextGetSink 197
+Xaw XawTextSourceClearEntities 198
+Xaw XawTextSourceFindAnchor 199
+Xaw XawTextSourcePrevAnchor 200
+Xaw XawTextSourceNextAnchor 201
+Xaw XawTextSourceAnchorAndEntity 202
+Xaw XawTextSourceAddEntity 203
+;4.x export starting from 250
+Xaw xawvendorShellExtClassRec 250
+Xaw xawvendorShellExtWidgetClass 251
+Xaw XawTextSinkCopyProperty 252
+Xaw XawTextSinkGetProperty 253
+Xaw XawTextSinkCombineProperty 254
+Xaw XawTextSinkAddProperty 255
+Xaw XawTextLastPosition 256
+LIBRARY Xext Xext
+Xext XMITMiscGetBugMode 1
+Xext XMITMiscQueryExtension 2
+Xext XMITMiscSetBugMode 3
+Xext XMissingExtension 4
+Xext XSetExtensionErrorHandler 5
+Xext XShapeCombineMask 6
+Xext XShapeCombineRectangles 7
+Xext XShapeCombineRegion 8
+Xext XShapeCombineShape 9
+Xext XShapeGetRectangles 10
+Xext XShapeInputSelected 11
+Xext XShapeOffsetShape 12
+Xext XShapeQueryExtension 13
+Xext XShapeQueryExtents 14
+Xext XShapeQueryVersion 15
+Xext XShapeSelectInput 16
+Xext XSyncAwait 17
+Xext XSyncChangeAlarm 18
+Xext XSyncChangeCounter 19
+Xext XSyncCreateAlarm 20
+Xext XSyncCreateCounter 21
+Xext XSyncDestroyAlarm 22
+Xext XSyncDestroyCounter 23
+Xext XSyncFreeSystemCounterList 24
+Xext XSyncGetPriority 25
+Xext XSyncInitialize 26
+Xext XSyncIntToValue 27
+Xext XSyncIntsToValue 28
+Xext XSyncListSystemCounters 29
+Xext XSyncMaxValue 30
+Xext XSyncMinValue 31
+Xext XSyncQueryAlarm 32
+Xext XSyncQueryCounter 33
+Xext XSyncQueryExtension 34
+Xext XSyncSetCounter 35
+Xext XSyncSetPriority 36
+Xext XSyncValueAdd 37
+Xext XSyncValueEqual 38
+Xext XSyncValueGreaterOrEqual 39
+Xext XSyncValueGreaterThan 40
+Xext XSyncValueHigh32 41
+Xext XSyncValueIsNegative 42
+Xext XSyncValueIsPositive 43
+Xext XSyncValueIsZero 44
+Xext XSyncValueLessOrEqual 45
+Xext XSyncValueLessThan 46
+Xext XSyncValueLow32 47
+Xext XSyncValueSubtract 48
+Xext XTestFakeInput 49
+Xext XTestFlush 50
+Xext XTestGetInput 51
+Xext XTestMovePointer 52
+Xext XTestPressButton 53
+Xext XTestPressKey 54
+Xext XTestQueryInputSize 55
+Xext XTestReset 56
+Xext XTestStopInput 57
+Xext XextAddDisplay 58
+Xext XextCreateExtension 59
+Xext XextDestroyExtension 60
+Xext XextFindDisplay 61
+Xext XextRemoveDisplay 62
+Xext XmbufChangeBufferAttributes 63
+Xext XmbufChangeWindowAttributes 64
+Xext XmbufClearBufferArea 65
+Xext XmbufCreateBuffers 66
+Xext XmbufCreateStereoWindow 67
+Xext XmbufDestroyBuffers 68
+Xext XmbufDisplayBuffers 69
+Xext XmbufGetBufferAttributes 70
+Xext XmbufGetScreenInfo 71
+Xext XmbufGetVersion 72
+Xext XmbufGetWindowAttributes 73
+Xext XmbufQueryExtension 74
+Xext XdbeQueryExtension 75
+Xext XdbeAllocateBackBufferName 76
+Xext XdbeDeallocateBackBufferName 77
+Xext XdbeSwapBuffers 78
+Xext XdbeBeginIdiom 79
+Xext XdbeEndIdiom 80
+Xext XdbeGetVisualInfo 81
+Xext XdbeFreeVisualInfo 82
+Xext XdbeGetBackBufferAttributes 83
+Xext XSecurityQueryExtension 84
+Xext XSecurityAllocXauth 85
+Xext XSecurityFreeXauth 86
+Xext XSecurityGenerateAuthorization 87
+Xext XSecurityRevokeAuthorization 88
+Xext XagQueryVersion 89
+Xext XagCreateEmbeddedApplicationGroup 90
+Xext XagCreateNonembeddedApplicationGroup 91
+Xext XagDestroyApplicationGroup 92
+Xext XagGetApplicationGroupAttributes 93
+Xext XagQueryApplicationGroup 94
+Xext XagCreateAssociation 95
+Xext XagDestroyAssociation 96
+Xext XLbxQueryExtension 97
+Xext XLbxGetEventBase 98
+Xext XLbxQueryVersion 99
+Xext XShmQueryExtension 100
+Xext XShmGetEventBase 101
+Xext XShmQueryVersion 102
+Xext XShmPixmapFormat 103
+Xext XShmAttach 104
+Xext XShmDetach 105
+Xext XShmCreateImage 106
+Xext XShmPutImage 107
+Xext XShmGetImage 108
+Xext XShmCreatePixmap 109
+Xext XcupGetReservedColormapEntries 110
+Xext XcupQueryVersion 111
+Xext XcupStoreColors 112
+Xext XPanoramiXQueryVersion 113
+Xext XPanoramiXAllocInfo 114
+Xext XPanoramiXGetScreenCount 115
+Xext XPanoramiXGetScreenSize 116
+Xext XPanoramiXGetState 117
+Xext XPanoramiXQueryExtension 118
+Xext DPMSQueryExtension 119
+Xext DPMSGetVersion 120
+Xext DPMSCapable 121
+Xext DPMSSetTimeouts 122
+Xext DPMSGetTimeouts 123
+Xext DPMSEnable 124
+Xext DPMSDisable 125
+Xext DPMSForceLevel 126
+Xext DPMSInfo 127
+Xext XeviQueryExtension 128
+Xext XeviQueryVersion 129
+Xext XeviGetVisualInfo 130
+LIBRARY Xi Xi
+Xi XAllowDeviceEvents 1
+Xi XChangeDeviceControl 2
+Xi XChangeDeviceDontPropagateList 3
+Xi XChangeDeviceKeyMapping 4
+Xi XChangeFeedbackControl 5
+Xi XChangeKeyboardDevice 6
+Xi XChangePointerDevice 7
+Xi XCloseDevice 8
+Xi XDeviceBell 9
+Xi XFreeDeviceControl 10
+Xi XFreeDeviceList 11
+Xi XFreeDeviceMotionEvents 12
+Xi XFreeDeviceState 13
+Xi XFreeFeedbackList 14
+Xi XGetDeviceButtonMapping 15
+Xi XGetDeviceControl 16
+Xi XGetDeviceDontPropagateList 17
+Xi XGetDeviceFocus 18
+Xi XGetDeviceKeyMapping 19
+Xi XGetDeviceModifierMapping 20
+Xi XGetDeviceMotionEvents 21
+Xi XGetExtensionVersion 22
+Xi XGetFeedbackControl 23
+Xi XGetSelectedExtensionEvents 24
+Xi XGrabDevice 25
+Xi XGrabDeviceButton 26
+Xi XGrabDeviceKey 27
+Xi XListInputDevices 28
+Xi XOpenDevice 29
+Xi XQueryDeviceState 30
+Xi XSelectExtensionEvent 31
+Xi XSendExtensionEvent 32
+Xi XSetDeviceButtonMapping 33
+Xi XSetDeviceFocus 34
+Xi XSetDeviceMode 35
+Xi XSetDeviceModifierMapping 36
+Xi XSetDeviceValuators 37
+Xi XUngrabDevice 38
+Xi XUngrabDeviceButton 39
+Xi XUngrabDeviceKey 40
+Xi _xibadclass 41
+Xi _xibaddevice 42
+Xi _xibadevent 43
+Xi _xibadmode 44
+Xi _xidevicebusy 45
+LIBRARY Xmu Xmu
+Xmu XmuGetAtomName 1
+Xmu XmuInternAtom 2
+Xmu XmuInternStrings 3
+Xmu XmuMakeAtom 4
+Xmu XmuNameOfAtom 5
+Xmu XmuCopyISOLatin1Lowered 6
+Xmu XmuCopyISOLatin1Uppered 7
+Xmu XmuCompareISOLatin1 8
+Xmu XmuAddCloseDisplayHook 9
+Xmu XmuLookupCloseDisplayHook 10
+Xmu XmuRemoveCloseDisplayHook 11
+Xmu XmuCvtFunctionToCallback 12
+Xmu XmuCvtStringToBackingStore 13
+Xmu XmuCvtStringToCursor 14
+Xmu XmuCvtStringToColorCursor 15
+Xmu XmuCvtStringToGravity 16
+Xmu XmuCvtStringToJustify 17
+Xmu XmuCvtStringToLong 18
+Xmu XmuCvtStringToOrientation 19
+Xmu XmuCvtStringToBitmap 20
+Xmu XmuCvtStringToShapeStyle 21
+Xmu XmuReshapeWidget 22
+Xmu XmuCvtStringToWidget 23
+Xmu XmuNewCvtStringToWidget 24
+Xmu XmuCursorNameToIndex 25
+Xmu XmuDQCreate 26
+Xmu XmuDQDestroy 27
+Xmu XmuDQLookupDisplay 28
+Xmu XmuDQAddDisplay 29
+Xmu XmuDQRemoveDisplay 30
+Xmu XmuDrawRoundedRectangle 31
+Xmu XmuFillRoundedRectangle 32
+Xmu XmuDrawLogo 33
+Xmu XmuCreatePixmapFromBitmap 34
+Xmu XmuCreateStippledPixmap 35
+Xmu XmuReleaseStippledPixmap 36
+Xmu XmuLocateBitmapFile 37
+Xmu XmuLocatePixmapFile 38
+Xmu XmuReadBitmapData 39
+Xmu XmuReadBitmapDataFromFile 40
+Xmu XmuPrintDefaultErrorMessage 41
+Xmu XmuSimpleErrorHandler 42
+Xmu XmuRegisterExternalAgent 43
+Xmu XmuCallInitializers 44
+Xmu XmuAddInitializer 45
+Xmu XmuAllStandardColormaps 46
+Xmu XmuCreateColormap 47
+Xmu XmuDeleteStandardColormap 48
+Xmu XmuGetColormapAllocation 49
+Xmu XmuLookupStandardColormap 50
+Xmu XmuStandardColormap 51
+Xmu XmuVisualStandardColormaps 52
+Xmu XmuConvertStandardSelection 53
+Xmu XmuGetHostname 54
+Xmu XmuWnInitializeNodes 55
+Xmu XmuWnFetchResources 56
+Xmu XmuWnCountOwnedResources 57
+Xmu XmuWnNameToNode 58
+Xmu XmuClientWindow 59
+Xmu XmuUpdateMapHints 60
+Xmu XmuScreenOfWindow 61
+Xmu XctCreate 62
+Xmu XctNextItem 63
+Xmu XctFree 64
+Xmu XctReset 65
+Xmu _XmuCCLookupDisplay 66
+Xmu _XEditResCheckMessages 67
+Xmu _XEditResPutString8 68
+Xmu _XEditResPut8 69
+Xmu _XEditResPut16 70
+Xmu _XEditResPut32 71
+Xmu _XEditResPutWidgetInfo 72
+Xmu _XEditResResetStream 74
+Xmu _XEditResGet8 75
+Xmu _XEditResGet16 76
+Xmu _XEditResGetSigned16 77
+Xmu _XEditResGet32 78
+Xmu _XEditResGetString8 79
+Xmu _XEditResGetWidgetInfo 80
+Xmu _XA_ATOM_PAIR 81
+Xmu _XA_CHARACTER_POSITION 82
+Xmu _XA_CLASS 83
+Xmu _XA_CLIENT_WINDOW 84
+Xmu _XA_CLIPBOARD 85
+Xmu _XA_COMPOUND_TEXT 86
+Xmu _XA_DECNET_ADDRESS 87
+Xmu _XA_DELETE 88
+Xmu _XA_FILENAME 89
+Xmu _XA_HOSTNAME 90
+Xmu _XA_IP_ADDRESS 91
+Xmu _XA_LENGTH 92
+Xmu _XA_LIST_LENGTH 93
+Xmu _XA_NAME 94
+Xmu _XA_NET_ADDRESS 95
+Xmu _XA_NULL 96
+Xmu _XA_OWNER_OS 97
+Xmu _XA_SPAN 98
+Xmu _XA_TARGETS 99
+Xmu _XA_TEXT 100
+Xmu _XA_TIMESTAMP 101
+Xmu _XA_USER 102
+Xmu XmuDistinguishableColors 103
+Xmu XmuDistinguishablePixels 104
+Xmu XmuCvtWidgetToString 105
+Xmu XmuCvtGravityToString 106
+Xmu XmuDestroySegmentList 107
+Xmu XmuCvtJustifyToString 108
+Xmu XmuSnprintf 109
+Xmu XmuAreaOrXor 110
+Xmu XmuDestroyScanlineList 111
+Xmu XmuScanlineXor 112
+Xmu XmuNewScanline 113
+Xmu XmuNCopyISOLatin1Lowered 114
+Xmu XmuNCopyISOLatin1Uppered 115
+Xmu XmuCvtShapeStyleToString 116
+Xmu XmuCvtOrientationToString 117
+Xmu XmuCvtBackingStoreToString 118
+Xmu XmuNewArea 119
+Xmu XmuScanlineOrSegment 120
+Xmu XmuOptimizeScanline 121
+; 4.x export starting from 150
+Xmu _XmuStringToBitmapFreeCache 150
+Xmu _XmuStringToBitmapInitCache 151
+Xmu XmuLookupAPL 152
+Xmu XmuLookupArabic 153
+Xmu XmuLookupCyrillic 154
+Xmu XmuLookupGreek 155
+Xmu XmuLookupHebrew 156
+Xmu XmuLookupJISX0201 157
+Xmu XmuLookupKana 158
+Xmu XmuLookupLatin1 159
+Xmu XmuLookupLatin2 160
+Xmu XmuLookupLatin3 161
+Xmu XmuLookupLatin4 162
+Xmu XmuLookupString 163
+Xmu _XA_UTF8_STRING 164
+Xmu XmuScanlineNot 165
+Xmu XmuScanlineAnd 166
+Xmu XmuScanlineOr 167
+LIBRARY Xp Xp
+Xp XpCancelDoc 1
+Xp XpCancelJob 2
+Xp XpCancelPage 3
+Xp XpCreateContext 4
+Xp XpDestroyContext 5
+Xp XpEndDoc 6
+Xp XpEndJob 7
+Xp XpEndPage 8
+Xp XpFreePrinterList 9
+Xp XpGetAttributes 10
+Xp XpGetAuthParams 11
+Xp XpGetContext 12
+Xp XpGetDocumentData 13
+Xp XpGetLocaleHinter 14
+Xp XpGetLocaleNetString 15
+Xp XpGetOneAttribute 16
+Xp XpGetPageDimensions 17
+Xp XpGetPdmStartParams 18
+Xp XpGetPrinterList 19
+Xp XpGetScreenOfContext 20
+Xp XpInputSelected 21
+Xp XpNotifyPdm 22
+Xp XpPutDocumentData 23
+Xp XpQueryExtension 24
+Xp XpQueryScreens 25
+Xp XpQueryVersion 26
+Xp XpRehashPrinterList 27
+Xp XpSelectInput 28
+Xp XpSendAuth 29
+Xp XpSendOneTicket 30
+Xp XpSetAttributes 31
+Xp XpSetContext 32
+Xp XpSetLocaleHinter 33
+Xp XpStartDoc 34
+Xp XpStartJob 35
+Xp XpStartPage 36
+; 4.x exports starting from 40
+Xp XpSetImageResolution 40
+LIBRARY Xpm Xpm
+Xpm XpmCreatePixmapFromData 1
+Xpm XpmCreateDataFromPixmap 2
+Xpm XpmReadFileToPixmap 3
+Xpm XpmWriteFileFromPixmap 4
+Xpm XpmCreateImageFromData 5
+Xpm XpmCreateDataFromImage 6
+Xpm XpmReadFileToImage 7
+Xpm XpmWriteFileFromImage 8
+Xpm XpmCreateImageFromBuffer 9
+Xpm XpmCreatePixmapFromBuffer 10
+Xpm XpmCreateBufferFromImage 11
+Xpm XpmCreateBufferFromPixmap 12
+Xpm XpmReadFileToBuffer 13
+Xpm XpmWriteFileFromBuffer 14
+Xpm XpmReadFileToData 15
+Xpm XpmWriteFileFromData 16
+Xpm XpmAttributesSize 17
+Xpm XpmFreeAttributes 18
+Xpm XpmFreeExtensions 19
+Xpm XpmFreeXpmImage 20
+Xpm XpmFreeXpmInfo 21
+Xpm XpmGetErrorString 22
+Xpm XpmLibraryVersion 23
+Xpm XpmReadFileToXpmImage 24
+Xpm XpmWriteFileFromXpmImage 25
+Xpm XpmCreatePixmapFromXpmImage 26
+Xpm XpmCreateImageFromXpmImage 27
+Xpm XpmCreateXpmImageFromImage 28
+Xpm XpmCreateXpmImageFromPixmap 29
+Xpm XpmCreateDataFromXpmImage 30
+Xpm XpmCreateXpmImageFromData 31
+Xpm XpmCreateXpmImageFromBuffer 32
+Xpm XpmCreateBufferFromXpmImage 33
+; 4.x exports starting from 40
+Xpm XpmFree 40
+LIBRARY Xss Xss
+Xss XScreenSaverQueryExtension 1
+Xss XScreenSaverQueryVersion 2
+Xss XScreenSaverAllocInfo 3
+Xss XScreenSaverQueryInfo 4
+Xss XScreenSaverSelectInput 5
+Xss XScreenSaverSetAttributes 6
+Xss XScreenSaverUnsetAttributes 7
+Xss XScreenSaverRegister 8
+Xss XScreenSaverUnregister 9
+Xss XScreenSaverGetRegistered 10
+LIBRARY Xt Xt INITINSTANCE TERMINSTANCE
+Xt XtAppAddActionHook 1
+Xt XtRemoveActionHook 2
+Xt XtMalloc 3
+Xt XtRealloc 4
+Xt XtCalloc 5
+Xt XtFree 6
+Xt XtMergeArgLists 7
+Xt XtAddCallback 8
+Xt XtAddCallbacks 9
+Xt XtRemoveCallback 10
+Xt XtRemoveCallbacks 11
+Xt XtRemoveAllCallbacks 12
+Xt XtCallCallbacks 13
+Xt XtHasCallbacks 14
+Xt XtCallCallbackList 15
+Xt XtSetMultiClickTime 16
+Xt XtGetMultiClickTime 17
+Xt XtSetTypeConverter 18
+Xt XtAppSetTypeConverter 19
+Xt XtAddConverter 20
+Xt XtAppAddConverter 21
+Xt XtCallConverter 22
+Xt XtConvert 23
+Xt XtConvertAndStore 24
+Xt XtAppReleaseCacheRefs 25
+Xt XtCallbackReleaseCacheRefList 26
+Xt XtCallbackReleaseCacheRef 27
+Xt XtDisplayStringConversionWarning 28
+Xt XtStringConversionWarning 29
+Xt XtCvtIntToBoolean 30
+Xt XtCvtIntToShort 31
+Xt XtCvtStringToBoolean 32
+Xt XtCvtIntToBool 33
+Xt XtCvtStringToBool 34
+Xt XtCvtIntToColor 35
+Xt XtCvtStringToPixel 36
+Xt XtCvtStringToCursor 37
+Xt XtCvtStringToDisplay 38
+Xt XtCvtStringToFile 39
+Xt XtCvtIntToFloat 40
+Xt XtCvtStringToFloat 41
+Xt XtCvtStringToFont 42
+Xt XtCvtIntToFont 43
+Xt XtCvtStringToFontSet 44
+Xt XtCvtStringToFontStruct 45
+Xt XtCvtStringToInt 46
+Xt XtCvtStringToShort 47
+Xt XtCvtStringToDimension 48
+Xt XtCvtIntToUnsignedChar 49
+Xt XtCvtStringToUnsignedChar 50
+Xt XtCvtColorToPixel 51
+Xt XtCvtIntToPixel 52
+Xt XtCvtIntToPixmap 53
+Xt XtCvtStringToInitialState 54
+Xt XtCvtStringToVisual 55
+Xt XtCvtStringToAtom 56
+Xt XtCvtStringToDirectoryString 57
+Xt XtCvtStringToCommandArgArray 58
+Xt XtInitializeWidgetClass 59
+Xt XtCreateWidget 60
+Xt XtCreateManagedWidget 61
+Xt XtCreatePopupShell 62
+Xt XtAppCreateShell 63
+Xt XtCreateApplicationShell 64
+Xt XtDestroyWidget 65
+Xt XtOpenDisplay 66
+Xt XtDisplayInitialize 67
+Xt XtCreateApplicationContext 68
+Xt XtDestroyApplicationContext 69
+Xt XtDatabase 70
+Xt XtDisplayToApplicationContext 71
+Xt XtCloseDisplay 72
+Xt XtWidgetToApplicationContext 73
+Xt XtGetApplicationNameAndClass 74
+Xt XtGetErrorDatabase 75
+Xt XtAppGetErrorDatabase 76
+Xt XtGetErrorDatabaseText 77
+Xt XtAppGetErrorDatabaseText 78
+Xt XtErrorMsg 79
+Xt XtAppErrorMsg 80
+Xt XtWarningMsg 81
+Xt XtAppWarningMsg 82
+Xt XtSetErrorMsgHandler 83
+Xt XtAppSetErrorMsgHandler 84
+Xt XtSetWarningMsgHandler 85
+Xt XtAppSetWarningMsgHandler 86
+Xt XtError 87
+Xt XtAppError 88
+Xt XtWarning 89
+Xt XtAppWarning 90
+Xt XtSetErrorHandler 91
+Xt XtAppSetErrorHandler 92
+Xt XtSetWarningHandler 93
+Xt XtAppSetWarningHandler 94
+Xt XtBuildEventMask 95
+Xt XtRemoveEventHandler 96
+Xt XtAddEventHandler 97
+Xt XtInsertEventHandler 98
+Xt XtRemoveRawEventHandler 99
+Xt XtInsertRawEventHandler 100
+Xt XtAddRawEventHandler 101
+Xt XtWindowToWidget 102
+Xt XtDispatchEvent 103
+Xt XtAddGrab 104
+Xt XtRemoveGrab 105
+Xt XtMainLoop 106
+Xt XtAppMainLoop 107
+Xt XtAddExposureToRegion 108
+Xt XtLastTimestampProcessed 109
+Xt XtIsRectObj 110
+Xt XtIsWidget 111
+Xt XtIsComposite 112
+Xt XtIsConstraint 113
+Xt XtIsShell 114
+Xt XtIsOverrideShell 115
+Xt XtIsWMShell 116
+Xt XtIsVendorShell 117
+Xt XtIsTransientShell 118
+Xt XtIsTopLevelShell 119
+Xt XtIsApplicationShell 120
+Xt XtMapWidget 121
+Xt XtUnmapWidget 122
+Xt XtNewString 123
+Xt XtIsSessionShell 124
+Xt XtAllocateGC 125
+Xt XtGetGC 126
+Xt XtReleaseGC 127
+Xt XtDestroyGC 128
+Xt XtMakeGeometryRequest 129
+Xt XtMakeResizeRequest 130
+Xt XtResizeWindow 131
+Xt XtResizeWidget 132
+Xt XtConfigureWidget 133
+Xt XtMoveWidget 134
+Xt XtTranslateCoords 135
+Xt XtQueryGeometry 136
+Xt XtGetActionKeysym 137
+Xt XtGetResourceList 138
+Xt XtGetConstraintResourceList 139
+Xt XtGetValues 140
+Xt XtGetSubvalues 141
+Xt XtToolkitInitialize 142
+Xt XtSetLanguageProc 143
+Xt XtScreenDatabase 144
+Xt XtAppSetFallbackResources 145
+Xt XtAppInitialize 146
+Xt XtInitialize 147
+Xt XtOpenApplication 148
+Xt XtIsSubclass 149
+Xt XtRealizeWidget 150
+Xt XtUnrealizeWidget 151
+Xt XtCreateWindow 152
+Xt XtNameToWidget 153
+Xt XtDisplayOfObject 154
+Xt XtDisplay 155
+Xt XtScreenOfObject 156
+Xt XtScreen 157
+Xt XtWindowOfObject 158
+Xt XtWindow 159
+Xt XtSuperclass 160
+Xt XtClass 161
+Xt XtIsManaged 162
+Xt XtIsRealized 163
+Xt XtIsSensitive 164
+Xt XtParent 165
+Xt XtName 166
+Xt XtIsObject 167
+Xt XtFindFile 168
+Xt XtResolvePathname 169
+Xt XtCallAcceptFocus 170
+Xt XtSetKeyboardFocus 171
+Xt XtUnmanageChildren 172
+Xt XtUnmanageChild 173
+Xt XtManageChildren 174
+Xt XtManageChild 175
+Xt XtSetMappedWhenManaged 176
+Xt XtAddTimeOut 177
+Xt XtAppAddTimeOut 178
+Xt XtRemoveTimeOut 179
+Xt XtAddWorkProc 180
+Xt XtAppAddWorkProc 181
+Xt XtRemoveWorkProc 182
+Xt XtAddInput 183
+Xt XtAppAddInput 184
+Xt XtRemoveInput 185
+Xt XtNextEvent 186
+Xt XtAppNextEvent 187
+Xt XtProcessEvent 188
+Xt XtAppProcessEvent 189
+Xt XtPending 190
+Xt XtAppPending 191
+Xt XtPeekEvent 192
+Xt XtAppPeekEvent 193
+Xt XtGrabKey 194
+Xt XtGrabButton 195
+Xt XtUngrabKey 196
+Xt XtUngrabButton 197
+Xt XtGrabKeyboard 198
+Xt XtUngrabKeyboard 199
+Xt XtGrabPointer 200
+Xt XtUngrabPointer 201
+Xt XtPopup 202
+Xt XtPopupSpringLoaded 203
+Xt XtPopdown 204
+Xt XtCallbackPopdown 205
+Xt XtCallbackNone 206
+Xt XtCallbackNonexclusive 207
+Xt XtCallbackExclusive 208
+Xt XtGetSubresources 209
+Xt XtGetApplicationResources 210
+Xt XtSetSelectionTimeout 211
+Xt XtAppSetSelectionTimeout 212
+Xt XtGetSelectionTimeout 213
+Xt XtAppGetSelectionTimeout 214
+Xt XtOwnSelection 215
+Xt XtOwnSelectionIncremental 216
+Xt XtDisownSelection 217
+Xt XtGetSelectionValue 218
+Xt XtGetSelectionValueIncremental 219
+Xt XtGetSelectionValues 220
+Xt XtGetSelectionValuesIncremental 221
+Xt XtGetSelectionRequest 222
+Xt XtSetSensitive 223
+Xt XtSetSubvalues 224
+Xt XtSetValues 225
+Xt XtSetWMColormapWindows 226
+Xt XtAddActions 227
+Xt XtAppAddActions 228
+Xt XtGetActionList 229
+Xt XtMenuPopupAction 230
+Xt XtCallActionProc 231
+Xt XtRegisterGrabAction 232
+Xt XtConvertCase 233
+Xt XtTranslateKeycode 234
+Xt XtTranslateKey 235
+Xt XtSetKeyTranslator 236
+Xt XtRegisterCaseConverter 237
+Xt XtGetKeysymTable 238
+Xt XtKeysymToKeycodeList 239
+Xt XtCvtStringToAcceleratorTable 240
+Xt XtCvtStringToTranslationTable 241
+Xt XtParseAcceleratorTable 242
+Xt XtParseTranslationTable 243
+Xt XtUninstallTranslations 244
+Xt XtInstallAccelerators 245
+Xt XtInstallAllAccelerators 246
+Xt XtAugmentTranslations 247
+Xt XtOverrideTranslations 248
+Xt XtVaCreateWidget 249
+Xt XtVaCreateManagedWidget 250
+Xt XtVaAppCreateShell 251
+Xt XtVaCreatePopupShell 252
+Xt XtVaSetValues 253
+Xt XtVaSetSubvalues 254
+Xt XtVaAppInitialize 255
+Xt XtVaOpenApplication 256
+Xt XtVaGetSubresources 257
+Xt XtVaGetApplicationResources 258
+Xt XtVaGetValues 259
+Xt XtVaGetSubvalues 260
+Xt XtVaCreateArgsList 261
+Xt XtCvtStringToRestartStyle 262
+Xt XtCvtStringToGravity 263
+Xt XtAppSetExitFlag 264
+Xt XtAppGetExitFlag 265
+Xt XtGetDisplays 266
+Xt XtRemoveEventTypeHandler 267
+Xt XtInsertEventTypeHandler 268
+Xt XtRegisterDrawable 269
+Xt XtUnregisterDrawable 270
+Xt XtDispatchEventToWidget 271
+Xt XtLastEventProcessed 272
+Xt XtSetEventDispatcher 273
+Xt XtRegisterExtensionSelector 274
+Xt XtAppAddBlockHook 275
+Xt XtRemoveBlockHook 276
+Xt XtHooksOfDisplay 277
+Xt XtGetClassExtension 278
+Xt XtGetKeyboardFocusWidget 279
+Xt XtChangeManagedSet 280
+Xt XtAddSignal 281
+Xt XtAppAddSignal 282
+Xt XtRemoveSignal 283
+Xt XtNoticeSignal 284
+Xt XtReservePropertyAtom 285
+Xt XtReleasePropertyAtom 286
+Xt XtCreateSelectionRequest 287
+Xt XtSendSelectionRequest 288
+Xt XtCancelSelectionRequest 289
+Xt XtSetSelectionParameters 290
+Xt XtGetSelectionParameters 291
+Xt XtSessionGetToken 292
+Xt XtSessionReturnToken 293
+Xt XtAppLock 294
+Xt XtAppUnlock 295
+Xt XtProcessLock 296
+Xt XtProcessUnlock 297
+Xt XtToolkitThreadInitialize 298
+Xt _XtDoFreeBindings 299
+Xt _XtAllocError 300
+Xt _XtHeapInit 301
+Xt _XtHeapAlloc 302
+Xt _XtHeapFree 303
+Xt _XtAddCallback 304
+Xt _XtAddCallbackOnce 305
+Xt _XtRemoveCallback 306
+Xt _XtRemoveAllCallbacks 307
+Xt _XtCompileCallbackList 308
+Xt _XtGetCallbackList 309
+Xt _XtCallConditionalCallbackList 310
+Xt _XtSetDefaultConverterTable 311
+Xt _XtFreeConverterTable 312
+Xt _XtTableAddConverter 313
+Xt _XtCacheFlushTag 314
+Xt _XtConvert 315
+Xt _XtConvertInitialize 316
+Xt _XtAddDefaultConverters 317
+Xt _XtCreateWidget 318
+Xt _XtCreatePopupShell 319
+Xt _XtAppCreateShell 320
+Xt _XtDoPhase2Destroy 321
+Xt _XtGetProcessContext 322
+Xt _XtDefaultAppContext 323
+Xt _XtAppInit 324
+Xt _XtDestroyAppContexts 325
+Xt _XtSortPerDisplayList 326
+Xt _XtCloseDisplays 327
+Xt _XtDefaultErrorMsg 328
+Xt _XtDefaultWarningMsg 329
+Xt _XtDefaultError 330
+Xt _XtDefaultWarning 331
+Xt _XtSetDefaultErrorHandlers 332
+Xt _XtAllocWWTable 333
+Xt _XtFreeWWTable 334
+Xt _XtConvertTypeToMask 335
+Xt _XtOnGrabList 336
+Xt _XtEventInitialize 337
+Xt _XtFreeEventTable 338
+Xt _XtSendFocusEvent 339
+Xt _XtFreePerWidgetInput 340
+Xt _XtGetPerWidgetInput 341
+Xt _XtFillAncestorList 342
+Xt _XtFindRemapWidget 343
+Xt _XtUngrabBadGrabs 344
+Xt _XtGClistFree 345
+Xt _XtMakeGeometryRequest 346
+Xt _XtInherit 347
+Xt _XtPreparseCommandLine 348
+Xt _XtDisplayInitialize 349
+Xt _XtCheckSubclassFlag 350
+Xt _XtIsSubclassOf 351
+Xt _XtWindowedAncestor 352
+Xt _XtProcessKeyboardEvent 353
+Xt _XtHandleFocus 354
+Xt _XtRemoveAllInputs 355
+Xt _XtRefreshMapping 356
+Xt _XtDestroyServerGrabs 357
+Xt _XtCheckServerGrabsOnWidget 358
+Xt _XtProcessPointerEvent 359
+Xt _XtPopup 360
+Xt _XtCopyFromParent 361
+Xt _XtCopyFromArg 362
+Xt _XtCopyToArg 363
+Xt _XtCompileResourceList 364
+Xt _XtDependencies 365
+Xt _XtResourceDependencies 366
+Xt _XtConstraintResDependencies 367
+Xt _XtCreateIndirectionTable 368
+Xt _XtGetResources 369
+Xt _XtResourceListInitialize 370
+Xt _XtSetDefaultSelectionTimeout 371
+Xt _XtShellGetCoordinates 372
+Xt _XtInitializeActionData 373
+Xt _XtBindActions 374
+Xt _XtUnbindActions 375
+Xt _XtFreeActions 376
+Xt _XtRegisterGrabs 377
+Xt _XtGrabInitialize 378
+Xt _XtComputeLateBindings 379
+Xt _XtAllocTMContext 380
+Xt _XtMatchUsingDontCareMods 381
+Xt _XtMatchUsingStandardMods 382
+Xt _XtBuildKeysymTables 383
+Xt _XtTranslateInitialize 384
+Xt _XtAddTMConverters 385
+Xt _XtPrintXlations 386
+Xt _XtDisplayTranslations 387
+Xt _XtDisplayAccelerators 388
+Xt _XtDisplayInstalledAccelerators 389
+Xt _XtPrintActions 390
+Xt _XtPrintState 391
+Xt _XtPrintEventSeq 392
+Xt _XtGetQuarkIndex 393
+Xt _XtGetTypeIndex 394
+Xt _XtGetModifierIndex 395
+Xt _XtRegularMatch 396
+Xt _XtMatchAtom 397
+Xt _XtTranslateEvent 398
+Xt _XtTraverseStateTree 399
+Xt _XtInstallTranslations 400
+Xt _XtRemoveTranslations 401
+Xt _XtDestroyTMData 402
+Xt _XtCreateXlations 403
+Xt _XtParseTreeToStateTree 404
+Xt _XtAddEventSeqToStateTree 405
+Xt _XtCvtMergeTranslations 406
+Xt _XtGetTranslationValue 407
+Xt _XtRemoveStateTreeByIndex 408
+Xt _XtFreeTranslations 409
+Xt _XtMergeTranslations 410
+Xt _XtUnmergeTranslations 411
+Xt _XtPopupInitialize 412
+Xt _XtVaAppInitialize 413
+Xt _XtVaOpenApplication 414
+Xt _XtCountVaList 415
+Xt _XtVaCreateTypedArgList 416
+Xt _XtVaToArgList 417
+Xt _XtVaToTypedArgList 418
+Xt _XtPeekCallback 419
+Xt _XtCreateHookObj 420
+Xt _XtGetPerDisplay 421
+Xt _XtGetPerDisplayInput 422
+Xt _XtExtensionSelect 423
+Xt _XtAddShellToHookObj 424
+Xt _XtIsHookObject 425
+Xt _XtGetUserName 426
+Xt _XtWaitForSomething 427
+Xt XtDirectConvert 433
+Xt colorConvertArgs 435
+Xt screenConvertArg 436
+Xt XtCXtToolkitError 437
+Xt _XtQString 438
+Xt _XtAppDestroyCount 439
+Xt _XtperDisplayList 440
+Xt _XtGlobalTM 444
+Xt XtStrings 445
+Xt overrideShellClassRec 446
+Xt overrideShellWidgetClass 447
+Xt constraintClassRec 448
+Xt constraintWidgetClass 449
+Xt objectClassRec 450
+Xt objectClass 451
+Xt widgetClassRec 452
+Xt widgetClass 453
+Xt rectObjClassRec 454
+Xt rectObjClass 455
+Xt coreWidgetClass 457
+Xt wmShellClassRec 458
+Xt wmShellWidgetClass 459
+Xt XtShellStrings 460
+Xt topLevelShellClassRec 461
+Xt topLevelShellWidgetClass 462
+Xt transientShellClassRec 463
+Xt transientShellWidgetClass 464
+Xt shellClassRec 465
+Xt shellWidgetClass 466
+Xt compositeClassRec 467
+Xt compositeWidgetClass 468
+Xt applicationShellClassRec 469
+Xt applicationShellWidgetClass 470
+Xt _XtInheritTranslations 471
+Xt sessionShellClassRec 472
+Xt sessionShellWidgetClass 473
+Xt vendorShellClassRec 474
+Xt vendorShellWidgetClass 475
+Xt hookObjClassRec 476
+Xt hookObjectClass 477
+LIBRARY Xtst Xtst
+Xtst XTestCompareCurrentCursorWithWindow 1
+Xtst XTestCompareCursorWithWindow 2
+Xtst XTestDiscard 3
+Xtst XTestFakeButtonEvent 4
+Xtst XTestFakeDeviceButtonEvent 5
+Xtst XTestFakeDeviceKeyEvent 6
+Xtst XTestFakeDeviceMotionEvent 7
+Xtst XTestFakeKeyEvent 8
+Xtst XTestFakeMotionEvent 9
+Xtst XTestFakeProximityEvent 10
+Xtst XTestFakeRelativeMotionEvent 11
+Xtst XTestGrabControl 12
+Xtst XTestQueryExtension 13
+Xtst XTestSetGContextOfGC 14
+Xtst XTestSetVisualIDOfVisual 15
+Xtst XRecordIdBaseMask 16
+Xtst XRecordQueryVersion 17
+Xtst XRecordCreateContext 18
+Xtst XRecordAllocRange 19
+Xtst XRecordRegisterClients 20
+Xtst XRecordUnregisterClients 21
+Xtst XRecordGetContext 22
+Xtst XRecordFreeState 23
+Xtst XRecordFreeData 24
+Xtst XRecordEnableContext 25
+Xtst XRecordEnableContextAsync 26
+Xtst XRecordProcessReplies 27
+Xtst XRecordDisableContext 28
+Xtst XRecordFreeContext 29
+LIBRARY Xxf86dga Xxf86dga
+Xxf86dga XF86DGAQueryExtension 1
+Xxf86dga XF86DGAQueryVersion 2
+Xxf86dga XF86DGAGetVideoLL 3
+Xxf86dga XF86DGADirectVideoLL 4
+Xxf86dga XF86DGAGetViewPort 5
+Xxf86dga XF86DGASetViewPort 6
+Xxf86dga XF86DGAGetVidPage 7
+Xxf86dga XF86DGASetVidPage 8
+Xxf86dga XF86DGADirectVideo 9
+Xxf86dga XF86DGAGetVideo 10
+; 4.x exports starting from 20
+Xxf86dga XF86DGAQueryDirectVideo 20
+Xxf86dga XF86DGAInstallColormap 21
+LIBRARY Xxf86misc X86misc
+Xxf86misc XF86MiscQueryExtension 1
+Xxf86misc XF86MiscQueryVersion 2
+Xxf86misc XF86MiscSetSaver 3
+Xxf86misc XF86MiscGetSaver 4
+Xxf86misc XF86MiscSetKbdSettings 5
+Xxf86misc XF86MiscGetKbdSettings 6
+Xxf86misc XF86MiscSetMouseSettings 7
+Xxf86misc XF86MiscGetMouseSettings 8
+Xxf86misc XF86MiscGetFilePaths 9
+LIBRARY Xxf86vm Xxf86vm
+Xxf86vm XF86VidModeQueryExtension 1
+Xxf86vm XF86VidModeQueryVersion 2
+Xxf86vm XF86VidModeGetModeLine 3
+Xxf86vm XF86VidModeModModeLine 4
+Xxf86vm XF86VidModeSwitchMode 5
+Xxf86vm XF86VidModeLockModeSwitch 6
+Xxf86vm XF86VidModeGetMonitor 7
+Xxf86vm XF86VidModeGetAllModeLines 8
+Xxf86vm XF86VidModeGetGamma 9
+Xxf86vm XF86VidModeSetGamma 10
+Xxf86vm XF86VidModeSwitchToMode 11
+Xxf86vm XF86VidModeAddModeLine 12
+LIBRARY dps dps
+dps CSDPSInit 1
+dps CSDPSHeadOfDpyExt 2
+dps DPSCAPChangeGC 3
+dps DPSCAPCreate 4
+dps DPSCAPDestroy 5
+dps DPSCAPOpenAgent 6
+dps DPSCAPStartUp 8
+dps DPSCAPWrite 9
+dps DPSCAPCloseDisplayProc 10
+dps DPSCAPCloseAgent 13
+dps DPSclientsync 14
+dps DPScurrentXgcdrawable 15
+dps DPScurrentXgcdrawablecolor 16
+dps DPScurrentXoffset 17
+dps DPSsetXgcdrawable 18
+dps DPSsetXgcdrawablecolor 19
+dps DPSsetXoffset 20
+dps DPSsetXrgbactual 21
+dps DPSclientXready 22
+dps DPSsetXdrawingfunction 23
+dps DPScurrentXdrawingfunction 24
+dps DPSWarnProc 25
+dps DPSFatalProc 26
+dps DPSCantHappen 27
+dps DPScolorimage 28
+dps DPScurrentblackgeneration 29
+dps DPScurrentcmykcolor 30
+dps DPScurrentcolorscreen 31
+dps DPScurrentcolortransfer 32
+dps DPScurrentundercolorremoval 33
+dps DPSsetblackgeneration 34
+dps DPSsetcmykcolor 35
+dps DPSsetcolorscreen 36
+dps DPSsetcolortransfer 37
+dps DPSsetundercolorremoval 38
+dps DPSeq 39
+dps DPSexit 40
+dps DPSfalse 41
+dps DPSfor 42
+dps DPSforall 43
+dps DPSge 44
+dps DPSgt 45
+dps DPSif 46
+dps DPSifelse 47
+dps DPSle 48
+dps DPSloop 49
+dps DPSlt 50
+dps DPSne 51
+dps DPSnot 52
+dps DPSor 53
+dps DPSrepeat 54
+dps DPSstop 55
+dps DPSstopped 56
+dps DPStrue 57
+dps DPSUserObjects 58
+dps DPScondition 59
+dps DPScurrentcontext 60
+dps DPScurrentobjectformat 61
+dps DPSdefineusername 62
+dps DPSdefineuserobject 63
+dps DPSdetach 64
+dps DPSexecuserobject 65
+dps DPSfork 66
+dps DPSjoin 67
+dps DPSlock 68
+dps DPSmonitor 69
+dps DPSnotify 70
+dps DPSsetobjectformat 71
+dps DPSsetvmthreshold 72
+dps DPSundefineuserobject 73
+dps DPSwait 74
+dps DPSyield 75
+dps DPSaload 76
+dps DPSanchorsearch 77
+dps DPSarray 78
+dps DPSastore 79
+dps DPSbegin 80
+dps DPSclear 81
+dps DPScleartomark 82
+dps DPScopy 83
+dps DPScount 84
+dps DPScounttomark 85
+dps DPScvi 86
+dps DPScvlit 87
+dps DPScvn 88
+dps DPScvr 89
+dps DPScvrs 90
+dps DPScvs 91
+dps DPScvx 92
+dps DPSdef 93
+dps DPSdict 94
+dps DPSdictstack 95
+dps DPSdup 96
+dps DPSend 97
+dps DPSexch 98
+dps DPSexecstack 99
+dps DPSexecuteonly 100
+dps DPSget 101
+dps DPSgetinterval 102
+dps DPSindex 103
+dps DPSknown 104
+dps DPSlength 105
+dps DPSload 106
+dps DPSmark 107
+dps DPSmatrix 108
+dps DPSmaxlength 109
+dps DPSnoaccess 110
+dps DPSnull 111
+dps DPSpackedarray 112
+dps DPSpop 113
+dps DPSput 114
+dps DPSputinterval 115
+dps DPSrcheck 116
+dps DPSreadonly 117
+dps DPSroll 118
+dps DPSscheck 119
+dps DPSsearch 120
+dps DPSshareddict 121
+dps DPSstatusdict 122
+dps DPSstore 123
+dps DPSstring 124
+dps DPSstringwidth 125
+dps DPSsystemdict 126
+dps DPSuserdict 127
+dps DPSwcheck 128
+dps DPSwhere 129
+dps DPSxcheck 130
+dps DPSCreatePSWDict 131
+dps DPSDestroyPSWDict 132
+dps DPSWDictLookup 133
+dps DPSWDictEnter 134
+dps DPSWDictRemove 135
+dps DPSMakeAtom 136
+dps DPSFontDirectory 137
+dps DPSISOLatin1Encoding 138
+dps DPSSharedFontDirectory 139
+dps DPSStandardEncoding 140
+dps DPScachestatus 141
+dps DPScurrentcacheparams 142
+dps DPScurrentfont 143
+dps DPSdefinefont 144
+dps DPSfindfont 145
+dps DPSmakefont 146
+dps DPSscalefont 147
+dps DPSselectfont 148
+dps DPSsetcachedevice 149
+dps DPSsetcachelimit 150
+dps DPSsetcacheparams 151
+dps DPSsetcharwidth 152
+dps DPSsetfont 153
+dps DPSundefinefont 154
+dps DPSconcat 155
+dps DPScurrentdash 156
+dps DPScurrentflat 157
+dps DPScurrentgray 158
+dps DPScurrentgstate 159
+dps DPScurrenthalftone 160
+dps DPScurrenthalftonephase 161
+dps DPScurrenthsbcolor 162
+dps DPScurrentlinecap 163
+dps DPScurrentlinejoin 164
+dps DPScurrentlinewidth 165
+dps DPScurrentmatrix 166
+dps DPScurrentmiterlimit 167
+dps DPScurrentpoint 168
+dps DPScurrentrgbcolor 169
+dps DPScurrentscreen 170
+dps DPScurrentstrokeadjust 171
+dps DPScurrenttransfer 172
+dps DPSdefaultmatrix 173
+dps DPSgrestore 174
+dps DPSgrestoreall 175
+dps DPSgsave 176
+dps DPSgstate 177
+dps DPSinitgraphics 178
+dps DPSinitmatrix 179
+dps DPSrotate 180
+dps DPSscale 181
+dps DPSsetdash 182
+dps DPSsetflat 183
+dps DPSsetgray 184
+dps DPSsetgstate 185
+dps DPSsethalftone 186
+dps DPSsethalftonephase 187
+dps DPSsethsbcolor 188
+dps DPSsetlinecap 189
+dps DPSsetlinejoin 190
+dps DPSsetlinewidth 191
+dps DPSsetmatrix 192
+dps DPSsetmiterlimit 193
+dps DPSsetrgbcolor 194
+dps DPSsetscreen 195
+dps DPSsetstrokeadjust 196
+dps DPSsettransfer 197
+dps DPStranslate 198
+dps DPSclientPrintProc 199
+dps DPSinnerProcWriteData 200
+dps DPSSafeSetLastNameIndex 201
+dps DPSCheckInitClientGlobals 202
+dps DPSPrivateCheckWait 203
+dps DPSPrivateDestroyContext 204
+dps DPSPrivateDestroySpace 205
+dps DPSCheckShared 206
+dps DPSDefaultPrivateHandler 207
+dps DPSCreateContext 208
+dps DPSInitCommonTextContextProcs 209
+dps DPSInitCommonContextProcs 210
+dps DPSInitPrivateContextProcs 211
+dps DPSInitPrivateContextFields 212
+dps DPSInitPrivateTextContextFields 213
+dps DPSInitCommonSpaceProcs 214
+dps DPSInitPrivateSpaceFields 215
+dps DPSequals 216
+dps DPSequalsequals 217
+dps DPSbytesavailable 218
+dps DPSclosefile 219
+dps DPScurrentfile 220
+dps DPSdeletefile 221
+dps DPSecho 222
+dps DPSfile 223
+dps DPSfilenameforall 224
+dps DPSfileposition 225
+dps DPSflush 226
+dps DPSflushfile 227
+dps DPSprint 228
+dps DPSprintobject 229
+dps DPSpstack 230
+dps DPSread 231
+dps DPSreadhexstring 232
+dps DPSreadline 233
+dps DPSreadstring 234
+dps DPSrenamefile 235
+dps DPSresetfile 236
+dps DPSsetfileposition 237
+dps DPSstack 238
+dps DPSstatus 239
+dps DPStoken 240
+dps DPSwrite 241
+dps DPSwritehexstring 242
+dps DPSwriteobject 243
+dps DPSwritestring 244
+dps DPSleftbracket 245
+dps DPSrightbracket 246
+dps DPSleftleft 247
+dps DPSrightright 248
+dps DPScshow 249
+dps DPScurrentcolor 250
+dps DPScurrentcolorrendering 251
+dps DPScurrentcolorspace 252
+dps DPScurrentdevparams 253
+dps DPScurrentglobal 254
+dps DPScurrentoverprint 255
+dps DPScurrentpagedevice 256
+dps DPScurrentsystemparams 257
+dps DPScurrentuserparams 258
+dps DPSdefineresource 259
+dps DPSexecform 260
+dps DPSfilter 261
+dps DPSfindencoding 262
+dps DPSfindresource 263
+dps DPSgcheck 264
+dps DPSglobaldict 265
+dps DPSGlobalFontDirectory 266
+dps DPSglyphshow 267
+dps DPSlanguagelevel 268
+dps DPSmakepattern 269
+dps DPSproduct 270
+dps DPSresourceforall 271
+dps DPSresourcestatus 272
+dps DPSrevision 273
+dps DPSrootfont 274
+dps DPSserialnumber 275
+dps DPSsetcolor 276
+dps DPSsetcolorrendering 277
+dps DPSsetcolorspace 278
+dps DPSsetdevparams 279
+dps DPSsetglobal 280
+dps DPSsetoverprint 281
+dps DPSsetpagedevice 282
+dps DPSsetpattern 283
+dps DPSsetsystemparams 284
+dps DPSsetuserparams 285
+dps DPSstartjob 286
+dps DPSundefineresource 287
+dps DPSabs 288
+dps DPSadd 289
+dps DPSand 290
+dps DPSatan 291
+dps DPSbitshift 292
+dps DPSceiling 293
+dps DPScos 294
+dps DPSdiv 295
+dps DPSexp 296
+dps DPSfloor 297
+dps DPSidiv 298
+dps DPSln 299
+dps DPSlog 300
+dps DPSmod 301
+dps DPSmul 302
+dps DPSneg 303
+dps DPSround 304
+dps DPSsin 305
+dps DPSsqrt 306
+dps DPSsub 307
+dps DPStruncate 308
+dps DPSxor 309
+dps DPSbanddevice 310
+dps DPSframedevice 311
+dps DPSnulldevice 312
+dps DPSrenderbands 313
+dps DPSconcatmatrix 314
+dps DPSdtransform 315
+dps DPSidentmatrix 316
+dps DPSidtransform 317
+dps DPSinvertmatrix 318
+dps DPSitransform 319
+dps DPStransform 320
+dps DPSgetboolean 321
+dps DPSgetchararray 322
+dps DPSgetfloat 323
+dps DPSgetfloatarray 324
+dps DPSgetint 325
+dps DPSgetintarray 326
+dps DPSgetstring 327
+dps DPSsendboolean 328
+dps DPSsendchararray 329
+dps DPSsendfloat 330
+dps DPSsendfloatarray 331
+dps DPSsendint 332
+dps DPSsendintarray 333
+dps DPSsendstring 334
+dps DPSarc 335
+dps DPSarcn 336
+dps DPSarct 337
+dps DPSarcto 338
+dps DPScharpath 339
+dps DPSclip 340
+dps DPSclippath 341
+dps DPSclosepath 342
+dps DPScurveto 343
+dps DPSeoclip 344
+dps DPSeoviewclip 345
+dps DPSflattenpath 346
+dps DPSinitclip 347
+dps DPSinitviewclip 348
+dps DPSlineto 349
+dps DPSmoveto 350
+dps DPSnewpath 351
+dps DPSpathbbox 352
+dps DPSpathforall 353
+dps DPSrcurveto 354
+dps DPSrectclip 355
+dps DPSrectviewclip 356
+dps DPSreversepath 357
+dps DPSrlineto 358
+dps DPSrmoveto 359
+dps DPSsetbbox 360
+dps DPSsetucacheparams 361
+dps DPSuappend 362
+dps DPSucache 363
+dps DPSucachestatus 364
+dps DPSupath 365
+dps DPSviewclip 366
+dps DPSviewclippath 367
+dps DPSashow 368
+dps DPSawidthshow 369
+dps DPScopypage 370
+dps DPSeofill 371
+dps DPSerasepage 372
+dps DPSfill 373
+dps DPSimage 374
+dps DPSimagemask 375
+dps DPSkshow 376
+dps DPSrectfill 377
+dps DPSrectstroke 378
+dps DPSshow 379
+dps DPSshowpage 380
+dps DPSstroke 381
+dps DPSstrokepath 382
+dps DPSueofill 383
+dps DPSufill 384
+dps DPSustroke 385
+dps DPSustrokepath 386
+dps DPSwidthshow 387
+dps DPSxshow 388
+dps DPSxyshow 389
+dps DPSyshow 390
+dps DPSInitClient 391
+dps DPSIncludePrivContext 392
+dps DPSSendPostScript 393
+dps DPSSendInterrupt 394
+dps DPSSendEOF 395
+dps DPSSendTerminate 396
+dps DPSSendDestroySpace 397
+dps DPSCheckRaiseError 399
+dps DPSInitSysNames 400
+dps DPSSetWh 401
+dps DPSOutOfMemory 402
+dps DPSbind 403
+dps DPScleardictstack 404
+dps DPScountdictstack 405
+dps DPScountexecstack 406
+dps DPScurrentdict 407
+dps DPScurrentpacking 408
+dps DPScurrentshared 409
+dps DPSdeviceinfo 410
+dps DPSerrordict 411
+dps DPSexec 412
+dps DPSprompt 413
+dps DPSquit 414
+dps DPSrand 415
+dps DPSrealtime 416
+dps DPSrestore 417
+dps DPSrrand 418
+dps DPSrun 419
+dps DPSsave 420
+dps DPSsetpacking 421
+dps DPSsetshared 422
+dps DPSsrand 423
+dps DPSstart 424
+dps DPStype 425
+dps DPSundef 426
+dps DPSusertime 427
+dps DPSversion 428
+dps DPSvmreclaim 429
+dps DPSvmstatus 430
+dps DPSineofill 431
+dps DPSinfill 432
+dps DPSinstroke 433
+dps DPSinueofill 434
+dps DPSinufill 435
+dps DPSinustroke 436
+dps DPSwtranslation 437
+dps PSclientsync 438
+dps PScurrentXgcdrawable 439
+dps PScurrentXgcdrawablecolor 440
+dps PScurrentXoffset 441
+dps PSsetXgcdrawable 442
+dps PSsetXgcdrawablecolor 443
+dps PSsetXoffset 444
+dps PSsetXrgbactual 445
+dps PSclientXready 446
+dps PSsetXdrawingfunction 447
+dps PScurrentXdrawingfunction 448
+dps PScolorimage 449
+dps PScurrentblackgeneration 450
+dps PScurrentcmykcolor 451
+dps PScurrentcolorscreen 452
+dps PScurrentcolortransfer 453
+dps PScurrentundercolorremoval 454
+dps PSsetblackgeneration 455
+dps PSsetcmykcolor 456
+dps PSsetcolorscreen 457
+dps PSsetcolortransfer 458
+dps PSsetundercolorremoval 459
+dps PSeq 460
+dps PSexit 461
+dps PSfalse 462
+dps PSfor 463
+dps PSforall 464
+dps PSge 465
+dps PSgt 466
+dps PSif 467
+dps PSifelse 468
+dps PSle 469
+dps PSloop 470
+dps PSlt 471
+dps PSne 472
+dps PSnot 473
+dps PSor 474
+dps PSrepeat 475
+dps PSstop 476
+dps PSstopped 477
+dps PStrue 478
+dps PSUserObjects 479
+dps PScondition 480
+dps PScurrentcontext 481
+dps PScurrentobjectformat 482
+dps PSdefineusername 483
+dps PSdefineuserobject 484
+dps PSdetach 485
+dps PSexecuserobject 486
+dps PSfork 487
+dps PSjoin 488
+dps PSlock 489
+dps PSmonitor 490
+dps PSnotify 491
+dps PSsetobjectformat 492
+dps PSsetvmthreshold 493
+dps PSundefineuserobject 494
+dps PSwait 495
+dps PSyield 496
+dps PSaload 497
+dps PSanchorsearch 498
+dps PSarray 499
+dps PSastore 500
+dps PSbegin 501
+dps PSclear 502
+dps PScleartomark 503
+dps PScopy 504
+dps PScount 505
+dps PScounttomark 506
+dps PScvi 507
+dps PScvlit 508
+dps PScvn 509
+dps PScvr 510
+dps PScvrs 511
+dps PScvs 512
+dps PScvx 513
+dps PSdef 514
+dps PSdict 515
+dps PSdictstack 516
+dps PSdup 517
+dps PSend 518
+dps PSexch 519
+dps PSexecstack 520
+dps PSexecuteonly 521
+dps PSget 522
+dps PSgetinterval 523
+dps PSindex 524
+dps PSknown 525
+dps PSlength 526
+dps PSload 527
+dps PSmark 528
+dps PSmatrix 529
+dps PSmaxlength 530
+dps PSnoaccess 531
+dps PSnull 532
+dps PSpackedarray 533
+dps PSpop 534
+dps PSput 535
+dps PSputinterval 536
+dps PSrcheck 537
+dps PSreadonly 538
+dps PSroll 539
+dps PSscheck 540
+dps PSsearch 541
+dps PSshareddict 542
+dps PSstatusdict 543
+dps PSstore 544
+dps PSstring 545
+dps PSstringwidth 546
+dps PSsystemdict 547
+dps PSuserdict 548
+dps PSwcheck 549
+dps PSwhere 550
+dps PSxcheck 551
+dps PSFontDirectory 552
+dps PSISOLatin1Encoding 553
+dps PSSharedFontDirectory 554
+dps PSStandardEncoding 555
+dps PScachestatus 556
+dps PScurrentcacheparams 557
+dps PScurrentfont 558
+dps PSdefinefont 559
+dps PSfindfont 560
+dps PSmakefont 561
+dps PSscalefont 562
+dps PSselectfont 563
+dps PSsetcachedevice 564
+dps PSsetcachelimit 565
+dps PSsetcacheparams 566
+dps PSsetcharwidth 567
+dps PSsetfont 568
+dps PSundefinefont 569
+dps PSconcat 570
+dps PScurrentdash 571
+dps PScurrentflat 572
+dps PScurrentgray 573
+dps PScurrentgstate 574
+dps PScurrenthalftone 575
+dps PScurrenthalftonephase 576
+dps PScurrenthsbcolor 577
+dps PScurrentlinecap 578
+dps PScurrentlinejoin 579
+dps PScurrentlinewidth 580
+dps PScurrentmatrix 581
+dps PScurrentmiterlimit 582
+dps PScurrentpoint 583
+dps PScurrentrgbcolor 584
+dps PScurrentscreen 585
+dps PScurrentstrokeadjust 586
+dps PScurrenttransfer 587
+dps PSdefaultmatrix 588
+dps PSgrestore 589
+dps PSgrestoreall 590
+dps PSgsave 591
+dps PSgstate 592
+dps PSinitgraphics 593
+dps PSinitmatrix 594
+dps PSrotate 595
+dps PSscale 596
+dps PSsetdash 597
+dps PSsetflat 598
+dps PSsetgray 599
+dps PSsetgstate 600
+dps PSsethalftone 601
+dps PSsethalftonephase 602
+dps PSsethsbcolor 603
+dps PSsetlinecap 604
+dps PSsetlinejoin 605
+dps PSsetlinewidth 606
+dps PSsetmatrix 607
+dps PSsetmiterlimit 608
+dps PSsetrgbcolor 609
+dps PSsetscreen 610
+dps PSsetstrokeadjust 611
+dps PSsettransfer 612
+dps PStranslate 613
+dps PSequals 614
+dps PSequalsequals 615
+dps PSbytesavailable 616
+dps PSclosefile 617
+dps PScurrentfile 618
+dps PSdeletefile 619
+dps PSecho 620
+dps PSfile 621
+dps PSfilenameforall 622
+dps PSfileposition 623
+dps PSflush 624
+dps PSflushfile 625
+dps PSprint 626
+dps PSprintobject 627
+dps PSpstack 628
+dps PSread 629
+dps PSreadhexstring 630
+dps PSreadline 631
+dps PSreadstring 632
+dps PSrenamefile 633
+dps PSresetfile 634
+dps PSsetfileposition 635
+dps PSstack 636
+dps PSstatus 637
+dps PStoken 638
+dps PSwrite 639
+dps PSwritehexstring 640
+dps PSwriteobject 641
+dps PSwritestring 642
+dps PSleftbracket 643
+dps PSrightbracket 644
+dps PSleftleft 645
+dps PSrightright 646
+dps PScshow 647
+dps PScurrentcolor 648
+dps PScurrentcolorrendering 649
+dps PScurrentcolorspace 650
+dps PScurrentdevparams 651
+dps PScurrentglobal 652
+dps PScurrentoverprint 653
+dps PScurrentpagedevice 654
+dps PScurrentsystemparams 655
+dps PScurrentuserparams 656
+dps PSdefineresource 657
+dps PSexecform 658
+dps PSfilter 659
+dps PSfindencoding 660
+dps PSfindresource 661
+dps PSgcheck 662
+dps PSglobaldict 663
+dps PSGlobalFontDirectory 664
+dps PSglyphshow 665
+dps PSlanguagelevel 666
+dps PSmakepattern 667
+dps PSproduct 668
+dps PSresourceforall 669
+dps PSresourcestatus 670
+dps PSrevision 671
+dps PSrootfont 672
+dps PSserialnumber 673
+dps PSsetcolor 674
+dps PSsetcolorrendering 675
+dps PSsetcolorspace 676
+dps PSsetdevparams 677
+dps PSsetglobal 678
+dps PSsetoverprint 679
+dps PSsetpagedevice 680
+dps PSsetpattern 681
+dps PSsetsystemparams 682
+dps PSsetuserparams 683
+dps PSstartjob 684
+dps PSundefineresource 685
+dps PSabs 686
+dps PSadd 687
+dps PSand 688
+dps PSatan 689
+dps PSbitshift 690
+dps PSceiling 691
+dps PScos 692
+dps PSdiv 693
+dps PSexp 694
+dps PSfloor 695
+dps PSidiv 696
+dps PSln 697
+dps PSlog 698
+dps PSmod 699
+dps PSmul 700
+dps PSneg 701
+dps PSround 702
+dps PSsin 703
+dps PSsqrt 704
+dps PSsub 705
+dps PStruncate 706
+dps PSxor 707
+dps PSbanddevice 708
+dps PSframedevice 709
+dps PSnulldevice 710
+dps PSrenderbands 711
+dps PSconcatmatrix 712
+dps PSdtransform 713
+dps PSidentmatrix 714
+dps PSidtransform 715
+dps PSinvertmatrix 716
+dps PSitransform 717
+dps PStransform 718
+dps PSgetboolean 719
+dps PSgetchararray 720
+dps PSgetfloat 721
+dps PSgetfloatarray 722
+dps PSgetint 723
+dps PSgetintarray 724
+dps PSgetstring 725
+dps PSsendboolean 726
+dps PSsendchararray 727
+dps PSsendfloat 728
+dps PSsendfloatarray 729
+dps PSsendint 730
+dps PSsendintarray 731
+dps PSsendstring 732
+dps PSarc 733
+dps PSarcn 734
+dps PSarct 735
+dps PSarcto 736
+dps PScharpath 737
+dps PSclip 738
+dps PSclippath 739
+dps PSclosepath 740
+dps PScurveto 741
+dps PSeoclip 742
+dps PSeoviewclip 743
+dps PSflattenpath 744
+dps PSinitclip 745
+dps PSinitviewclip 746
+dps PSlineto 747
+dps PSmoveto 748
+dps PSnewpath 749
+dps PSpathbbox 750
+dps PSpathforall 751
+dps PSrcurveto 752
+dps PSrectclip 753
+dps PSrectviewclip 754
+dps PSreversepath 755
+dps PSrlineto 756
+dps PSrmoveto 757
+dps PSsetbbox 758
+dps PSsetucacheparams 759
+dps PSuappend 760
+dps PSucache 761
+dps PSucachestatus 762
+dps PSupath 763
+dps PSviewclip 764
+dps PSviewclippath 765
+dps PSashow 766
+dps PSawidthshow 767
+dps PScopypage 768
+dps PSeofill 769
+dps PSerasepage 770
+dps PSfill 771
+dps PSimage 772
+dps PSimagemask 773
+dps PSkshow 774
+dps PSrectfill 775
+dps PSrectstroke 776
+dps PSshow 777
+dps PSshowpage 778
+dps PSstroke 779
+dps PSstrokepath 780
+dps PSueofill 781
+dps PSufill 782
+dps PSustroke 783
+dps PSustrokepath 784
+dps PSwidthshow 785
+dps PSxshow 786
+dps PSxyshow 787
+dps PSyshow 788
+dps PSbind 789
+dps PScleardictstack 790
+dps PScountdictstack 791
+dps PScountexecstack 792
+dps PScurrentdict 793
+dps PScurrentpacking 794
+dps PScurrentshared 795
+dps PSdeviceinfo 796
+dps PSerrordict 797
+dps PSexec 798
+dps PSprompt 799
+dps PSquit 800
+dps PSrand 801
+dps PSrealtime 802
+dps PSrestore 803
+dps PSrrand 804
+dps PSrun 805
+dps PSsave 806
+dps PSsetpacking 807
+dps PSsetshared 808
+dps PSsrand 809
+dps PSstart 810
+dps PStype 811
+dps PSundef 812
+dps PSusertime 813
+dps PSversion 814
+dps PSvmreclaim 815
+dps PSvmstatus 816
+dps PSineofill 817
+dps PSinfill 818
+dps PSinstroke 819
+dps PSinueofill 820
+dps PSinufill 821
+dps PSinustroke 822
+dps PSwtranslation 823
+dps XDPSLInit 824
+dps DPSWriteStringChars 825
+dps XDPSUnfreezeContext 826
+dps DPSGetCurrentContext 827
+dps DPSAwaitReturnValues 828
+dps DPSNewUserObjectIndex 829
+dps XDPSGetContextStatus 830
+dps XDPSRegisterStatusProc 831
+dps DPSDefaultTextBackstop 832
+dps DPSMapNames 833
+dps XDPSGetDefaultColorMaps 834
+dps XDPSCreateSimpleContext 835
+dps DPSGenerateExtensionRecID 836
+dps DPSWaitContext 837
+dps DPSAddContextExtensionRec 838
+dps DPSGetContextExtensionRec 839
+dps DPSChainContext 840
+dps DPSDestroySpace 841
+dps DPSUnchainContext 842
+dps DPSBinObjSeqWrite 843
+dps DPSSetResultTable 844
+dps XDPSSetStatusMask 845
+dps XDPSXIDFromContext 846
+dps DPSWritePostScript 847
+dps DPSRemoveContextExtensionRec 848
+dps DPSDefaultErrorProc 849
+dps DPSCreateTextContext 850
+;4.x exports from 900
+dps DPSDestroyContext 900
+dps DPSFlushContext 901
+dps DPSGetContextType 902
+dps DPSGetCurrentErrorBackstop 903
+dps DPSGetCurrentTextBackstop 904
+dps DPSInitialize 905
+dps DPSInterruptContext 906
+dps DPSKnownContext 907
+dps DPSKnownSpace 908
+dps DPSNameFromIndex 909
+dps DPSPrivCurrentContext 910
+dps DPSResetContext 911
+dps DPSSetAbbrevMode 912
+dps DPSSetContext 913
+dps DPSSetErrorBackstop 914
+dps DPSSetNumStringConversion 915
+dps DPSSetTextBackstop 916
+dps DPSSetWrapSynchronization 917
+dps DPSSuppressBinaryConversion 918
+dps DPSUpdateNameMap 919
+dps DPSWriteData 920
+dps DPSWriteNumString 921
+dps DPSWriteTypedObjectArray 922
+dps DPScalloc 923
+dps DPSPrintf 924
+dps DPSRaise 925
+dps DPSFetchAbbrevList 926
+dps DPSGetOperatorAbbrev 927
+dps DPSGetSysnameAbbrev 928
+dps DPSChangeEncoding 929
+dps DPSContextFromContextID 930
+dps DPSHandleBogusError 931
+dps DPSServicePostScript 932
+dps XDPSContextFromSharedID 933
+dps XDPSContextFromXID 934
+dps XDPSCreateContext 935
+dps XDPSCreateSecureContext 936
+dps XDPSDispatchEvent 937
+dps XDPSFindContext 938
+dps XDPSGetProtocolVersion 939
+dps XDPSIsDPSEvent 940
+dps XDPSIsOutputEvent 941
+dps XDPSIsReadyEvent 942
+dps XDPSIsStatusEvent 943
+dps XDPSNotifyWhenReady 944
+dps XDPSReadyEventHandler 945
+dps XDPSRegisterReadyProc 946
+dps XDPSSetEventDelivery 947
+dps XDPSSetProcs 948
+dps XDPSSpaceFromSharedID 949
+dps XDPSSpaceFromXID 950
+dps XDPSStatusEventHandler 951
+dps XDPSXIDFromSpace 952
+dps DPSCreatePrivContext 953
+dps XDPSCreatePrivContextRec 954
+dps XDPSForceEvents 955
+dps XDPSNumFormat 956
+dps XDPSPrivZapDpy 957
+dps XDPSSendUnfreeze 958
+dps XDPSSetContextEncoding 959
+dps XDPSLCAPNotify 960
+dps XDPSLCallOutputEventHandler 961
+dps XDPSLCallReadyEventHandler 962
+dps XDPSLCallStatusEventHandler 963
+dps XDPSLCleanAll 964
+dps XDPSLCleanContext 965
+dps XDPSLContextFromXID 966
+dps XDPSLCreateContext 967
+dps XDPSLCreateContextAndSpace 968
+dps XDPSLCreateContextFromID 969
+dps XDPSLCreateSpace 970
+dps XDPSLDestroySpace 971
+dps XDPSLDispatchCSDPSFakeEvent 972
+dps XDPSLFlush 973
+dps XDPSLFlushGC 974
+dps XDPSLGetCSDPSFakeEventType 975
+dps XDPSLGetCSDPSReady 976
+dps XDPSLGetCSDPSStatus 977
+dps XDPSLGetCodes 978
+dps XDPSLGetGCFlushMode 979
+dps XDPSLGetPassEventsFlag 980
+dps XDPSLGetShunt 981
+dps XDPSLGetStatus 982
+dps XDPSLGetSyncMask 983
+dps XDPSLGetVersion 984
+dps XDPSLGetWrapWaitingFlag 985
+dps XDPSLGiveInput 986
+dps XDPSLIDFromContext 987
+dps XDPSLInitDisplayFlags 988
+dps XDPSLNotifyContext 989
+dps XDPSLNotifyWhenReady 990
+dps XDPSLReconcileRequests 991
+dps XDPSLReset 992
+dps XDPSLSetAfterProc 993
+dps XDPSLSetAgentArg 994
+dps XDPSLSetAgentName 995
+dps XDPSLSetClientMessageHandler 996
+dps XDPSLSetCodes 997
+dps XDPSLSetGCFlushMode 998
+dps XDPSLSetPassEventsFlag 999
+dps XDPSLSetReadyEventHandler 1000
+dps XDPSLSetShunt 1001
+dps XDPSLSetStatusEventHandler 1002
+dps XDPSLSetStatusMask 1003
+dps XDPSLSetSyncMask 1004
+dps XDPSLSetTextEventHandler 1005
+dps XDPSLSetVersion 1006
+dps XDPSLSetWrapWaitingFlag 1007
+dps XDPSLSync 1008
+dps XDPSLSyncGCClip 1009
+dps XDPSLTestErrorCode 1010
+dps XDPSLUpdateAgentArgs 1011
+dps XDPSSetXtEventDispatching 1012
+dps DPSCAPCopyGCProc 1013
+dps DPSCAPFlushGCProc 1014
+dps DPSCAPFreeGCProc 1015
+dps XDPSFlushGC 1016
+dps XDPSNXSetAgentArg 1017
+dps XDPSReconcileRequests 1018
+dps XDPSSyncGCClip 1019
+dps DPSCAPConnect 1020
+dps N_XDisconnectDisplay 1021
+dps N_XWaitForReadable 1022
+dps N_XWaitForWritable 1023
+dps StartXDPSNX 1024
+dps XDPSNXRecommendPort 1025
+dps XDPSGetNXArg 1026
+dps XDPSNXFindNX 1027
+dps XDPSNXSetClientArg 1028
+dps NXProcData 1029
+dps N_XANYSET 1030
+dps N_XFlush 1031
+dps N_XGetHostname 1032
+dps N_XRead 1033
+dps N_XReadPad 1034
+dps N_XReply 1035
+dps N_XSend 1036
+dps N_XUnknownNativeEvent 1037
+dps N_XUnknownWireEvent 1038
+LIBRARY dpstk dpstk
+dpstk XDPSSetFileFunctions 1
+dpstk XDPSFileRewindFunc 2
+dpstk XDPSFileGetsFunc 3
+dpstk XDPSEmbeddedEPSFRewindFunc 4
+dpstk XDPSEmbeddedGetsFunc 5
+dpstk XDPSCreatePixmapForEPSF 6
+dpstk XDPSPixelsPerPoint 7
+dpstk XDPSSetImagingTimeout 8
+dpstk XDPSCheckImagingResults 9
+dpstk XDPSImageFileIntoDrawable 10
+dpstk _DPSPSetMatrix 11
+dpstk _DPSPClearArea 12
+dpstk _DPSPSetMaskTransfer 13
+dpstk _DPSPDefineExecFunction 14
+dpstk _DPSPSaveBeforeExec 15
+dpstk _DPSPCheckForError 16
+dpstk _XDPSSetComponentInitialized 17
+dpstk _XDPSTestComponentInitialized 18
+dpstk XDPSSetContextDepth 19
+dpstk XDPSSetContextDrawable 20
+dpstk XDPSSetContextRGBMap 21
+dpstk XDPSSetContextGrayMap 22
+dpstk XDPSSetContextParameters 23
+dpstk XDPSPushContextParameters 24
+dpstk XDPSPopContextParameters 25
+dpstk XDPSCaptureContextGState 26
+dpstk XDPSUpdateContextGState 27
+dpstk XDPSFreeContextGState 28
+dpstk XDPSSetContextGState 29
+dpstk XDPSPushContextGState 30
+dpstk XDPSPopContextGState 31
+dpstk XDPSRegisterContext 32
+dpstk XDPSGetSharedContext 33
+dpstk XDPSDestroySharedContext 34
+dpstk XDPSUnregisterContext 35
+dpstk XDPSFreeDisplayInfo 36
+dpstk XDPSChainTextContext 37
+dpstk XDPSExtensionPresent 38
+dpstk PSDefineAsUserObj 39
+dpstk PSRedefineUserObj 40
+dpstk PSUndefineUserObj 41
+dpstk DPSDefineAsUserObj 42
+dpstk DPSRedefineUserObj 43
+dpstk DPSUndefineUserObj 44
+dpstk PSReserveUserObjIndices 45
+dpstk DPSReserveUserObjIndices 46
+dpstk PSReturnUserObjIndices 47
+dpstk DPSReturnUserObjIndices 48
+dpstk _DPSSSetContextParameters 49
+dpstk _DPSSSetContextDrawable 50
+dpstk _DPSSInstallDPSlibDict 51
+dpstk _DPSSCaptureGState 52
+dpstk _DPSSUpdateGState 53
+dpstk _DPSSRestoreGState 54
+dpstk _DPSSDefineUserObject 55
+dpstk _DPSSUndefineUserObject 56
+dpstk PSDoUserPath 57
+dpstk DPSDoUserPath 58
+dpstk PSHitUserPath 59
+dpstk DPSHitUserPath 60
+LIBRARY psres psres
+psres CheckPSResourceTime 1
+psres EnumeratePSResourceFiles 2
+psres FreePSResourceStorage 3
+psres InSavedList 4
+psres ListPSResourceFiles 5
+psres ListPSResourceTypes 6
+psres PSResEncoding 7
+psres PSResFileWarningHandler 8
+psres PSResFontAFM 9
+psres PSResFontBDF 10
+psres PSResFontBDFSizes 11
+psres PSResFontFamily 12
+psres PSResFontOutline 13
+psres PSResFontPrebuilt 14
+psres PSResForm 15
+psres PSResFree 16
+psres PSResMalloc 17
+psres PSResPattern 18
+psres PSResProcSet 19
+psres PSResRealloc 20
+psres SetPSResourcePolicy 21
+LIBRARY Xrender Xrender
+Xrender XRenderComposite 1
+Xrender XRenderFillRectangle 2
+Xrender XRenderFillRectangles 3
+Xrender XRenderAddGlyphs 4
+Xrender XRenderCompositeString16 5
+Xrender XRenderCompositeString32 6
+Xrender XRenderCompositeString8 7
+Xrender XRenderCreateGlyphSet 8
+Xrender XRenderFreeGlyphSet 9
+Xrender XRenderFreeGlyphs 10
+Xrender XRenderReferenceGlyphSet 11
+Xrender XRenderChangePicture 12
+Xrender XRenderCreatePicture 13
+Xrender XRenderFreePicture 14
+Xrender XRenderFindDisplay 15
+Xrender XRenderFindFormat 16
+Xrender XRenderFindVisualFormat 17
+Xrender XRenderQueryExtension 18
+Xrender XRenderQueryFormats 19
+Xrender XRenderQueryVersion 20
+Xrender XRenderSetPictureClipRegion 21
+Xrender XRenderCompositeText8 22
+Xrender XRenderCompositeText16 23
+Xrender XRenderCompositeText32 24
+Xrender XRenderCompositeTrapezoids 25
+Xrender XRenderParseColor 26
+Xrender XRenderCompositeDoublePoly 27
+Xrender XRenderFindStandardFormat 28
+Xrender XRenderCreateCursor 29
+Xrender XRenderSetPictureClipRectangles 30
+Xrender XRenderQueryFilters 31
+Xrender XRenderSetPictureFilter 32
+Xrender XRenderSetPictureTransform 33
+Xrender XRenderCompositeTriFan 34
+Xrender XRenderCompositeTriStrip 35
+Xrender XRenderCompositeTriangles 36
+Xrender XRenderQuerySubpixelOrder 37
+Xrender XRenderSetSubpixelOrder 38
+Xrender XRenderCreateAnimCursor 39
+LIBRARY GL GL
+GL glClearIndex 1
+GL glClearColor 2
+GL glClear 3
+GL glIndexMask 4
+GL glColorMask 5
+GL glAlphaFunc 6
+GL glBlendFunc 7
+GL glLogicOp 8
+GL glCullFace 9
+GL glFrontFace 10
+GL glPointSize 11
+GL glLineWidth 12
+GL glLineStipple 13
+GL glPolygonMode 14
+GL glPolygonStipple 15
+GL glGetPolygonStipple 16
+GL glEdgeFlag 17
+GL glEdgeFlagv 18
+GL glScissor 19
+GL glClipPlane 20
+GL glGetClipPlane 21
+GL glDrawBuffer 22
+GL glReadBuffer 23
+GL glEnable 24
+GL glDisable 25
+GL glIsEnabled 26
+GL glGetBooleanv 27
+GL glGetDoublev 28
+GL glGetFloatv 29
+GL glGetIntegerv 30
+GL glPushAttrib 31
+GL glPopAttrib 32
+GL glRenderMode 33
+GL glGetError 34
+GL glGetString 35
+GL glFinish 36
+GL glFlush 37
+GL glHint 38
+GL glClearDepth 39
+GL glDepthFunc 40
+GL glDepthMask 41
+GL glDepthRange 42
+GL glClearAccum 43
+GL glAccum 44
+GL glMatrixMode 45
+GL glOrtho 46
+GL glFrustum 47
+GL glViewport 48
+GL glPushMatrix 49
+GL glPopMatrix 50
+GL glLoadIdentity 51
+GL glLoadMatrixd 52
+GL glLoadMatrixf 53
+GL glMultMatrixd 54
+GL glMultMatrixf 55
+GL glRotated 56
+GL glRotatef 57
+GL glScaled 58
+GL glScalef 59
+GL glTranslated 60
+GL glTranslatef 61
+GL glIsList 62
+GL glDeleteLists 63
+GL glGenLists 64
+GL glNewList 65
+GL glEndList 66
+GL glCallList 67
+GL glCallLists 68
+GL glListBase 69
+GL glBegin 70
+GL glEnd 71
+GL glVertex2d 72
+GL glVertex2f 73
+GL glVertex2i 74
+GL glVertex2s 75
+GL glVertex3d 76
+GL glVertex3f 77
+GL glVertex3i 78
+GL glVertex3s 79
+GL glVertex4d 80
+GL glVertex4f 81
+GL glVertex4i 82
+GL glVertex4s 83
+GL glVertex2dv 84
+GL glVertex2fv 85
+GL glVertex2iv 86
+GL glVertex2sv 87
+GL glVertex3dv 88
+GL glVertex3fv 89
+GL glVertex3iv 90
+GL glVertex3sv 91
+GL glVertex4dv 92
+GL glVertex4fv 93
+GL glVertex4iv 94
+GL glVertex4sv 95
+GL glNormal3b 96
+GL glNormal3d 97
+GL glNormal3f 98
+GL glNormal3i 99
+GL glNormal3s 100
+GL glNormal3bv 101
+GL glNormal3dv 102
+GL glNormal3fv 103
+GL glNormal3iv 104
+GL glNormal3sv 105
+GL glIndexd 106
+GL glIndexf 107
+GL glIndexi 108
+GL glIndexs 109
+GL glIndexdv 110
+GL glIndexfv 111
+GL glIndexiv 112
+GL glIndexsv 113
+GL glColor3b 114
+GL glColor3d 115
+GL glColor3f 116
+GL glColor3i 117
+GL glColor3s 118
+GL glColor3ub 119
+GL glColor3ui 120
+GL glColor3us 121
+GL glColor4b 122
+GL glColor4d 123
+GL glColor4f 124
+GL glColor4i 125
+GL glColor4s 126
+GL glColor4ub 127
+GL glColor4ui 128
+GL glColor4us 129
+GL glColor3bv 130
+GL glColor3dv 131
+GL glColor3fv 132
+GL glColor3iv 133
+GL glColor3sv 134
+GL glColor3ubv 135
+GL glColor3uiv 136
+GL glColor3usv 137
+GL glColor4bv 138
+GL glColor4dv 139
+GL glColor4fv 140
+GL glColor4iv 141
+GL glColor4sv 142
+GL glColor4ubv 143
+GL glColor4uiv 144
+GL glColor4usv 145
+GL glTexCoord1d 146
+GL glTexCoord1f 147
+GL glTexCoord1i 148
+GL glTexCoord1s 149
+GL glTexCoord2d 150
+GL glTexCoord2f 151
+GL glTexCoord2i 152
+GL glTexCoord2s 153
+GL glTexCoord3d 154
+GL glTexCoord3f 155
+GL glTexCoord3i 156
+GL glTexCoord3s 157
+GL glTexCoord4d 158
+GL glTexCoord4f 159
+GL glTexCoord4i 160
+GL glTexCoord4s 161
+GL glTexCoord1dv 162
+GL glTexCoord1fv 163
+GL glTexCoord1iv 164
+GL glTexCoord1sv 165
+GL glTexCoord2dv 166
+GL glTexCoord2fv 167
+GL glTexCoord2iv 168
+GL glTexCoord2sv 169
+GL glTexCoord3dv 170
+GL glTexCoord3fv 171
+GL glTexCoord3iv 172
+GL glTexCoord3sv 173
+GL glTexCoord4dv 174
+GL glTexCoord4fv 175
+GL glTexCoord4iv 176
+GL glTexCoord4sv 177
+GL glRasterPos2d 178
+GL glRasterPos2f 179
+GL glRasterPos2i 180
+GL glRasterPos2s 181
+GL glRasterPos3d 182
+GL glRasterPos3f 183
+GL glRasterPos3i 184
+GL glRasterPos3s 185
+GL glRasterPos4d 186
+GL glRasterPos4f 187
+GL glRasterPos4i 188
+GL glRasterPos4s 189
+GL glRasterPos2dv 190
+GL glRasterPos2fv 191
+GL glRasterPos2iv 192
+GL glRasterPos2sv 193
+GL glRasterPos3dv 194
+GL glRasterPos3fv 195
+GL glRasterPos3iv 196
+GL glRasterPos3sv 197
+GL glRasterPos4dv 198
+GL glRasterPos4fv 199
+GL glRasterPos4iv 200
+GL glRasterPos4sv 201
+GL glRectd 202
+GL glRectf 203
+GL glRecti 204
+GL glRects 205
+GL glRectdv 206
+GL glRectfv 207
+GL glRectiv 208
+GL glRectsv 209
+GL glShadeModel 210
+GL glLightf 211
+GL glLighti 212
+GL glLightfv 213
+GL glLightiv 214
+GL glGetLightfv 215
+GL glGetLightiv 216
+GL glLightModelf 217
+GL glLightModeli 218
+GL glLightModelfv 219
+GL glLightModeliv 220
+GL glMaterialf 221
+GL glMateriali 222
+GL glMaterialfv 223
+GL glMaterialiv 224
+GL glGetMaterialfv 225
+GL glGetMaterialiv 226
+GL glColorMaterial 227
+GL glPixelZoom 228
+GL glPixelStoref 229
+GL glPixelStorei 230
+GL glPixelTransferf 231
+GL glPixelTransferi 232
+GL glPixelMapfv 233
+GL glPixelMapuiv 234
+GL glPixelMapusv 235
+GL glGetPixelMapfv 236
+GL glGetPixelMapuiv 237
+GL glGetPixelMapusv 238
+GL glBitmap 239
+GL glReadPixels 240
+GL glDrawPixels 241
+GL glCopyPixels 242
+GL glStencilFunc 243
+GL glStencilMask 244
+GL glStencilOp 245
+GL glClearStencil 246
+GL glTexGend 247
+GL glTexGenf 248
+GL glTexGeni 249
+GL glTexGendv 250
+GL glTexGenfv 251
+GL glTexGeniv 252
+GL glGetTexGendv 253
+GL glGetTexGenfv 254
+GL glGetTexGeniv 255
+GL glTexEnvf 256
+GL glTexEnvi 257
+GL glTexEnvfv 258
+GL glTexEnviv 259
+GL glGetTexEnvfv 260
+GL glGetTexEnviv 261
+GL glTexParameterf 262
+GL glTexParameteri 263
+GL glTexParameterfv 264
+GL glTexParameteriv 265
+GL glGetTexParameterfv 266
+GL glGetTexParameteriv 267
+GL glGetTexLevelParameterfv 268
+GL glGetTexLevelParameteriv 269
+GL glTexImage1D 270
+GL glTexImage2D 271
+GL glGetTexImage 272
+GL glMap1d 273
+GL glMap1f 274
+GL glMap2d 275
+GL glMap2f 276
+GL glGetMapdv 277
+GL glGetMapfv 278
+GL glGetMapiv 279
+GL glEvalCoord1d 280
+GL glEvalCoord1f 281
+GL glEvalCoord1dv 282
+GL glEvalCoord1fv 283
+GL glEvalCoord2d 284
+GL glEvalCoord2f 285
+GL glEvalCoord2dv 286
+GL glEvalCoord2fv 287
+GL glMapGrid1d 288
+GL glMapGrid1f 289
+GL glMapGrid2d 290
+GL glMapGrid2f 291
+GL glEvalPoint1 292
+GL glEvalPoint2 293
+GL glEvalMesh1 294
+GL glEvalMesh2 295
+GL glFogf 296
+GL glFogi 297
+GL glFogfv 298
+GL glFogiv 299
+GL glFeedbackBuffer 300
+GL glPassThrough 301
+GL glSelectBuffer 302
+GL glInitNames 303
+GL glLoadName 304
+GL glPushName 305
+GL glPopName 306
+; glBlendEquationEXT 307
+; glBlendColorEXT 308
+GL glPolygonOffset 309
+GL glVertexPointerEXT 310
+GL glNormalPointerEXT 311
+; glColorPointerEXT 312
+; glIndexPointerEXT 313
+; glTexCoordPointerEXT 314
+; glEdgeFlagPointerEXT 315
+; glGetPointervEXT 316
+; glArrayElementEXT 317
+GL glDrawArraysEXT 318
+; OSMesaCreateContext 319
+; OSMesaDestroyContext 320
+; OSMesaMakeCurrent 321
+GL XMesaCreateContext 322
+; XMesaDestroyContext 323
+GL XMesaMakeCurrent 326
+; XMesaGetCurrentContext 327
+; XMesaSwapBuffers 328
+; XMesaGetBackBuffer 329
+GL glXChooseVisual 330
+GL glXCreateContext 331
+GL glXDestroyContext 332
+GL glXMakeCurrent 333
+GL glXCopyContext 334
+GL glXSwapBuffers 335
+GL glXCreateGLXPixmap 336
+GL glXDestroyGLXPixmap 337
+GL glXQueryExtension 338
+GL glXQueryVersion 339
+GL glXIsDirect 340
+GL glXGetConfig 341
+GL glXGetCurrentContext 342
+GL glXGetCurrentDrawable 343
+GL glXWaitGL 344
+GL glXWaitX 345
+GL glXUseXFont 346
+GL glXQueryExtensionsString 347
+GL glXQueryServerString 348
+GL glXGetClientString 349
+GL glPushClientAttrib 350
+GL glPopClientAttrib 351
+GL glIndexub 352
+GL glIndexubv 353
+GL glVertexPointer 354
+GL glNormalPointer 355
+GL glColorPointer 356
+GL glIndexPointer 357
+GL glTexCoordPointer 358
+GL glEdgeFlagPointer 359
+GL glGetPointerv 360
+GL glArrayElement 361
+GL glDrawArrays 362
+GL glDrawElements 363
+GL glInterleavedArrays 364
+GL glGenTextures 365
+GL glDeleteTextures 366
+GL glBindTexture 367
+GL glPrioritizeTextures 368
+GL glAreTexturesResident 369
+GL glIsTexture 370
+GL glTexSubImage1D 371
+GL glTexSubImage2D 372
+GL glCopyTexImage1D 373
+GL glCopyTexImage2D 374
+GL glCopyTexSubImage1D 375
+GL glCopyTexSubImage2D 376
+; glWindowPos2iMESA 377
+; glWindowPos2sMESA 378
+GL glWindowPos2fMESA 379
+; glWindowPos2dMESA 380
+; glWindowPos2ivMESA 381
+; glWindowPos2svMESA 382
+; glWindowPos2fvMESA 383
+; glWindowPos2dvMESA 384
+; glWindowPos3iMESA 385
+; glWindowPos3sMESA 386
+; glWindowPos3fMESA 387
+; glWindowPos3dMESA 388
+; glWindowPos3ivMESA 389
+; glWindowPos3svMESA 390
+; glWindowPos3fvMESA 391
+; glWindowPos3dvMESA 392
+; glWindowPos4iMESA 393
+; glWindowPos4sMESA 394
+; glWindowPos4fMESA 395
+; glWindowPos4dMESA 396
+; glWindowPos4ivMESA 397
+; glWindowPos4svMESA 398
+; glWindowPos4fvMESA 399
+; glWindowPos4dvMESA 400
+GL glXCreateGLXPixmapMESA 401
+; glXReleaseBuffersMESA 402
+; OSMesaGetCurrentContext 403
+; OSMesaPixelStore 404
+; OSMesaGetIntegerv 405
+GL XMesaCreateVisual 406
+; XMesaDestroyVisual 407
+GL XMesaCreateWindowBuffer 408
+; XMesaCreatePixmapBuffer 409
+; XMesaDestroyBuffer 410
+; XMesaGetCurrentBuffer 411
+; XMesaFlush 412
+; XMesaGetString 413
+; glPolygonOffsetEXT 414
+GL glDisableClientState 450
+GL glEnableClientState 451
+GL glXFreeContextEXT 452
+GL glXGetContextIDEXT 453
+GL glXGetCurrentDisplay 454
+GL glXImportContextEXT 455
+GL glXQueryContextInfoEXT 456
+GL glXGetCurrentDrawableEXT 457
+GL glCopyTexSubImage3D 458
+GL glDrawRangeElements 459
+GL glTexSubImage3D 460
+GL glBlendColorEXT 461
+GL glBlendEquationEXT 462
+GL glTexImage3D 463
+GL _glapi_Context 500
+GL _glapi_Dispatch 501
+GL glMultiTexCoord1svARB 502
+GL glMultiTexCoord1ivARB 503
+GL glMultiTexCoord1fvARB 504
+GL glMultiTexCoord1dvARB 505
+GL glMultiTexCoord2svARB 506
+GL glMultiTexCoord2ivARB 507
+GL glMultiTexCoord2fvARB 508
+GL glMultiTexCoord2dvARB 509
+GL glMultiTexCoord3svARB 510
+GL glMultiTexCoord3ivARB 511
+GL glMultiTexCoord3fvARB 512
+GL glMultiTexCoord3dvARB 513
+GL glMultiTexCoord4svARB 514
+GL glMultiTexCoord4ivARB 515
+GL glMultiTexCoord4fvARB 516
+GL glMultiTexCoord4dvARB 517
+GL glMultiTexCoord1fARB 518
+GL glMultiTexCoord2fARB 519
+GL glMultiTexCoord3fARB 520
+GL glMultiTexCoord4fARB 521
+GL _glapi_set_dispatch 522
+GL _glapi_noop_enable_warnings 523
+GL _glapi_add_entrypoint 524
+GL _glapi_get_dispatch_table_size 525
+GL _glapi_check_multithread 526
+GL _glapi_set_context 527
+GL _glapi_get_context 528
+GL glColorTable 529
+GL glColorSubTable 530
+GL glConvolutionFilter1D 531
+GL glConvolutionFilter2D 532
+GL glXGetProcAddressARB 533
+GL glLockArraysEXT 534
+GL glUnlockArraysEXT 535
+GL glActiveTextureARB 536
+GL glColorTableEXT 537
+GL glPointParameterfEXT 538
+GL glPointParameterfvEXT 539
+GL glXMakeContextCurrent 540
+GL _glapi_get_proc_address 541
+GL _glapi_set_warning_func 542
+LIBRARY ICE ICE
+ICE IceAcceptConnection 1
+ICE IceAddConnectionWatch 2
+ICE IceAllocScratch 3
+ICE IceAppLockConn 4
+ICE IceAppUnlockConn 5
+ICE IceAuthFileName 6
+ICE IceCheckShutdownNegotiation 7
+ICE IceCloseConnection 8
+ICE IceComposeNetworkIdList 9
+ICE IceConnectionNumber 10
+ICE IceConnectionStatus 11
+ICE IceConnectionString 12
+ICE IceFlush 13
+ICE IceFreeAuthFileEntry 14
+ICE IceFreeListenObjs 15
+ICE IceGenerateMagicCookie 16
+ICE IceGetAuthFileEntry 17
+ICE IceGetConnectionContext 18
+ICE IceGetInBufSize 19
+ICE IceGetListenConnectionNumber 20
+ICE IceGetListenConnectionString 21
+ICE IceGetOutBufSize 22
+ICE IceInitThreads 23
+ICE IceLastReceivedSequenceNumber 24
+ICE IceLastSentSequenceNumber 25
+ICE IceListenForConnections 26
+ICE IceLockAuthFile 27
+ICE IceOpenConnection 28
+ICE IcePing 29
+ICE IceProcessMessages 30
+ICE IceProtocolRevision 31
+ICE IceProtocolSetup 32
+ICE IceProtocolShutdown 33
+ICE IceProtocolVersion 34
+ICE IceReadAuthFileEntry 35
+ICE IceRegisterForProtocolReply 36
+ICE IceRegisterForProtocolSetup 37
+ICE IceRelease 38
+ICE IceRemoveConnectionWatch 39
+ICE IceSetErrorHandler 40
+ICE IceSetHostBasedAuthProc 41
+ICE IceSetIOErrorHandler 42
+ICE IceSetPaAuthData 43
+ICE IceSetShutdownNegotiation 44
+ICE IceSwapping 45
+ICE IceUnlockAuthFile 46
+ICE IceVendor 47
+ICE IceWriteAuthFileEntry 48
+ICE _IceTransGetPeerAddr 49
+ICE _IceTransGetPeerNetworkId 50
+ICE _IceErrorBadMinor 51
+ICE _IceErrorBadLength 52
+ICE _IceErrorBadState 53
+ICE _IceErrorBadValue 54
+ICE _IcePaMagicCookie1Proc 55
+ICE _IcePoMagicCookie1Proc 56
+ICE _IceRead 57
+ICE _IceReadSkip 58
+ICE _IceWrite 59
+ICE _IceErrorNoAuthentication 60
+ICE _IceErrorNoVersion 61
+ICE _IceErrorAuthenticationRejected 62
+ICE _IceErrorAuthenticationFailed 63
+ICE _IceErrorProtocolDuplicate 64
+ICE _IceErrorMajorOpcodeDuplicate 65
+ICE _IceErrorUnknownProtocol 66
+ICE _IceErrorBadMajor 67
+ICE _IceDefaultErrorHandler 68
+ICE _IceDefaultIOErrorHandler 69
+ICE _IceGetPoValidAuthIndices 70
+ICE _IceGetPaValidAuthIndices 71
+ICE _IceAddOpcodeMapping 72
+ICE _IceGetPeerName 73
+ICE _IceProcessCoreMessage 74
+ICE _IceAddReplyWait 75
+ICE _IceSearchReplyWaits 76
+ICE _IceCheckReplyReady 77
+ICE _IceFreeConnection 78
+ICE _IceConnectionOpened 79
+ICE _IceConnectionClosed 80
+ICE _IceErrorSetupFailed 81
+ICE _IceGetPoAuthData 82
+ICE _IceGetPaAuthData 83
+ICE _IceTransOpenCOTSClient 84
+ICE _IceTransOpenCOTSServer 85
+ICE _IceTransOpenCLTSClient 86
+ICE _IceTransOpenCLTSServer 87
+ICE _IceTransSetOption 88
+ICE _IceTransCreateListener 89
+ICE _IceTransResetListener 90
+ICE _IceTransAccept 91
+ICE _IceTransConnect 92
+ICE _IceTransBytesReadable 93
+ICE _IceTransRead 94
+ICE _IceTransWrite 95
+ICE _IceTransReadv 96
+ICE _IceTransWritev 97
+ICE _IceTransDisconnect 98
+ICE _IceTransClose 99
+ICE _IceTransCloseForCloning 100
+ICE _IceTransIsLocal 101
+ICE _IceTransGetMyAddr 102
+ICE _IceTransGetConnectionNumber 103
+ICE _IceTransMakeAllCOTSServerListeners 104
+ICE _IceTransMakeAllCLTSServerListeners 105
+ICE _IceTransGetHostname 106
+ICE _IceTransGetMyNetworkId 107
+ICE _IceConnectionCount 108
+ICE _IceLastMajorOpcode 109
+ICE _IceAuthCount 110
+ICE _IceAuthNames 111
+ICE _IcePoAuthProcs 112
+ICE _IcePaAuthProcs 113
+ICE _IcePaAuthDataEntryCount 114
+ICE _IceVersionCount 115
+ICE _IceVersions 116
+ICE _IceWatchProcs 117
+ICE _IceErrorHandler 118
+ICE _IceIOErrorHandler 119
+ICE _IceConnectionObjs 120
+ICE _IceConnectionStrings 121
+ICE _IceProtocols 122
+ICE _IcePaAuthDataEntries 123
+ICE _IceTransSocketINETFuncs 124
+ICE _IceTransSocketTCPFuncs 125
+ICE IceListenForWellKnownConnections 126
+LIBRARY SM SM
+SM SmFreeProperty 1
+SM SmFreeReasons 2
+SM SmcClientID 3
+SM SmcCloseConnection 4
+SM SmcDeleteProperties 5
+SM SmcGetIceConnection 6
+SM SmcGetProperties 7
+SM SmcInteractDone 8
+SM SmcInteractRequest 9
+SM SmcModifyCallbacks 10
+SM SmcOpenConnection 11
+SM SmcProtocolRevision 12
+SM SmcProtocolVersion 13
+SM SmcRelease 14
+SM SmcRequestSaveYourself 15
+SM SmcRequestSaveYourselfPhase2 16
+SM SmcSaveYourselfDone 17
+SM SmcSetErrorHandler 18
+SM SmcSetProperties 19
+SM SmcVendor 20
+SM SmsCleanUp 21
+SM SmsClientHostName 22
+SM SmsClientID 23
+SM SmsDie 24
+SM SmsGenerateClientID 25
+SM SmsGetIceConnection 26
+SM SmsInitialize 27
+SM SmsInteract 28
+SM SmsProtocolRevision 29
+SM SmsProtocolVersion 30
+SM SmsRegisterClientReply 31
+SM SmsReturnProperties 32
+SM SmsSaveComplete 33
+SM SmsSaveYourself 34
+SM SmsSaveYourselfPhase2 35
+SM SmsSetErrorHandler 36
+SM SmsShutdownCancelled 37
+SM _SmcProcessMessage 38
+SM _SmsProcessMessage 39
+SM _SmcDefaultErrorHandler 40
+SM _SmsDefaultErrorHandler 41
+SM _SmsProtocolSetupProc 42
+SM _SmcOpcode 43
+SM _SmsOpcode 44
+SM _SmVersionCount 45
+SM _SmcVersions 46
+SM _SmsVersions 47
+SM _SmAuthCount 48
+SM _SmAuthNames 49
+SM _SmcAuthProcs 50
+SM _SmsAuthProcs 51
+SM _SmcErrorHandler 52
+SM _SmsErrorHandler 53
+SM _SmsNewClientProc 54
+SM _SmsNewClientData 55
+LIBRARY Xft Xft
+Xft XftColorAllocName 1
+Xft XftColorAllocValue 2
+Xft XftColorFree 3
+Xft XftDefaultGetBool 4
+Xft XftDefaultGetDouble 5
+Xft XftDefaultGetInteger 6
+Xft XftDefaultHasRender 7
+Xft XftDefaultParseBool 8
+Xft XftDefaultSet 9
+Xft XftDefaultSubstitute 10
+Xft XftDrawChange 11
+Xft XftDrawCreate 12
+Xft XftDrawCreateBitmap 13
+Xft XftDrawDestroy 14
+Xft XftDrawRect 15
+Xft XftDrawSetClip 16
+Xft XftDrawString16 17
+Xft XftDrawString32 18
+Xft XftDrawString8 19
+Xft XftDrawStringUtf8 20
+Xft XftTextExtents16 21
+Xft XftTextExtents32 22
+Xft XftTextExtents8 23
+Xft XftTextExtentsUtf8 24
+Xft XftFontClose 25
+Xft XftFontMatch 26
+Xft XftFontOpen 27
+Xft XftFontOpenName 28
+Xft XftFontOpenPattern 29
+Xft XftFontOpenXlfd 30
+Xft XftInit 31
+Xft XftListFonts 32
+Xft XftListFontsPatternObjects 33
+Xft XftNameParse 34
+Xft XftNameUnparse 35
+Xft _XftMatchSymbolic 36
+Xft XftXlfdParse 37
+Xft XftInitFtLibrary 38
+Xft XftDrawPicture 39
+Xft XftDrawSrcPicture 40
+Xft XftCharExists 41
+Xft XftDrawCharSpec 42
+LIBRARY Xmuu Xmuu
+Xmuu XmuClientWindow 1
+Xmuu XmuCursorNameToIndex 2
+Xmuu XmuPrintDefaultErrorMessage 3
+Xmuu XmuSimpleErrorHandler 4
+Xmuu XmuGetHostname 5
+Xmuu XmuCompareISOLatin1 6
+Xmuu XmuCopyISOLatin1Lowered 7
+Xmuu XmuCopyISOLatin1Uppered 8
+Xmuu XmuNCopyISOLatin1Lowered 9
+Xmuu XmuNCopyISOLatin1Uppered 10
+Xmuu XmuSnprintf 11
+LIBRARY GLU GLU
+GLU bezierPatchDelete 1
+GLU bezierPatchDeleteList 2
+GLU bezierPatchDraw 3
+GLU bezierPatchEval 4
+GLU bezierPatchEvalNormal 5
+GLU bezierPatchInsert 6
+GLU bezierPatchListDraw 7
+GLU bezierPatchMake 8
+GLU bezierPatchMake2 9
+GLU bezierPatchPrint 10
+GLU bezierPatchPrintList 11
+GLU bezierPatchMeshBeginStrip 12
+GLU bezierPatchMeshDelDeg 13
+GLU bezierPatchMeshDelete 14
+GLU bezierPatchMeshDraw 15
+GLU bezierPatchMeshEndStrip 16
+GLU bezierPatchMeshEval 17
+GLU bezierPatchMeshInsertUV 18
+GLU bezierPatchMeshListCollect 19
+GLU bezierPatchMeshListDelDeg 20
+GLU bezierPatchMeshListDelete 21
+GLU bezierPatchMeshListDraw 22
+GLU bezierPatchMeshListEval 23
+GLU bezierPatchMeshListInsert 24
+GLU bezierPatchMeshListNumTriangles 25
+GLU bezierPatchMeshListPrint 26
+GLU bezierPatchMeshListReverse 27
+GLU bezierPatchMeshListTotalStrips 28
+GLU bezierPatchMeshListTotalVert 29
+GLU bezierPatchMeshMake 30
+GLU bezierPatchMeshMake2 31
+GLU bezierPatchMeshNumTriangles 32
+GLU bezierPatchMeshPrint 33
+GLU bezierPatchMeshPutPatch 34
+GLU drawStrips 35
+GLU gluBeginCurve 36
+GLU gluBeginSurface 37
+GLU gluBeginTrim 38
+GLU gluDeleteNurbsRenderer 39
+GLU gluDeleteNurbsTessellatorEXT 40
+GLU gluEndCurve 41
+GLU gluEndSurface 42
+GLU gluEndTrim 43
+GLU gluGetNurbsProperty 44
+GLU gluLoadSamplingMatrices 45
+GLU gluNewNurbsRenderer 46
+GLU gluNurbsCallback 47
+GLU gluNurbsCallbackData 48
+GLU gluNurbsCallbackDataEXT 49
+GLU gluNurbsCurve 50
+GLU gluNurbsProperty 51
+GLU gluNurbsSurface 52
+GLU gluPwlCurve 53
+GLU glu_LOD_eval_list 54
+GLU __gl_dictListDelete 55
+GLU __gl_dictListDeleteDict 56
+GLU __gl_dictListInsertBefore 57
+GLU __gl_dictListNewDict 58
+GLU __gl_dictListSearch 59
+GLU __gl_edgeEval 60
+GLU __gl_edgeIntersect 61
+GLU __gl_edgeSign 62
+GLU __gl_transEval 63
+GLU __gl_transSign 64
+GLU __gl_vertCCW 65
+GLU __gl_vertLeq 66
+GLU __gl_memInit 67
+GLU __gl_meshAddEdgeVertex 68
+GLU __gl_meshConnect 69
+GLU __gl_meshDelete 70
+GLU __gl_meshDeleteMesh 71
+GLU __gl_meshMakeEdge 72
+GLU __gl_meshNewMesh 73
+GLU __gl_meshSplice 74
+GLU __gl_meshSplitEdge 75
+GLU __gl_meshUnion 76
+GLU __gl_meshZapFace 77
+GLU __gl_projectPolygon 78
+GLU __gl_pqHeapDelete 79
+GLU __gl_pqHeapDeletePriorityQ 80
+GLU __gl_pqHeapExtractMin 81
+GLU __gl_pqHeapInit 82
+GLU __gl_pqHeapInsert 83
+GLU __gl_pqHeapNewPriorityQ 84
+GLU __gl_pqSortDelete 85
+GLU __gl_pqSortDeletePriorityQ 86
+GLU __gl_pqSortExtractMin 87
+GLU __gl_pqSortInit 88
+GLU __gl_pqSortInsert 89
+GLU __gl_pqSortIsEmpty 90
+GLU __gl_pqSortMinimum 91
+GLU __gl_pqSortNewPriorityQ 92
+GLU __gl_renderBoundary 93
+GLU __gl_renderCache 94
+GLU __gl_renderMesh 95
+GLU __gl_computeInterior 96
+GLU __gl_noBeginData 97
+GLU __gl_noCombineData 98
+GLU __gl_noEdgeFlagData 99
+GLU __gl_noEndData 100
+GLU __gl_noErrorData 101
+GLU __gl_noVertexData 102
+GLU gluBeginPolygon 103
+GLU gluDeleteTess 104
+GLU gluEndPolygon 105
+GLU gluGetTessProperty 106
+GLU gluNewTess 107
+GLU gluNextContour 108
+GLU gluTessBeginContour 109
+GLU gluTessBeginPolygon 110
+GLU gluTessCallback 111
+GLU gluTessEndContour 112
+GLU gluTessEndPolygon 113
+GLU gluTessNormal 114
+GLU gluTessProperty 115
+GLU gluTessVertex 116
+GLU __gl_meshDiscardExterior 117
+GLU __gl_meshSetWindingNumber 118
+GLU __gl_meshTessellateInterior 119
+GLU __gl_meshTessellateMonoRegion 120
+GLU gluErrorString 121
+GLU gluBuild1DMipmapLevels 122
+GLU gluBuild1DMipmaps 123
+GLU gluBuild2DMipmapLevels 124
+GLU gluBuild2DMipmaps 125
+GLU gluBuild3DMipmapLevels 126
+GLU gluBuild3DMipmaps 127
+GLU gluScaleImage 128
+GLU gluScaleImage3D 129
+GLU gluLookAt 130
+GLU gluOrtho2D 131
+GLU gluPerspective 132
+GLU gluPickMatrix 133
+GLU gluProject 134
+GLU gluUnProject 135
+GLU gluUnProject4 136
+GLU gluCylinder 137
+GLU gluDeleteQuadric 138
+GLU gluDisk 139
+GLU gluNewQuadric 140
+GLU gluPartialDisk 141
+GLU gluQuadricCallback 142
+GLU gluQuadricDrawStyle 143
+GLU gluQuadricNormals 144
+GLU gluQuadricOrientation 145
+GLU gluQuadricTexture 146
+GLU gluSphere 147
+GLU gluCheckExtension 148
+GLU gluGetString 149
+LIBRARY Xrandr Xrandr
+Xrandr XRRCurrentConfig 1
+Xrandr XRRFindDisplay 2
+Xrandr XRRFreeScreenInfo 3
+Xrandr XRRGetScreenInfo 4
+Xrandr XRRQueryExtension 5
+Xrandr XRRQueryVersion 6
+Xrandr XRRRootToScreen 7
+Xrandr XRRRotations 8
+Xrandr XRRScreenChangeSelectInput 9
+Xrandr XRRSetScreenConfig 10
+Xrandr XRRSizes 11
+Xrandr XRRTimes 12
+Xrandr XRRVisualIDToVisual 13
+Xrandr XRRVisualToDepth 14
+Xrandr XRRConfigCurrentConfiguration 15
+Xrandr XRRConfigSizes 16
+Xrandr XRRConfigRotations 17
+Xrandr XRRSelectInput 18
+Xrandr XRRFreeScreenConfigInfo 19
+Xrandr XRRUpdateConfiguration 20
+Xrandr XRRConfigCurrentRate 21
+Xrandr XRRConfigRates 22
+Xrandr XRRSetScreenConfigAndRate 23
+LIBRARY freetype frtype
+freetype ah_arctan 1
+freetype autohint_module_class 2
+freetype autohinter_interface 3
+freetype cff_driver_class 4
+freetype FT_Access_Frame 5
+freetype FT_Add64 6
+freetype FT_Add_Module 7
+freetype FT_Alloc 8
+freetype FT_Attach_File 9
+freetype FT_Attach_Stream 10
+freetype FT_Create_Extensions 11
+freetype FT_Destroy_Extensions 12
+freetype FT_Div64by32 13
+freetype FT_DivFix 14
+freetype FT_Done_Extensions 15
+freetype FT_Done_Face 16
+freetype FT_Done_GlyphSlot 17
+freetype FT_Done_Library 18
+freetype FT_Done_Size 19
+freetype FT_Done_Stream 20
+freetype FT_Extract_Frame 21
+freetype FT_Forget_Frame 22
+freetype FT_Free 23
+freetype FT_Get_Char 24
+freetype FT_Get_Char_Index 25
+freetype FT_Get_Extension 26
+freetype FT_Get_Glyph_Name 27
+freetype FT_Get_Kerning 28
+freetype FT_Get_Long 29
+freetype FT_Get_LongLE 30
+freetype FT_Get_Module 31
+freetype FT_Get_Module_Interface 32
+freetype FT_Get_Offset 33
+freetype FT_Get_Renderer 34
+freetype FT_Get_Sfnt_Name 35
+freetype FT_Get_Sfnt_Name_Count 36
+freetype FT_Get_Sfnt_Table 37
+freetype FT_Get_Short 38
+freetype FT_Get_ShortLE 39
+freetype FT_GlyphLoader_Add 40
+freetype FT_GlyphLoader_Check_Points 41
+freetype FT_GlyphLoader_Check_Subglyphs 42
+freetype FT_GlyphLoader_Copy_Points 43
+freetype FT_GlyphLoader_Create_Extra 44
+freetype FT_GlyphLoader_Done 45
+freetype FT_GlyphLoader_New 46
+freetype FT_GlyphLoader_Prepare 47
+freetype FT_GlyphLoader_Reset 48
+freetype FT_GlyphLoader_Rewind 49
+freetype FT_Init_Extensions 50
+freetype FT_List_Add 51
+freetype FT_List_Finalize 52
+freetype FT_List_Find 53
+freetype FT_List_Insert 54
+freetype FT_List_Iterate 55
+freetype FT_List_Remove 56
+freetype FT_List_Up 57
+freetype FT_Load_Char 58
+freetype FT_Load_Glyph 59
+freetype FT_Lookup_Renderer 60
+freetype FT_MulDiv 61
+freetype FT_MulFix 62
+freetype FT_MulTo64 63
+freetype FT_New_Face 64
+freetype FT_New_GlyphSlot 65
+freetype FT_New_Library 66
+freetype FT_New_Memory_Face 67
+freetype FT_New_Memory_Stream 68
+freetype FT_New_Size 69
+freetype FT_Open_Face 70
+freetype FT_Outline_Copy 71
+freetype FT_Outline_Decompose 72
+freetype FT_Outline_Done 73
+freetype FT_Outline_Done_Internal 74
+freetype FT_Outline_Get_Bitmap 75
+freetype FT_Outline_Get_CBox 76
+freetype FT_Outline_New 77
+freetype FT_Outline_New_Internal 78
+freetype FT_Outline_Render 79
+freetype FT_Outline_Reverse 80
+freetype FT_Outline_Transform 81
+freetype FT_Outline_Translate 82
+freetype FT_Read_Char 83
+freetype FT_Read_Fields 84
+freetype FT_Read_Long 85
+freetype FT_Read_LongLE 86
+freetype FT_Read_Offset 87
+freetype FT_Read_Short 88
+freetype FT_Read_ShortLE 89
+freetype FT_Read_Stream 90
+freetype FT_Read_Stream_At 91
+freetype FT_Realloc 92
+freetype FT_Register_Extension 93
+freetype FT_Release_Frame 94
+freetype FT_Remove_Module 95
+freetype FT_Render_Glyph 96
+freetype FT_Render_Glyph_Internal 97
+freetype FT_Seek_Stream 98
+freetype FT_Select_Charmap 99
+freetype FT_Set_Char_Size 100
+freetype FT_Set_Charmap 101
+freetype FT_Set_Debug_Hook 102
+freetype FT_Set_Pixel_Sizes 103
+freetype FT_Set_Renderer 104
+freetype FT_Set_Transform 105
+freetype FT_Skip_Stream 106
+freetype FT_Sqrt64 107
+freetype FT_SqrtFixed 108
+freetype FT_Stream_Pos 109
+freetype FT_Vector_Transform 110
+freetype FT_Outline_Get_BBox 111
+freetype FT_Done_Glyph 112
+freetype FT_Get_Glyph 113
+freetype FT_Glyph_Copy 114
+freetype FT_Glyph_Get_CBox 115
+freetype FT_Glyph_To_Bitmap 116
+freetype FT_Glyph_Transform 117
+freetype FT_Matrix_Invert 118
+freetype FT_Matrix_Multiply 119
+freetype ft_bitmap_glyph_class 120
+freetype ft_outline_glyph_class 121
+freetype FT_Add_Default_Modules 122
+freetype FT_Done_FreeType 123
+freetype FT_Init_FreeType 124
+freetype FT_Get_Multi_Master 125
+freetype FT_Set_MM_Blend_Coordinates 126
+freetype FT_Set_MM_Design_Coordinates 127
+freetype FT_Done_Memory 128
+freetype FT_New_Memory 129
+freetype FT_New_Stream 130
+freetype ps_table_funcs 131
+freetype psaux_module_class 132
+freetype t1_builder_funcs 133
+freetype t1_decoder_funcs 134
+freetype t1_parser_funcs 135
+freetype psnames_module_class 136
+freetype ft_raster1_renderer_class 137
+freetype ft_raster5_renderer_class 138
+freetype ft_standard_raster 139
+freetype sbit_metrics_fields 140
+freetype sfnt_module_class 141
+freetype ft_grays_raster 142
+freetype ft_smooth_renderer_class 143
+freetype grays_raster_render 144
+freetype TT_New_Context 145
+freetype TT_RunIns 146
+freetype tt_default_graphics_state 147
+freetype tt_driver_class 148
+freetype t1_driver_class 149
+freetype t1cid_driver_class 150
+freetype winfnt_driver_class 151
+freetype FT_Get_First_Char 152
+freetype FT_Get_Next_Char 153
+freetype FT_Get_PS_Font_Info 154
+freetype FT_Has_PS_Glyph_Names 155
+freetype FT_Get_Name_Index 156
+freetype FT_Get_BDF_Property 157
+freetype FT_Activate_Size 158
+freetype FT_Get_X11_Font_Format 159
+freetype FT_Get_BDF_Charset_ID 160
+freetype FT_Get_Postscript_Name 161
+LIBRARY XTrap XTrap
+XTrap XEAddEventCB 1
+XTrap XEAddEventCBs 2
+XTrap XEAddRequestCB 3
+XTrap XEAddRequestCBs 4
+XTrap XERemoveAllEventCBs 5
+XTrap XERemoveAllRequestCBs 6
+XTrap XERemoveEventCB 7
+XTrap XERemoveEventCBs 8
+XTrap XERemoveRequestCB 9
+XTrap XERemoveRequestCBs 10
+XTrap XEChangeTC 11
+XTrap XECreateTC 12
+XTrap XEFreeTC 13
+XTrap XESetCmdGateState 14
+XTrap XETrapSetColorReplies 15
+XTrap XETrapSetCommandKey 16
+XTrap XETrapSetCursor 17
+XTrap XETrapSetEvents 18
+XTrap XETrapSetGrabServer 19
+XTrap XETrapSetMaxPacket 20
+XTrap XETrapSetRequests 21
+XTrap XETrapSetStatistics 22
+XTrap XETrapSetTimestamps 23
+XTrap XETrapSetWinXY 24
+XTrap XETrapSetXInput 25
+XTrap XETrapDispatchXLib 26
+XTrap XEPrintAvail 27
+XTrap XEPrintAvailFlags 28
+XTrap XEPrintAvailPktSz 29
+XTrap XEPrintCfgFlags 30
+XTrap XEPrintCmdKey 31
+XTrap XEPrintCurPktSz 32
+XTrap XEPrintCurXY 33
+XTrap XEPrintCurrent 34
+XTrap XEPrintEvents 35
+XTrap XEPrintEvtStats 36
+XTrap XEPrintLastTime 37
+XTrap XEPrintMajOpcode 38
+XTrap XEPrintPlatform 39
+XTrap XEPrintRelease 40
+XTrap XEPrintReqStats 41
+XTrap XEPrintRequests 42
+XTrap XEPrintStateFlags 43
+XTrap XEPrintStatistics 44
+XTrap XEPrintTkFlags 45
+XTrap XEPrintTkRelease 46
+XTrap XEPrintTkState 47
+XTrap XEFlushConfig 48
+XTrap XEGetAvailableRequest 49
+XTrap XEGetCurrentRequest 50
+XTrap XEGetLastInpTimeRequest 51
+XTrap XEGetStatisticsRequest 52
+XTrap XEGetVersionRequest 53
+XTrap XEResetRequest 54
+XTrap XESimulateXEventRequest 55
+XTrap XEStartTrapRequest 56
+XTrap XEStopTrapRequest 57
+XTrap XEEventIDToString 58
+XTrap XEEventStringToID 59
+XTrap XEPlatformIDToString 60
+XTrap XEPlatformStringToID 61
+XTrap XERequestIDToExtString 62
+XTrap XERequestIDToString 63
+XTrap XERequestStringToID 64
+XTrap XETrapQueryExtension 65
+XTrap XETrapAppMainLoop 66
+XTrap XETrapAppPending 67
+XTrap XETrapAppWhileLoop 68
+XTrap XETrapDispatchEvent 69
+XTrap XETrapGetEventHandler 70
+XTrap XETrapSetEventHandler 71
+XTrap XETrapWaitForSomething 72
+LIBRARY fontconfig fontcfg
+fontconfig FcAtomicCreate 1
+fontconfig FcAtomicDeleteNew 2
+fontconfig FcAtomicDestroy 3
+fontconfig FcAtomicLock 4
+fontconfig FcAtomicNewFile 5
+fontconfig FcAtomicOrigFile 6
+fontconfig FcAtomicReplaceOrig 7
+fontconfig FcAtomicUnlock 8
+fontconfig FcBlanksAdd 9
+fontconfig FcBlanksCreate 10
+fontconfig FcBlanksDestroy 11
+fontconfig FcBlanksIsMember 12
+fontconfig FcFileCacheCreate 13
+fontconfig FcFileCacheDestroy 14
+fontconfig FcFileCacheFind 15
+fontconfig FcFileCacheLoad 16
+fontconfig FcFileCacheReadDir 17
+fontconfig FcFileCacheSave 18
+fontconfig FcFileCacheUpdate 19
+fontconfig FcFileCacheWriteDir 20
+fontconfig FcConfigAddBlank 21
+fontconfig FcConfigAddConfigFile 22
+fontconfig FcConfigAddDir 23
+fontconfig FcConfigAddEdit 24
+fontconfig FcConfigAppFontAddDir 25
+fontconfig FcConfigAppFontAddFile 26
+fontconfig FcConfigAppFontClear 27
+fontconfig FcConfigBuildFonts 28
+fontconfig FcConfigCompareValue 29
+fontconfig FcConfigCreate 30
+fontconfig FcConfigDestroy 31
+fontconfig FcConfigFilename 32
+fontconfig FcConfigGetBlanks 33
+fontconfig FcConfigGetCache 34
+fontconfig FcConfigGetConfigFiles 35
+fontconfig FcConfigGetCurrent 36
+fontconfig FcConfigGetFonts 37
+fontconfig FcConfigSetCache 38
+fontconfig FcConfigSetCurrent 39
+fontconfig FcConfigSetFonts 40
+fontconfig FcConfigSubstitute 41
+fontconfig FcCharSetAddChar 42
+fontconfig FcCharSetCopy 43
+fontconfig FcCharSetCount 44
+fontconfig FcCharSetCoverage 45
+fontconfig FcCharSetCreate 46
+fontconfig FcCharSetDestroy 47
+fontconfig FcCharSetEqual 48
+fontconfig FcCharSetHasChar 49
+fontconfig FcCharSetIntersect 50
+fontconfig FcCharSetIntersectCount 51
+fontconfig FcCharSetNew 52
+fontconfig FcCharSetSubtract 53
+fontconfig FcCharSetSubtractCount 54
+fontconfig FcCharSetUnion 55
+fontconfig FcFreeTypeCharIndex 56
+fontconfig FcFreeTypeCharSet 57
+fontconfig FcNameParseCharSet 58
+fontconfig FcNameUnparseCharSet 59
+fontconfig FcDebug 60
+fontconfig FcEditPrint 61
+fontconfig FcExprPrint 62
+fontconfig FcFontSetPrint 63
+fontconfig FcOpPrint 64
+fontconfig FcPatternPrint 65
+fontconfig FcSubstPrint 66
+fontconfig FcTestPrint 67
+fontconfig FcValueListPrint 68
+fontconfig FcValuePrint 69
+fontconfig FcDefaultSubstitute 70
+fontconfig FcDirSave 71
+fontconfig FcDirScan 72
+fontconfig FcFileScan 73
+fontconfig FcFreeTypeQuery 74
+fontconfig FcFontSetAdd 75
+fontconfig FcFontSetCreate 76
+fontconfig FcFontSetDestroy 77
+fontconfig FcInit 78
+fontconfig FcMemAlloc 79
+fontconfig FcMemFree 80
+fontconfig FcMemReport 81
+fontconfig FcFontList 82
+fontconfig FcFontSetList 83
+fontconfig FcObjectSetAdd 84
+fontconfig FcObjectSetBuild 85
+fontconfig FcObjectSetCreate 86
+fontconfig FcObjectSetDestroy 87
+fontconfig FcObjectSetVaBuild 88
+fontconfig FcFontMatch 89
+fontconfig FcFontRenderPrepare 90
+fontconfig FcFontSetMatch 91
+fontconfig FcFontSetSort 92
+fontconfig FcMatrixCopy 93
+fontconfig FcMatrixEqual 94
+fontconfig FcMatrixFree 95
+fontconfig FcMatrixMultiply 96
+fontconfig FcMatrixRotate 97
+fontconfig FcMatrixScale 98
+fontconfig FcMatrixShear 99
+fontconfig FcNameBool 100
+fontconfig FcNameConstant 101
+fontconfig FcNameGetConstant 102
+fontconfig FcNameGetObjectType 103
+fontconfig FcNameParse 104
+fontconfig FcNameRegisterConstants 105
+fontconfig FcNameRegisterObjectTypes 106
+fontconfig FcNameUnparse 107
+fontconfig FcNameUnregisterConstants 108
+fontconfig FcNameUnregisterObjectTypes 109
+fontconfig FcPatternAdd 110
+fontconfig FcPatternAddBool 111
+fontconfig FcPatternAddCharSet 112
+fontconfig FcPatternAddDouble 113
+fontconfig FcPatternAddInteger 114
+fontconfig FcPatternAddMatrix 115
+fontconfig FcPatternAddString 116
+fontconfig FcPatternBuild 117
+fontconfig FcPatternCreate 118
+fontconfig FcPatternDel 119
+fontconfig FcPatternDestroy 120
+fontconfig FcPatternDuplicate 121
+fontconfig FcPatternGet 122
+fontconfig FcPatternGetBool 123
+fontconfig FcPatternGetCharSet 124
+fontconfig FcPatternGetDouble 125
+fontconfig FcPatternGetInteger 126
+fontconfig FcPatternGetMatrix 127
+fontconfig FcPatternGetString 128
+fontconfig FcPatternVaBuild 129
+fontconfig FcValueDestroy 130
+fontconfig FcValueListDestroy 131
+fontconfig FcValueSave 132
+fontconfig FcStrBufChar 133
+fontconfig FcStrBufData 134
+fontconfig FcStrBufDestroy 135
+fontconfig FcStrBufDone 136
+fontconfig FcStrBufInit 137
+fontconfig FcStrBufString 138
+fontconfig FcStrCmpIgnoreCase 139
+fontconfig FcStrCopy 140
+fontconfig FcStrFree 141
+fontconfig FcStrPlus 142
+fontconfig FcUtf8Len 143
+fontconfig FcUtf8ToUcs4 144
+fontconfig FcConfigParseAndLoad 145
+fontconfig FcConfigSaveField 146
+fontconfig FcEditCreate 147
+fontconfig FcEditDestroy 148
+fontconfig FcExprCreateBool 149
+fontconfig FcExprCreateConst 150
+fontconfig FcExprCreateDouble 151
+fontconfig FcExprCreateField 152
+fontconfig FcExprCreateInteger 153
+fontconfig FcExprCreateMatrix 154
+fontconfig FcExprCreateNil 155
+fontconfig FcExprCreateOp 156
+fontconfig FcExprCreateString 157
+fontconfig FcExprDestroy 158
+fontconfig FcTestCreate 159
+fontconfig FcTestDestroy 160
+fontconfig FcStrListCreate 161
+fontconfig FcStrListNext 162
+fontconfig FcStrListDone 163
+fontconfig FcStrSetCreate 164
+fontconfig FcDirCacheValid 165
+fontconfig FcStrSetDestroy 166
+fontconfig FcInitLoadConfig 167
+fontconfig FcStrSetAdd 168
+fontconfig FcConfigGetConfigDirs 169
+fontconfig FcPatternAddFTFace 170
+fontconfig FcPatternGetFTFace 171
+fontconfig FcPatternFindElt 172
+fontconfig FcPatternInsertElt 173
+fontconfig FcCharSetFirstPage 174
+fontconfig FcCharSetNextPage 175
+fontconfig FcUtf16ToUcs4 176
+LIBRARY expat expat
+expat XML_DefaultCurrent 1
+expat XML_ErrorString 2
+expat XML_ExpatVersion 3
+expat XML_ExpatVersionInfo 4
+expat XML_ExternalEntityParserCreate 5
+expat XML_GetBase 6
+expat XML_GetBuffer 7
+expat XML_GetCurrentByteCount 8
+expat XML_GetCurrentByteIndex 9
+expat XML_GetCurrentColumnNumber 10
+expat XML_GetCurrentLineNumber 11
+expat XML_GetErrorCode 12
+expat XML_GetIdAttributeIndex 13
+expat XML_GetInputContext 14
+expat XML_GetSpecifiedAttributeCount 15
+expat XML_Parse 16
+expat XML_ParseBuffer 17
+expat XML_ParserCreate 18
+expat XML_ParserCreateNS 19
+expat XML_ParserCreate_MM 20
+expat XML_ParserFree 21
+expat XML_SetAttlistDeclHandler 22
+expat XML_SetBase 23
+expat XML_SetCdataSectionHandler 24
+expat XML_SetCharacterDataHandler 25
+expat XML_SetCommentHandler 26
+expat XML_SetDefaultHandler 27
+expat XML_SetDefaultHandlerExpand 28
+expat XML_SetDoctypeDeclHandler 29
+expat XML_SetElementDeclHandler 30
+expat XML_SetElementHandler 31
+expat XML_SetEncoding 32
+expat XML_SetEndCdataSectionHandler 33
+expat XML_SetEndDoctypeDeclHandler 34
+expat XML_SetEndElementHandler 35
+expat XML_SetEndNamespaceDeclHandler 36
+expat XML_SetEntityDeclHandler 37
+expat XML_SetExternalEntityRefHandler 38
+expat XML_SetExternalEntityRefHandlerArg 39
+expat XML_SetNamespaceDeclHandler 40
+expat XML_SetNotStandaloneHandler 41
+expat XML_SetNotationDeclHandler 42
+expat XML_SetParamEntityParsing 43
+expat XML_SetProcessingInstructionHandler 44
+expat XML_SetReturnNSTriplet 45
+expat XML_SetStartCdataSectionHandler 46
+expat XML_SetStartDoctypeDeclHandler 47
+expat XML_SetStartElementHandler 48
+expat XML_SetStartNamespaceDeclHandler 49
+expat XML_SetUnknownEncodingHandler 50
+expat XML_SetUnparsedEntityDeclHandler 51
+expat XML_SetUserData 52
+expat XML_SetXmlDeclHandler 53
+expat XML_UseParserAsHandlerArg 54
+expat XmlPrologStateInit 55
+expat XmlPrologStateInitExternalEntity 56
+expat XmlGetUtf16InternalEncoding 57
+expat XmlGetUtf16InternalEncodingNS 58
+expat XmlGetUtf8InternalEncoding 59
+expat XmlGetUtf8InternalEncodingNS 60
+expat XmlInitEncoding 61
+expat XmlInitEncodingNS 62
+expat XmlInitUnknownEncoding 63
+expat XmlInitUnknownEncodingNS 64
+expat XmlParseXmlDecl 65
+expat XmlParseXmlDeclNS 66
+expat XmlSizeOfUnknownEncoding 67
+expat XmlUtf16Encode 68
+expat XmlUtf8Encode 69
+LIBRARY OSMesa OSMesa
+OSMesa OSMesaCreateContext 1
+OSMesa OSMesaDestroyContext 2
+OSMesa OSMesaGetColorBuffer 3
+OSMesa OSMesaGetCurrentContext 4
+OSMesa OSMesaGetDepthBuffer 5
+OSMesa OSMesaGetIntegerv 6
+OSMesa OSMesaMakeCurrent 7
+OSMesa OSMesaPixelStore 8
+OSMesa OSMesaCreateContextExt 9
+LIBRARY Xcursor Xcursor
+Xcursor XcursorCursorsCreate 1
+Xcursor XcursorCursorsDestroy 2
+Xcursor XcursorAnimateCreate 3
+Xcursor XcursorAnimateDestroy 4
+Xcursor XcursorAnimateNext 5
+Xcursor XcursorImageLoadCursor 6
+Xcursor XcursorImagesLoadCursors 7
+Xcursor XcursorFilenameLoadCursor 8
+Xcursor XcursorFilenameLoadCursors 9
+Xcursor XcursorLibraryLoadCursor 10
+Xcursor XcursorLibraryLoadCursors 11
+Xcursor _XcursorCreateGlyphCursor 12
+Xcursor XcursorShapeLoadCursor 13
+Xcursor XcursorShapeLoadCursors 14
+Xcursor _XcursorGetDisplayInfo 15
+Xcursor XcursorSupportsARGB 16
+Xcursor XcursorSetDefaultSize 17
+Xcursor XcursorGetDefaultSize 18
+Xcursor XcursorSetTheme 19
+Xcursor XcursorGetTheme 20
+Xcursor XcursorGetThemeCore 21
+Xcursor XcursorSetThemeCore 22
+Xcursor XcursorImageCreate 23
+Xcursor XcursorImageDestroy 24
+Xcursor XcursorImagesCreate 25
+Xcursor XcursorImagesDestroy 26
+Xcursor XcursorCommentCreate 27
+Xcursor XcursorCommentDestroy 28
+Xcursor XcursorCommentsCreate 29
+Xcursor XcursorCommentsDestroy 30
+Xcursor XcursorXcFileLoadImage 31
+Xcursor XcursorXcFileLoadImages 32
+Xcursor XcursorXcFileLoadAllImages 33
+Xcursor XcursorXcFileLoad 34
+Xcursor XcursorXcFileSave 35
+Xcursor XcursorFileLoadImage 36
+Xcursor XcursorFileLoadImages 37
+Xcursor XcursorFileLoadAllImages 38
+Xcursor XcursorFileLoad 39
+Xcursor XcursorFileSaveImages 40
+Xcursor XcursorFileSave 41
+Xcursor XcursorFilenameLoadImage 42
+Xcursor XcursorFilenameLoadImages 43
+Xcursor XcursorFilenameLoadAllImages 44
+Xcursor XcursorFilenameLoad 45
+Xcursor XcursorFilenameSaveImages 46
+Xcursor XcursorFilenameSave 47
+Xcursor XcursorLibraryLoadImage 48
+Xcursor XcursorLibraryLoadImages 49
+Xcursor XcursorShapeLoadImage 50
+Xcursor XcursorShapeLoadImages 51
+Xcursor XcursorTryShapeCursor 52
+Xcursor XcursorNoticeCreateBitmap 53
+Xcursor XcursorImageHash 54
+Xcursor XcursorNoticePutBitmap 55
+Xcursor XcursorTryShapeBitmapCursor 56
+LIBRARY Xv Xv
+Xv XvCreateImage 1
+Xv XvFreeAdaptorInfo 2
+Xv XvFreeEncodingInfo 3
+Xv XvGetPortAttribute 4
+Xv XvGetStill 5
+Xv XvGetVideo 6
+Xv XvGrabPort 7
+Xv XvListImageFormats 8
+Xv XvPutImage 9
+Xv XvPutStill 10
+Xv XvPutVideo 11
+Xv XvQueryAdaptors 12
+Xv XvQueryBestSize 13
+Xv XvQueryEncodings 14
+Xv XvQueryExtension 15
+Xv XvQueryPortAttributes 16
+Xv XvSelectPortNotify 17
+Xv XvSelectVideoNotify 18
+Xv XvSetPortAttribute 19
+Xv XvShmCreateImage 20
+Xv XvShmPutImage 21
+Xv XvStopVideo 22
+Xv XvUngrabPort 23
+LIBRARY xkbfile xkbfile
+xkbfile XkbAccessXDetailText 1
+xkbfile XkbActionText 2
+xkbfile XkbActionTypeText 3
+xkbfile XkbAtomGetString 4
+xkbfile XkbAtomText 5
+xkbfile XkbBehaviorText 6
+xkbfile XkbCFAddModByName 7
+xkbfile XkbCFAddPrivate 8
+xkbfile XkbCFApplyMods 9
+xkbfile XkbCFApplyRtrnValues 10
+xkbfile XkbCFBindMods 11
+xkbfile XkbCFDup 12
+xkbfile XkbCFFree 13
+xkbfile XkbCFFreeRtrn 14
+xkbfile XkbCFParse 15
+xkbfile XkbCFReportError 16
+xkbfile XkbCFScan 17
+xkbfile XkbChangeAtomDisplay 18
+xkbfile XkbChangeKbdDisplay 19
+xkbfile XkbConfigText 20
+xkbfile XkbControlsMaskText 21
+xkbfile XkbConvertGetByNameComponents 22
+xkbfile XkbConvertXkbComponents 23
+xkbfile XkbDetermineFileType 24
+xkbfile XkbDoodadTypeText 25
+xkbfile XkbEnsureSafeMapName 26
+xkbfile XkbFindKeycodeByName 27
+xkbfile XkbFreeOrderedDrawables 28
+xkbfile XkbGeomFPText 29
+xkbfile XkbGetOrderedDrawables 30
+xkbfile XkbIMWhichStateMaskText 31
+xkbfile XkbIndentText 32
+xkbfile XkbInitAtoms 33
+xkbfile XkbInternAtom 34
+xkbfile XkbKeyNameText 35
+xkbfile XkbKeysymText 36
+xkbfile XkbLookupCanonicalRGBColor 37
+xkbfile XkbLookupGroupAndLevel 38
+xkbfile XkbMergeFile 39
+xkbfile XkbModIndexText 40
+xkbfile XkbModMaskText 41
+xkbfile XkbNKNDetailMaskText 42
+xkbfile XkbNameMatchesPattern 43
+xkbfile XkbRF_AddGroup 44
+xkbfile XkbRF_AddRule 45
+xkbfile XkbRF_AddVarDesc 46
+xkbfile XkbRF_AddVarDescCopy 47
+xkbfile XkbRF_AddVarToDescribe 48
+xkbfile XkbRF_Create 49
+xkbfile XkbRF_Free 50
+xkbfile XkbRF_GetComponents 51
+xkbfile XkbRF_GetNamesProp 52
+xkbfile XkbRF_Load 53
+xkbfile XkbRF_LoadDescriptions 54
+xkbfile XkbRF_LoadDescriptionsByName 55
+xkbfile XkbRF_LoadRules 56
+xkbfile XkbRF_LoadRulesByName 57
+xkbfile XkbRF_SetNamesProp 58
+xkbfile XkbReadFromServer 59
+xkbfile XkbSIMatchText 60
+xkbfile XkbStdBell 61
+xkbfile XkbStdBellEvent 62
+xkbfile XkbStringText 63
+xkbfile XkbVModIndexText 64
+xkbfile XkbVModMaskText 65
+xkbfile XkbWriteCFile 66
+xkbfile XkbWriteToServer 67
+xkbfile XkbWriteXKBCompatMap 68
+xkbfile XkbWriteXKBFile 69
+xkbfile XkbWriteXKBGeometry 70
+xkbfile XkbWriteXKBKeyTypes 71
+xkbfile XkbWriteXKBKeycodes 72
+xkbfile XkbWriteXKBKeymap 73
+xkbfile XkbWriteXKBKeymapForNames 74
+xkbfile XkbWriteXKBLayout 75
+xkbfile XkbWriteXKBSemantics 76
+xkbfile XkbWriteXKBSymbols 77
+xkbfile XkbWriteXKMFile 78
+xkbfile XkmFindTOCEntry 79
+xkbfile XkmProbe 80
+xkbfile XkmReadFile 81
+xkbfile XkmReadFileSection 82
+xkbfile XkmReadFileSectionName 83
+xkbfile XkmReadTOC 84
+xkbfile _XkbStrCaseCmp 85
+xkbfile XkbCFDflts 86
+xkbfile _XkbErrLocation 87
+xkbfile _XkbErrCode 88
+xkbfile _XkbErrMessages 89
+xkbfile _XkbKSCheckCase 90
+LIBRARY xkbui xkbui
+xkbui XbUI_GetViewOpts 1
+xkbui XkbUI_DrawChanged 2
+xkbui XkbUI_DrawRegion 3
+xkbui XkbUI_GetCanvasSize 4
+xkbui XkbUI_Init 5
+xkbui XkbUI_ResetKeyAppearance 6
+xkbui XkbUI_Select 7
+xkbui XkbUI_SetCanvasSize 8
+xkbui XkbUI_SetKeyAppearance 9
+xkbui XkbUI_SetKeyAppearanceByName 10
+xkbui XkbUI_SetViewOpts 11
+xkbui XkbUI_SimpleInit 12
+LIBRARY Xinerama Xinerama
+Xinerama XPanoramiXAllocInfo 1
+Xinerama XPanoramiXGetScreenCount 2
+Xinerama XPanoramiXGetScreenSize 3
+Xinerama XPanoramiXGetState 4
+Xinerama XPanoramiXQueryExtension 5
+Xinerama XPanoramiXQueryVersion 6
+Xinerama XineramaIsActive 7
+Xinerama XineramaQueryExtension 8
+Xinerama XineramaQueryScreens 9
+Xinerama XineramaQueryVersion 10
+LIBRARY XvMC XvMC
+XvMC XvMCListSubpictureTypes 1
+XvMC XvMCListSurfaceTypes 2
+XvMC XvMCQueryExtension 3
+XvMC XvMCQueryVersion 4
+LIBRARY XRes XRes
+XRes XResQueryClientPixmapBytes 1
+XRes XResQueryClientResources 2
+XRes XResQueryClients 3
+XRes XResQueryExtension 4
+XRes XResQueryVersion 5
+LIBRARY FS FS
+FS FSErrorList 1
+FS FSErrorListSize 2
+FS FSCloseFont 3
+FS FSCloseServer 4
+FS FSFlush 5
+FS FSFree 6
+FS FSFreeCatalogues 7
+FS FSFreeExtensionList 8
+FS FSFreeFontNames 9
+FS FSGetCatalogues 10
+FS FSGetErrorDatabaseText 11
+FS FSGetErrorText 12
+FS FSListCatalogues 13
+FS FSListExtensions 14
+FS FSListFonts 15
+FS FSListFontsWithXInfo 16
+FS FSMalloc 17
+FS FSMaxRequestSize 18
+FS FSNextEvent 19
+FS FSOpenBitmapFont 20
+FS FSOpenServer 21
+FS FSQueryExtension 22
+FS FSQueryXBitmaps16 23
+FS FSQueryXBitmaps8 24
+FS FSQueryXExtents16 25
+FS FSQueryXExtents8 26
+FS FSQueryXInfo 27
+FS FSServerName 28
+FS FSSetAfterFunction 29
+FS FSSetCatalogues 30
+FS FSSetErrorHandler 31
+FS FSSetIOErrorHandler 32
+FS FSSync 33
+FS FSSynchronize 34
+LIBRARY fontenc fontenc
+fontenc FontEncDirectory 1
+fontenc FontEncIdentify 2
+fontenc FontEncReallyLoad 3
+fontenc FontEncFind 4
+fontenc FontEncFromXLFD 5
+fontenc FontEncMapFind 6
+fontenc FontEncName 7
+fontenc FontEncRecode 8
+fontenc FontEncSimpleName 9
+fontenc FontEncSimpleRecode 10
+fontenc FontEncUndefinedName 11
+fontenc FontEncUndefinedRecode 12
+fontenc FontMapFind 13
+fontenc FontMapReverse 14
+fontenc FontMapReverseFree 15
+LIBRARY Xfontcache Fntcache
+Xfontcache FontCacheChangeCacheSettings 1
+Xfontcache FontCacheGetCacheSettings 2
+Xfontcache FontCacheGetCacheStatistics 3
+Xfontcache FontCacheQueryExtension 4
+Xfontcache FontCacheQueryVersion 5
diff --git a/nx-X11/config/cf/osf1.cf b/nx-X11/config/cf/osf1.cf
new file mode 100644
index 000000000..9bb8cdc42
--- /dev/null
+++ b/nx-X11/config/cf/osf1.cf
@@ -0,0 +1,211 @@
+XCOMM platform: $Xorg: osf1.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+/* only tested with Digital OSF/1 */
+
+
+
+XCOMM platform: $XFree86$
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion)
+
+#define StandardCppDefines -D__osf__ StandardDefines
+#define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH
+#define HasPutenv YES
+#define Malloc0ReturnsNull YES
+#define HasNdbm YES
+#define HasShm YES
+#define AvoidNullMakeCommand YES
+#define NullMakeCommand @ echo
+#define HasPosixThreads YES
+#define SystemMTDefines -D_REENTRANT
+#define CplusplusSystemMTDefines -D_REENTRANT
+#define HasPoll YES
+#define HasVFork NO
+#define HasPlugin YES
+#define InstallCmd installbsd
+#define RanlibCmd ranlib -t
+#if OSMajorVersion > 1 || OSMinorVersion > 0
+#define ModernOSF1 YES
+#else
+#define ModernOSF1 NO
+#define ShLibDir /usr/shlib
+#endif
+
+#define InstallXloadSetGID NO
+
+#define ThreadedX ModernOSF1
+
+#if ThreadedX
+#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+#if OSMajorVersion < 4
+#define ThreadsLibraries -lpthreads -lmach -lc_r
+#define ThreadsCplusplusLibraries -lpthreads -lmach
+#define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
+#else
+#define ThreadsLibraries -lpthread -lmach -lexc -lc
+#define ThreadsCplusplusLibraries -lpthread -lmach -lexc
+#define LibraryMTDefines -DUSE_TIS_SUPPORT
+#endif
+#endif
+
+#if ModernOSF1
+#ifndef OptimizedCDebugFlags
+#define OptimizedCDebugFlags -O2 -Olimit 2000
+#endif
+#ifndef ExtraLoadFlags
+/*
+ * In OSF/1 3.0 Digital has shared libXdmcp and libXau. What's more,
+ * the link editor has different search semantics, i.e. it will search
+ * for shared libraries first, then, if it can't find a shared lib, it
+ * will use a static lib. By using -oldstyle_liblookup the linker will
+ * follow "normal" semantics for linking libraries and will get the
+ * static libraries we really want. By 3.2 they no longer have libXdmcp
+ * and libXau as shared libraries and we can omit -oldstyle_liblookup.
+ * (What did they have in 3.1?)
+ */
+#if OSMajorVersion == 3 && OSMinorVersion == 0
+#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH),-oldstyle_liblookup
+#else
+#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#endif
+#endif
+#if OSMajorVersion > 3
+#define TermcapLibrary -lcurses
+#endif
+#if OSMajorVersion >= 3
+#define HasMkstemp YES
+#endif
+#endif
+
+/*
+ * C++ compiler setup. This file knows what options to use with the
+ * DEC C++ compiler, and may learn about other compilers in the future.
+ *
+ * For DEC C++, define HasDECCplusplus to YES in site.def.
+ *
+ * For g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def.
+ *
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ *
+ * Note: For DEC C++, the -call_shared option really only needs to
+ * appear when linking C++ executables, not when actually compiling
+ * the C++ sources. But since there's no imake variable that lets
+ * us insert flags only into the C++ link stage, we use -call_shared
+ * on all compilations when building executables. This could be
+ * considered a deficiency in the current imake configuration
+ */
+
+#if HasDECCplusplus
+#ifndef HasCplusplus
+#define HasCplusplus YES
+#endif
+#ifndef CplusplusCmd
+#define CplusplusCmd /usr/bin/cxx
+#endif
+#ifndef CplusplusFilt
+# define CplusplusFilt /usr/bin/demangle
+#endif
+#ifndef CplusplusDependIncludes
+#define CplusplusDependIncludes -D__DECCXX -I/usr/include/cxx
+#endif
+#ifndef CplusplusLibDir
+#define CplusplusLibDir /usr/lib/cmplrs/cxx
+#endif
+#ifndef CplusplusLibC
+#define CplusplusLibC -L/usr/lib/cmplrs/cxx -lcxx
+#endif
+#ifndef CplusplusOptions
+#define CplusplusOptions -call_shared
+#endif
+#endif /* HasDECCplusplus */
+
+
+#if HasGcc2ForCplusplus
+#ifndef CplusplusLibC
+#define CplusplusLibC `$(CXX) -print-libgcc-file-name`
+#endif
+#endif /* HasGcc2ForCplusplus */
+
+#ifdef CplusplusLibDir
+# define SystemBuildLibPath \
+/usr/shlib:/usr/ccs/lib:CplusplusLibDir:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
+#else
+# define SystemBuildLibPath \
+/usr/shlib:/usr/ccs/lib:/usr/lib/cmplrs/cc:/usr/lib:/usr/local/lib:/var/shlib
+#endif
+
+#include <osfLib.rules>
+#define NoRConst YES
+
+#ifdef AlphaArchitecture
+#ifndef HasWChar32
+#define HasWChar32 YES
+#endif
+#define ServerExtraDefines -D_XSERVER64
+#define ServerOSDefines -DDDXTIME
+#ifndef DefaultCCOptions
+#define DefaultCCOptions -std1
+#endif
+#ifndef XawI18nDefines
+#define XawI18nDefines -DHAS_WCHAR_H
+#endif
+#ifndef BuildServer
+#define BuildServer NO
+#endif
+
+/* For DtHelp's TIFF processing routines. */
+#define LSBBitOrder YES
+
+#define MotifDefines -DNO_REGCOMP -DNO_REGEX -DSTRINGS_ALIGNED
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DMESSAGE_CAT
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+#define DtMailDefines \
+ -DNEED_MMAP_WRAPPER -DSENDMAIL_LOCKS -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\"
+
+#define ArchitectureDefines -DALPHA_ARCHITECTURE
+#endif
+
+#ifdef MipsArchitecture
+#define DefaultCCOptions -Xa
+#define XdecServer YES
+#define ServerOSDefines -DDDXTIME
+#define NormalLibObjCompile(options) ClearmakeOSName \
+ $(RM) $@ $*.os \ @@\
+ && $(CC) -c options $(CFLAGS) $*.c \ @@\
+ && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
+ && $(MV) $*.os $@
+#endif
+
+#if !HasClearmake
+#ifndef HasMakefileSafeInclude
+#define HasMakefileSafeInclude YES
+#endif
+#ifndef IncludeMakefile
+#define IncludeMakefile(file) @@-include file
+#endif
+#endif
+
+#ifndef ManKeywordsTarget
+#define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ catman -M $(DESTDIR)manpath -w
+#endif
+
+#define CdeTicDefines -DHAS_KNL -DHAS_KTAB
+#define CdeProjectDefines \
+ -DDEC -DMULTIBYTE -DNLS16 \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
diff --git a/nx-X11/config/cf/osfLib.rules b/nx-X11/config/cf/osfLib.rules
new file mode 100644
index 000000000..7f9a386d0
--- /dev/null
+++ b/nx-X11/config/cf/osfLib.rules
@@ -0,0 +1,163 @@
+XCOMM $Xorg: osfLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * OSF/1 shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/osfLib.rules,v 1.2 1999/01/11 05:13:08 dawes Exp $
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef SeparateSharedCompile
+#define SeparateSharedCompile NO
+#endif
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <osfLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -shared -no_archive
+#endif
+
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags /**/
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
+ cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+#ifndef PackageName(libname)
+#if ModernOSF1
+#define PackageName(libname) /**/
+#define Objects(objlist) -all objlist -none
+#else
+#define PackageName(libname) -package libname
+#define Objects(objlist) objlist
+#endif
+#endif
+#if ThreadedX && ModernOSF1 && OSMajorVersion < 4
+#define BaseShLibReqs -lc_r -lc
+#else
+#define BaseShLibReqs -lc
+#endif
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#if SeparateSharedCompile
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) PackageName($@) \ @@\
+ -soname $@ Objects(solist) \ @@\
+ $(REQUIREDLIBS) BaseShLibReqs) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+#else
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(LD) -o $@~ $(SHLIBLDFLAGS) PackageName($@) \ @@\
+ -soname $@ Objects(solist) \ @@\
+ $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+#endif /* SeparateSharedCompile */
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#if SeparateSharedCompile
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) PackageName($@) \ @@\
+ -soname $@ Objects(solist) \ @@\
+ $(REQUIREDLIBS) BaseShLibReqs) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+#else
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ $(LD) -o $@~ $(SHLIBLDFLAGS) PackageName($@) \ @@\
+ -soname $@ Objects(solist) \ @@\
+ $(REQUIREDLIBS) BaseShLibReqs @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+#endif /* SeparateSharedCompile */
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff --git a/nx-X11/config/cf/osfLib.tmpl b/nx-X11/config/cf/osfLib.tmpl
new file mode 100644
index 000000000..82b7f92b7
--- /dev/null
+++ b/nx-X11/config/cf/osfLib.tmpl
@@ -0,0 +1,53 @@
+XCOMM $Xorg: osfLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * OSF/1 shared library template
+ */
+
+XCOMM $XFree86: xc/config/cf/osfLib.tmpl,v 1.3tsi Exp $
+
+#if ThreadedX && ModernOSF1
+#if OSMajorVersion < 4
+#define SharedX11Reqs -lpthreads -lmach
+#endif
+#endif
+#define SharedOldXReqs $(LDPRELIBS) $(XONLYLIB)
+
+#if ThreadedX && ModernOSF1 && OSMajorVersion < 4
+#define SharedThreadReqs -lpthreads -lmach
+#else
+#define SharedThreadReqs /**/
+#endif
+#define SharedXtReqs $(LDPRELIBS) $(XONLYLIB) $(SMLIB) $(ICELIB) SharedThreadReqs
+#if ModernOSF1
+#define SharedXawReqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(EXTRAXAWREQS) $(XLIB)
+#else
+#define SharedXawReqs $(LDPRELIBS) $(XMULIB) $(XTOOLLIB) $(EXTRAXAWREQS) $(XLIB) -init _XawFixupVendorShell
+#endif
+#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIBS) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIBS) $(XLIB)
+#define SharedXtstReqs $(LDPRELIBS) $(XLIB)
+#define SharedSMReqs $(LDPRELIBS) $(ICELIB)
+#define SharedXpReqs $(LDPRELIBS) $(XLIB)
+#define SharedXpmReqs $(LDPRELIBS) $(XLIB)
+
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) SharedThreadReqs $(LDPOSTLIBS)
+#define SharedXmReqs $(LDPRELIBS) SharedXReqs
+#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs
+
+/* #define SharedPamReqs */
+#define SharedTtReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB) SharedThreadReqs $(CXXLIB)
+#define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtSearchReqs $(LDPRELIBS) -lm
+#define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm -liconv
+#define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) SharedXReqs -lm $(CXXLIB)
+#define SharedDtTermReqs $(LDPRELIBS) $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
+#define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lm
+#define SharedDtMailReqs $(LDPRELIBS) $(DTHELPLIB) $(DTSVCLIB) $(XMLIB) SharedXReqs -liconv -lm $(CXXLIB)
+#define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs -lm
+
+ICONVSYSLIB = -liconv
diff --git a/nx-X11/config/cf/pegasus.cf b/nx-X11/config/cf/pegasus.cf
new file mode 100644
index 000000000..0a6f53a37
--- /dev/null
+++ b/nx-X11/config/cf/pegasus.cf
@@ -0,0 +1,34 @@
+XCOMM platform: $Xorg: pegasus.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+#ifndef OSName
+#define OSName UTek 4.0
+#endif
+XCOMM operating system: OSName
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+
+#define HasNdbm YES
+#define HasVoidSignalReturn NO
+
+#define BootstrapCFlags -DM4310 -DUTEK
+#define StandardDefines -DM4310 -DUTEK -Dpegasus
+
+#if HasGcc
+/* put back all of the -Ds which -ansi removes */
+#define CcCmd gcc -ansi -fstrength-reduce -fpcc-struct-return -Dmc68000 -Dtektronix -Dutek -Dunix -Dm68k
+#endif
+
+#define BuildServer NO
+/* #define XtekServer YES */
+
+#define ServerExtraDefines -DM4310 -DM4317
+#define ServerOSDefines -DDDXTIME
+#define FontFilters BDFTOSNFFILT SHELLPATH
+#define PrimaryScreenResolution 95
+
+.DIRECTORIES: /* Turn off directory search for RCS */
+
diff --git a/nx-X11/config/cf/sco.cf b/nx-X11/config/cf/sco.cf
new file mode 100644
index 000000000..dff6a659f
--- /dev/null
+++ b/nx-X11/config/cf/sco.cf
@@ -0,0 +1,206 @@
+XCOMM platform: $Xorg: sco.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM platform: $XFree86: xc/config/cf/sco.cf,v 3.13 1997/05/24 13:46:28 dawes Exp $
+
+/*
+ * This is sco.cf, for SCO Open Server 5.0.2 and SCO UNIX.
+ * Please mail hug@netcom.com with any questions.
+ *
+ * This section is common to all versions of SCO
+ */
+
+#ifndef ScoOsMouse
+# define ScoOsMouse YES
+#endif
+
+#ifndef OSVendor
+#define OSVendor Santa Cruz Operation
+#endif
+
+#define PosixLibraries /**/
+#define Malloc0ReturnsNull YES
+#define RemoveDSDENroffMacros NO
+#define ExtraLibraries -lsocket -lmalloc -lpt
+
+#define ManSourcePath $(MANPATH)/cat.
+
+#ifndef CompressManPages
+#define CompressManPages YES
+#endif
+
+#if ScoOsMouse
+# define ServerExtraDefines -DUSE_OSMOUSE XFree86ServerDefines
+# define ServerExtraSysLibs $(CBRT) -lm -levent
+#else
+# define ServerExtraSysLibs $(CBRT) -lm
+#endif
+
+/*
+ * XBSDLIB is included with the Socket libraries, because SCO needs Xbsd
+ * as its bcopy routine doesn't handle overlapping regions. If HasSockets
+ * If HasSockets is false the XINETLIB does it for us anyway.
+ */
+#define SocketLibraries $(XBSDLIB) -lsocket
+
+#define ConnectionFlags -DLOCALCONN -DTCPCONN -DFD_SETSIZE=256
+
+#if defined(i386Sco324Architecture) || defined(i386Sco325Architecture)
+# ifndef HasSymLinks
+# define HasSymLinks YES
+# endif
+# define CompressManCmd $(COMPRESS) -v
+#else /* SCO 3.2.2 */
+# ifndef HasSymLinks
+# define HasSymLinks NO
+# endif
+# define CommpressManCmd pack
+#endif
+
+/*
+ * Due to the extra '.' chars in the SCO man pages file name we have
+ * to provide our own version of this macro.
+ */
+
+#define InstallManPageAliases(file,destdir,aliases) @@\
+install.man:: @@\
+ @(SUFFIX=`echo $(DESTDIR)destdir/file.* | cut -f3,4 -d.`; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.*; \ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \ @@\
+ $$i.$${SUFFIX})); \ @@\
+ done)
+
+/*
+ * This is the SCO Open Server 5.0.2 section. BOOTSTRAPCFLAGS is computed
+ * automatically. You can simply run make World.
+ */
+#ifdef i386Sco325Architecture
+#ifndef OSName
+#define OSName OpenServer Release 5
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 5
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 2
+#endif
+
+#define StandardDefines -Dsco -DSCO -DSYSV -Di386 -DSCO325 -DSCO324
+#ifdef HasGcc2
+# define DefaultCCOptions -melf
+# define CcCmd gcc
+# define ExtraLoadOptions -melf
+# define DefaultCDebugFlags DefaultGcc2i386Opt
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+#else
+# define DefaultCCOptions -dy
+# define CcCmd cc
+# define ExtraLoadOptions -b elf
+# define DefaultCDebugFlags -O2
+# define OptimizedCDebugFlags -O2
+#endif
+
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+#define NeedWidePrototypes NO
+#define ServerOSDefines -DDDXTIME
+#define ToolkitStringsABIOptions -intelabi
+#define ThreadedX NO
+#define HasThreadSafeAPI NO
+#define HasNdbm YES
+#define HasVFork YES
+#define HasPutenv YES
+#define ExecableScripts YES
+#define HasShadowPasswd YES
+
+#ifndef HasLibCrypt
+# define HasLibCrypt YES
+# define SpecialLibCrypt -lcrypt
+#endif
+
+#ifndef ForceNormalLib
+# define ForceNormalLib YES
+#endif
+
+#define SharedLibXmu NO
+#define SystemV YES
+#define LdCombineFlags -r
+
+#define HasLdRunPath YES
+#define HasPoll YES
+#define PatheticCpp YES
+
+#define ArCmdBase ar
+#define AsCmd as
+#define CppCmd /lib/cpp
+#define LdCmd ld
+#define LexCmd lex
+#define MakeCmd make
+#define YaccCmd yacc
+
+#include <scoLib.rules> /* minor changes to sv4Lib.rules */
+#include <sv4Lib.rules>
+
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+
+#else /* !i386Sco325Architecture */
+/*
+ * This is the SCO 3.2v4.x and SCO 3.2v2.x section
+ */
+
+/* You must manually compute BootstrapCFlags for initial build */
+
+#define OSMinorVersion 2
+
+#ifdef i386Sco324Architecture
+# define BootstrapCFlags -DSYSV -Di386 -DSCO -DSCO324
+# define OSTeenyVersion 4
+# define OSName (SCO Version 3.2.4)
+# define OSDefines -DSCO -DSCO324 -Dsco -Dsco324 -DBROKEN_FTOL \
+ -D_NO_PROTOTYPE -D_SVID
+#else
+# define BootstrapCFlags -DSYSV -Di386 -DSCO
+# define OSTeenyVersion 2
+# define OSName (SCO Version 3.2.2)
+# define OSDefines -DSCO -Dsco -DBROKEN_FTOL -DNO_PROTOTYPE \
+ -D_SVID
+#endif
+
+#ifdef i386Sco324Architecture
+/*
+ * if your gcc is compiled with STDC_VALUE=0 then change the 1 to 0
+ */
+# define GCC_STDC_VALUE 1
+# if !GCC_STDC_VALUE
+# define OSDefines -DSCO -DSCO324 -Dsco -Dsco324 -DBROKEN_FTOL \
+ -D_NO_PROTOTYPE -D_SVID -D__STDC__=1
+# undef StandardCppDefines
+# define StandardCppDefines -DUNIXCPP=1 StandardDefines
+# endif
+#endif
+
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+
+/*
+ * The user should override this in their site.def if they have the real
+ * crypt library. We default to the international crypt library here as
+ * anyone may obtain that.
+ */
+
+#ifndef HasLibCrypt
+# define HasLibCrypt YES
+# define SpecialLibCrypt -lcrypt_i
+#endif
+
+#include <svr3.cf>
+
+#endif /* SCO 3.2.4 and SCO 3.2.2 section */
+
+#ifdef i386Architecture
+#include <xorg.cf>
+#endif
+
diff --git a/nx-X11/config/cf/sco5.cf b/nx-X11/config/cf/sco5.cf
new file mode 100644
index 000000000..c6fa54bad
--- /dev/null
+++ b/nx-X11/config/cf/sco5.cf
@@ -0,0 +1,380 @@
+XCOMM $XFree86: xc/config/cf/sco5.cf,v 3.15 2003/12/19 02:05:37 dawes Exp $
+XCOMM $XdotOrg: xc/config/cf/sco5.cf,v 1.9 2005/12/20 22:30:48 alanc Exp $
+
+/*
+ * This is for SCO Open Server 5.0.6A or later. You must have the
+ * Execution Environment update (OSS646) installed on 5.0.6 (it
+ * ships standard in 5.0.7 and later), as well as the Graphics,
+ * Web and X11 (gwxlibs) package OSS631 installed, which also ships
+ * standard with 5.0.7 and later.
+ *
+ * It is suggested that you use the GNU Development Tools for compiling
+ * XFree86. Almost no testing has been done with the native development
+ * system.
+ */
+
+#ifndef OSName
+#define OSName UNIX System V/386 Open Server Release 5
+#endif
+#ifndef OSVendor
+#define OSVendor SCO-Group
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 5
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 7
+#endif
+
+/*
+ * Note: We define FD_SETSIZE here (as opposed to in ConnectionFlags) to
+ * guarantee that the same FD_SETSIZE is used. Havoc abounds if we do not
+ * do this, as some files which include sys/socket.h and sys/types.h will
+ * have different values for FD_SETSIZE.
+ *
+ * Note 2: We also define _SVID3, as this seems to enable more Streams
+ * based options which are closer to the "desired" state for X11. A by-
+ * product of this is that we get better signals too.
+ */
+
+#ifndef HasGcc2
+# define HasGcc2 YES
+#endif
+#ifndef HasGcc3
+# define HasGcc3 NO
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus YES
+#endif
+
+#ifndef HasGcc
+# if HasGcc2 || HasGcc3
+# define HasGcc YES
+# endif
+#endif
+
+/*
+ * Although OpenServer does not currently have threads, there are plans
+ * for it in the near future, and libc/libsocket are already thread
+ * safe, so use -D_REENTRANT when compiling libraries so that if an
+ * app that has either the new forthcoming threads, or one that uses
+ * GNU PTH or FSU pthreads is linked against X, that the libraries are
+ * safe at least with regards to things like errno and various _r functions.
+ */
+#ifndef LibraryCCOptions
+# define LibraryCCOptions -D_REENTRANT -DFD_SETSIZE=11000 -D_NO_STATIC -DMAXPATHLEN=1024
+#endif
+
+#ifndef UseExportLists
+# define UseExportLists NO
+#endif
+
+#define StandardDefines -DSYSV -Di386 -DSCO325 -D__SCO__
+#if HasGcc
+# define DefaultCCOptions GccWarningOptions
+# ifndef CcCmd
+# define CcCmd gcc
+# endif
+# ifndef DefaultCDebugFlags
+# define DefaultCDebugFlags -O6 -fomit-frame-pointer -march=i586 -mcpu=i586
+# endif
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O6 -fomit-frame-pointer -march=i586 -mcpu=i586
+# endif
+#else
+# ifndef CcCmd
+# define CcCmd cc -belf
+# endif
+# define DefaultCCOptions -dy
+# ifndef DefaultCDebugFlags
+# define DefaultCDebugFlags -O2
+# endif
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2
+# endif
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+
+#ifndef HasNCurses
+# define HasNCurses YES
+#endif
+#ifndef NCursesLibName
+# define NCursesLibName -lcurses
+#endif
+#ifndef TermcapLibrary
+# define TermcapLibrary -lcurses
+#endif
+
+#ifndef BuildXterm
+# define BuildXterm BuildClients
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver NO
+#endif
+
+#ifndef SCOHasGWXLIBS
+# define SCOHasGWXLIBS YES
+#endif
+
+#ifndef LogDirectory
+# define LogDirectory /var/adm
+#endif
+
+#ifndef DoLoadableServer
+# define DoLoadableServer YES
+#endif
+
+#if DoLoadableServer
+# if HasGcc
+# define SCODynamicFlags -rdynamic
+# else
+# define SCODynamicFlags -Wl,-Bexport
+# endif
+#else
+# define SCODynamicFlags /**/
+#endif
+
+#ifndef BuildFreetypeDlModule
+# define BuildFreetypeDlModule NO
+#endif
+
+#ifndef AsmDefines
+# define AsmDefines -D__ELF__ -D__PIC__
+#endif
+
+#ifndef XawI18nDefines
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+#endif
+
+#ifndef ServerExtraSysLibs
+# define ServerExtraSysLibs $(CBRT) -lm SCODynamicFlags
+#endif
+
+#ifndef ExtraLibraries
+# define ExtraLibraries -lsocket
+#endif
+
+#ifndef NeedWidePrototypes
+# define NeedWidePrototypes YES
+#endif
+
+#define SCOBuildFlags -DFD_SETSIZE=11000 -DMAXPATHLEN=1024 -DPATH_MAX=1024
+
+#define ServerExtraDefines -D_REENTRANT SCOBuildFlags -DDDXTIME XFree86ServerDefines
+
+#ifndef ThreadedX
+# define ThreadedX NO
+#endif
+
+#ifndef HasThreadSafeAPI
+# define HasThreadSafeAPI NO
+#endif
+
+#define HasNdbm YES
+#define HasVFork YES
+#define HasPutenv YES
+#define HasSnprintf NO
+#define ToolkitStringsABIOptions -intelabi
+#define HasSetenv NO
+#define HasMkstemp YES
+#define ExecableScripts YES
+#define HasShadowPasswd YES
+
+#define HasSymLinks YES
+#define HasDlopen YES
+#define HasShm YES
+#define HasStrcasecmp YES
+#define HasLdRunPath YES
+#define HasPoll YES
+
+#ifndef HasGnuMake
+# define HasGnuMake YES
+#endif
+
+#if SCOHasGWXLIBS
+# define HasExpat YES
+# define HasFreetype2 YES
+# define HasLibpng YES
+# define HasZlib YES
+# define HasFontconfig YES
+#endif
+
+#define InstallHardcopyDocs NO
+
+#define HasPerl YES
+#define HasPerl5 YES
+
+#ifndef ManSourcePath
+# define ManSourcePath $(MANPATH)/man
+#endif
+
+#define Malloc0ReturnsNull YES
+#define RemoveDSDENroffMacros NO
+
+#ifndef CompressManPages
+# define CompressManPages NO
+#endif
+
+#ifndef HasLibCrypt
+# define HasLibCrypt YES
+# define SpecialLibCrypt -lcrypt
+#endif
+
+#ifndef PosixLibraries
+# define PosixLibraries /**/
+#endif
+
+#ifndef ForceNormalLib
+# define ForceNormalLib NO
+#endif
+
+#define SharedLibXmu YES
+#define SystemV YES
+#define LdCombineFlags -r
+
+#define AvoidNullMakeCommand YES
+#define PatheticCpp YES
+
+#define MesaUseX86Asm NO
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+ $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#define ArCmdBase ar
+
+#ifndef AsCmd
+# define AsCmd CcCmd
+#endif
+
+#ifndef CppCmd
+# define CppCmd /lib/cpp
+#endif
+
+#ifndef PreProcessCmd
+# define PreProcessCmd CppCmd
+#endif
+
+#ifndef RawCppCmd
+# define RawCppCmd CppCmd
+#endif
+
+#ifndef LdCmd
+# define LdCmd CcCmd
+#endif
+
+#ifdef HasGcc2
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -shared
+# endif
+# undef LdCombineFlags
+# define LdCombineFlags -nostdlib -r
+#endif
+
+#ifndef LexCmd
+# define LexCmd /usr/gnu/bin/flex
+#endif
+
+#ifndef MakeCmd
+# define MakeCmd /usr/gnu/bin/gmake
+#endif
+
+#ifndef YaccCmd
+# define YaccCmd /usr/gnu/bin/bison -y
+#endif
+
+#ifndef InstallCmd
+# define InstallCmd /usr/gnu/bin/ginstall
+#endif
+
+#ifndef UseSeparateConfDir
+# define UseSeparateConfDir NO
+#endif
+
+#ifndef BuildHtmlManPages
+# define BuildHtmlManPages NO
+#endif
+
+#ifndef DefaultUserPath
+# define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/bin/X11:/usr/gnu/bin:/usr/local/bin:/etc
+#endif
+
+#ifndef DefaultSystemPath
+# define DefaultSystemPath /etc:/bin:/usr/bin:$(BINDIR):/usr/bin/X11
+#endif
+
+#define ConnectionFlags -DLOCALCONN -DTCPCONN -DUNIXCONN
+
+#define ExportListGenSource elistgen.usl
+#define ShlibExportListOpt(filename) Concat(-Bexport:,filename)
+
+/*
+ * These settings control the interdependence of the shared libraries.
+ * Mostly borrowed from darwinLib.tmpl.
+ */
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
+
+#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedX11Reqs $(LDPRELIB) -lsocket
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB)
+#define SharedXmReqs $(LDPRELIB) SharedXReqs
+#define SharedMrmReqs $(LDPRELIB) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIB) $(XMLIB) SharedXReqs
+
+#define ObjectFromAsmSource(src,flags) @@\
+ @@\
+src.o: src.S @@\
+ RemoveFile(src.o) @@\
+ $(CC) -c AsmDefines $(DEFINES) $(INCLUDES) flags src.S
+
+#include <scoLib.rules> /* minor changes to sv4Lib.rules */
+#include <sv4Lib.rules>
+
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/scoLib.rules b/nx-X11/config/cf/scoLib.rules
new file mode 100644
index 000000000..ddbe99d30
--- /dev/null
+++ b/nx-X11/config/cf/scoLib.rules
@@ -0,0 +1,68 @@
+XCOMM $XdotOrg: xc/config/cf/scoLib.rules,v 1.3 2005/11/08 06:33:24 jkj Exp $
+XCOMM $Xorg: scoLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/scoLib.rules,v 1.10 2003/12/18 16:38:34 dawes Exp $
+
+#ifndef UseExportLists
+# define UseExportLists YES
+#endif
+
+#ifndef SCOAbsShlibPath
+# define SCOAbsShlibPath NO
+#endif
+
+#if SCOAbsShlibPath
+# define SCOShlibFlags -h $(SHLIBDIR)/$@
+#else
+# ifndef ExtraLoadFlags
+# define ExtraLoadFlags -R $(USRLIBDIRPATH)
+# endif
+# define SCOShlibFlags -R $(SHLIBDIR) -h $@
+#endif
+
+/*
+ * SharedLibraryTarget3 - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ *
+ * Work around SCO sh enviroment size problem.
+ */
+#ifndef SharedLibraryTarget3
+#define SharedLibraryTarget3(libname,rev,solist1,solist2,solist3,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist1 solist2 solist3 $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ echo -n $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist1 " " > Concat(down/lib,cmd) @@\
+ echo -n solist2 " " >> Concat(down/lib,cmd) @@\
+ echo -n solist3 " " >> Concat(down/lib,cmd) @@\
+ echo -n $(REQUIREDLIBS) >> Concat(down/lib,cmd) @@\
+ (cd down; $(SHELL) Concat(./lib,cmd)) @@\
+ $(RM) $@ Concat(lib,tmp1) Concat(lib,tmp2) @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+#ifndef LinkWithExports
+# if UseExportLists
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist $(REQUIREDLIBS)) @@\
+ if [ -f Concat(lib,libname.elist) ]; then \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
+ $(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ fi;
+# else
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) SCOShlibFlags solist $(REQUIREDLIBS))
+# endif
+#endif
diff --git a/nx-X11/config/cf/sequent.cf b/nx-X11/config/cf/sequent.cf
new file mode 100644
index 000000000..99ba9b461
--- /dev/null
+++ b/nx-X11/config/cf/sequent.cf
@@ -0,0 +1,444 @@
+XCOMM platform: $XConsortium: sequent.cf$
+
+/*
+ * SET VERSION NUMBERS BEFORE MAKING MAKEFILES; also, you'll need to install
+ * util/scripts/bsdinstall.sh before doing a "make install"
+ */
+
+/*
+ * Version numbers are set one of two ways:
+ *
+ * If the target version is different than the machine you are building on,
+ * set the target versions using the environmental variable IMAKEINCLUDES.
+ * Example: IMAKEINCLUDES="-I. -DOSMajorVersion=4 -DOSMinorVersion=4"
+ * This is usually only done at Sequent when building a product using
+ * cross compiling tools and target headers and libraries.
+ *
+ * Otherwise, the imake will use uname(2) to calculate the default to be
+ * the same as the machine you are building on. The X11R6 imake will set
+ * DefaultOS*Version macros to be these default values.
+ * Those default values will be used in the assignments below.
+ * This is the recommended method to be used by customers.
+ */
+
+ /* defaults from imake via uname(2) */
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName V/**/OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion
+
+/*
+ * Sequent Dynix/PTX 4.x.x (SVR4) and later operating systems.
+ *
+ * Sequent Dynix/PTX 4.2.3 and later operating systems are supported with
+ * the X11R6 sequent.cf and other X11R6 configuration files.
+ * Specifically 4.4.2 and later have been tested.
+ *
+ * Attempting to use these X11R6 configuration files and X11R6 source files
+ * with early versions of Dynix/PTX 4.x.x may work, however that will not be
+ * tested or supported at Sequent.
+ * Sequent Dynix/PTX 2.1.x has been retired so support for it and earlier
+ * releases has been removed.
+ */
+
+#if OSMajorVersion >= 4
+
+#define SystemV4 YES
+#define SequentVersionDefines -DSVR4
+#define ExtraLibraries
+#define ForceNormalLib YES
+#define HasRequiredLibs YES
+#define NeedBerklib NO /* gettimeofday in libc */
+
+#define XmExtraLibraries /* for ABI-compliance do not use -lgen here */
+#define MotifDefines -DXM_STRINGS_1_2_2_STATE /* code review */
+
+/* initial port does not use multiple socket libs, default libsocket.so.1.1 */
+#define HasMultipleSockets NO /* obsolete */ /* only libsocket.so.1.1 */
+
+#endif /* OSMajorVersion >= 4 */
+
+/*
+ * Below this line are generic defines that apply to all Sequent systems.
+ * However they are currently tested with only OSMajorVersion >= 4
+ */
+
+/*
+ * The following cpp macro defines are order independent,
+ * since the right-hand-side is constant.
+ * Therefore these are simply listed in alphabetical order.
+ * Macros defined later may use these definitions.
+ */
+
+/*
+ * Threads.tmpl cpp macros.
+ * Sequent overrides the Threads.tmpl defaults with the values below.
+ * Sequent has native threads for ptx 4.5.0 and higher.
+ */
+
+#if ( OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 5) )
+
+#define HasPosixThreads YES
+#define HasThreadSafeAPI YES
+#define ThreadedX YES
+#define ThreadsLibraries /**/
+#define ThreadsCplusplusLibraries /**/
+#define ThreadPreStdAPIDefines /**/
+#define ThreadsCompileFlags -Kthread
+#define ThreadsCplusplusCompileFlags -Kthread
+#define SharedThreadReqs /**/
+
+/*
+ * THREADS macro and environment variable used with Sequent commands only.
+ * We use THREADS rather than the generic X11 THREADS_CFLAGS because we
+ * want to ensure that the macro is defined for all compiles and not just
+ * those Makefiles built from a Imakefile that includes Threads.tmpl.
+ *
+ * Sequent compiler option -Kthread will also define -D_SEQUENT_THREADS.
+ * Currently using -Kthread is the recommended interface to this define.
+ * Currently there are no extra includes files using -D_SEQUENT_THREADS.
+ * Currently no reason for makedepend or cpp to use -D_SEQUENT_THREADS.
+ * If needed in the future, we would add to ProjectThreadsDefines
+ *
+ * #define ProjectThreadsDefines -DXTHREADS -D_SEQUENT_THREADS
+ */
+
+ THREADS = -Kthread
+
+#endif /* ptx 4.5.0 or greater has threads */
+
+/*
+ * Imake.tmpl cpp macros.
+ * Sequent overrides the Imake.tmpl defaults with the values below.
+ */
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define DefaultCCOptions -Xa
+#define ExpandManNames YES
+#define ExtraFilesToClean *.z
+#define HasNdbm YES
+#define HasShadowPasswd YES
+#define HasSockets YES /* default */
+#define HasVarDirectory NO
+#ifdef UseInstalled
+#define InstallCmd $(BINDIR)/ptxinst -t "$(TOOLS)"
+#else
+#define InstallCmd $(SHELL) $(SCRIPTSRC)/ptxinst.sh
+#endif /* UseInstalled */
+#define InstPgmFlags -s -m 0555 -o bin -g bin
+#define InstBinFlags -s -m 0555 -o bin -g bin
+#define InstLibFlags -m 0444 -o bin -g bin
+#define InstShLibFlags -m 0555 -o bin -g bin
+#define Malloc0ReturnsNull YES
+#define ManSuffix 1 /* use just one tab or cpp will die */
+#define LibManSuffix 3x /* use just one tab or cpp will die */
+#define LibmanDir $(MANSOURCEPATH)3
+#define MiscManSuffix 5x /* use just one tab or cpp will die */
+#define MiscManDir $(MANSOURCEPATH)5
+#define MkdirHierCmd mkdir -p
+#define NeedConstPrototypes YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes YES
+#define NeedVarargsPrototypes YES
+#define StripInstalledPrograms YES
+#define SystemManDirectory /usr/catman
+#define TermcapLibrary -lcurses /* code review for SVR4 ? */
+#define TerminfoDir /usr/lib/terminfo /* Sequent addition */
+#define ToolkitStringsABIOptions -intelabi
+
+
+/*
+ * X11.tmpl cpp macros.
+ * Sequent overrides the X11.tmpl defaults with the values below.
+ */
+
+#define BuildDps YES
+#define BuildServer YES
+#define BuildXF86DGA NO /* DGA has no meaning on Sequent HW */
+#define BuildXF86MiscExt NO /* turn off the server portion */
+#define BuildXF86VidModeExt NO /* turn off the server portion */
+#define BuildXInputExt YES
+#define BuildXKBuilib YES /* override NO set in xorg.cf */
+#define ConnectionFlags -DTCPCONN
+#define DefaultSystemPath /bin:/etc:/usr/bin:$(BINDIR)
+#define DefaultUserPath :/bin:/usr/bin:$(BINDIR)
+#define HasPlugin YES
+#define HasXServer NO
+#define InstallFSConfig YES /* safe since we install to DESTDIR */
+#define InstallXdmConfig YES /* safe since we install to DESTDIR */
+#define MotifBC NO /* default, code review from X11R5 */
+#define XdmServersType fs /* One tab here. Needed if BuildServer YES */
+#define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
+#define XprtServer YES
+#define XVirtualFramebufferServer YES
+#define XF86SVGAServer NO /* Don't build the XFree86 servers */
+#define XF86S3Server NO
+#define XF86S3VServer NO
+#define XF86I8514Server NO
+#define XF86Mach8Server NO
+#define XF86Mach32Server NO
+#define XF86Mach64Server NO
+#define XF86P9000Server NO
+#define XF86AGXServer NO
+#define XF86I128Server NO
+#define XF86GLINTServer NO
+#define XF86REALimageServer NO
+
+/*
+ * Motif.tmpl cpp macros.
+ * Sequent overrides the Motif.tmpl default with the values below.
+ */
+
+#define GencatCmd /usr/lbin/gencat
+
+/* Port Sequent macro DontBuildMotifConfig to Motif 2.1 */
+/*
+ * #ifndef MetroLink
+ * #define DontBuildMotifConfig
+ * #endif
+ */
+
+/*
+ * Sequent added cpp macros.
+ *
+ * The following cpp macro defines have been introduced by Sequent.
+ * They will be referenced in Sequent patches sent to TOG.
+ * They may be moved above if accepted by TOG or X.org.
+ */
+
+#define AdminBaseDir /usr/admin.ptx/etc/base.dir
+#define MessageCatDir /usr/lib/message/C
+#define NeedXinputAlias YES
+#define UseHidesymsLists YES
+#define XlbiffMailPath /usr/mail/%s /* used by contrib xlbiff */
+
+/*
+ * Imake.tmpl, X11.tmpl, or other order dependent cpp defines.
+ *
+ * The following cpp macro defines are order dependent.
+ * They depend on previously defined cpp macros.
+ * Do not change the order.
+ */
+#define SharedLibraryCCOptions DefaultCCOptions
+#define StandardDefines SequentVersionDefines -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DANSICPP -DDYNIX_C2 -DMetroLink
+#define StandardCppDefines StandardDefines -D_SOCKET_VERSION=11 -DUnixCpp
+
+#ifdef ProjectRoot
+#define ManDirectoryRoot ProjectRoot/**//catman
+#else
+#define ManDirectoryRoot SystemManDirectory
+#endif
+#define XmanSearchPath ManDirectoryRoot /* for X11R5 xman */
+
+/*
+ * Sequent configuration environment specific to building X11 and Motif.
+ * This environment is only available when UseInstalled is not defined.
+ * Therefore this environment is not used by customers using xmkmf.
+ */
+
+#ifndef UseInstalled
+
+/* Product builds using local X11 and Motif trees */
+
+/*
+ * Provide libraries needed by nonX programs in the X11 build tree.
+ * These are not standard so the customer will be forced to add them to their
+ * Imakefile SYS_LIBRARIES if needed. An ABI program may not want or need them,
+ * so we do not include them in the ExtraLibraries provided to customers
+ * when UseInstalled is defined. We add them here as a convenience when
+ * building the entire X11 tree (at Sequent or the contractor).
+ */
+#undef ExtraLibraries
+#define ExtraLibraries -lsocket -lnsl
+
+/*
+ * Sequent builds X11 and Motif in the same tree.
+ * The Motif project files include the X11 project files.
+ *
+ * Later we may use the Local project files similer the the lynx.cf
+ *
+ * #define LocalTmplFile <Motif.tmpl>
+ * #define LocalRulesFile <Motif.rules>
+ */
+
+/* Try the Metro Link method. */
+
+#ifndef MetroLink
+#undef ProjectTmplFile
+#define ProjectTmplFile <Motif.tmpl>
+#undef ProjectRulesFile
+#define ProjectRulesFile <Motif.rules>
+#endif
+
+/*
+ * Later change to Metro Link directory layout,
+ * or allow $(TOP)/../motif21
+ */
+
+/* Try the Metro Link method. */
+
+#ifndef MetroLink
+#define MTop $(TOP)/motif21
+#endif
+
+/*
+ * Set the Program macros to be correct for the target machine.
+ * This will avoid using any crosstools as hardwired strings
+ * built into binaries that will run on the target machine.
+ *
+ * These macro names need to be ported from X11R5 to X11R6.
+ */
+#define ArProgramBase ar
+#define CppProgram /lib/cpp
+#define CcProgram cc
+#define RanlibProgram ranlib
+
+/*
+ * Build all the X11 debug libaries *_d.a for use by Sequent Service
+ */
+
+/*
+ * Set DebugLibDefault YES for Sequent to build all debug libs.
+ * If we move this to generic code to *.tmpl files,
+ * use the default code below that sets the default NO
+ */
+
+#define DebugLibDefault NO
+
+#ifndef DebugLibDefault
+#define DebugLibDefault NO
+#endif
+
+#define DebugLibX11 DebugLibDefault /* debugged X library */
+#define DebugLibXext DebugLibDefault /* debugged Xext library */
+#define DebugLibXau DebugLibDefault /* debugged auth library */
+#define DebugLibXdmcp DebugLibDefault /* debugged XDMCP library */
+#define DebugLibXmu DebugLibDefault /* debugged Xmu library */
+#define DebugLibXp DebugLibDefault /* debugged Xp library */
+#define DebugLibXt DebugLibDefault /* debugged toolkit library */
+#define DebugLibXa DebugLibDefault /* debugged audio library */
+#define DebugLibXaw DebugLibDefault /* debugged widget library */
+#define DebugLibXi DebugLibDefault /* debugged Xi library */
+#define DebugLibXtst DebugLibDefault /* debugged Xtst library */
+#define DebugLibICE DebugLibDefault /* debugged ICE library */
+#define DebugLibSM DebugLibDefault /* debugged SM library */
+#define DebugLibXkey DebugLibDefault /* debugged Xkey library */
+#define DebugLibFS DebugLibDefault /* debugged FS library */
+
+/*
+ * Build all the Motif debug libaries *_d.a for use by Service
+ */
+#define DebugLibXm DebugLibDefault
+#define DebugLibMrm DebugLibDefault
+#define DebugLibUil DebugLibDefault
+
+/*
+ * Build all the Adobe DPS debug libaries *_d.a for use by Service
+ */
+#define DebugLibDps DebugLibDefault
+
+#endif /* ! UseInstalled */
+
+/*
+ * Sequent general make macros.
+ * X11R6.5 should migrate these to Imake.tmpl.
+ */
+
+XCOMM Sequent general make macros.
+
+#ifndef PackCmd
+#define PackCmd pack
+#endif
+ PACK = PackCmd
+
+/*
+ * Sequent unique make macros. These will always be unique to Sequent.
+ * We introduce them here in sequent.cf since cpp macros are set in sequent.cf.
+ * We may later move them to sequentLib.tmpl.
+ */
+
+XCOMM Sequent unique make macros.
+
+ ADMINBASEDIR = AdminBaseDir
+ MESSAGECATDIR = MessageCatDir
+
+/*
+ * DPS default values (unique to sequent)
+ */
+#ifndef PswrapCmd
+#define PswrapCmd pswrap
+#endif
+
+#ifdef UseHidesymsLists
+
+#ifndef HidesymsCmd
+#define HidesymsCmd /usr/lib/hidesyms/hidesyms
+#endif
+#ifndef HsAcppCmd
+#define HsAcppCmd /lib/acpp
+#endif
+/*
+ * When building in the X11 tree.
+ * For shared libs, hidesyms executes in a subdir.
+ * For unshared libs, hidesyms executes in a subsubdir.
+ * Therefore we add both of these to the acpp path:
+ * ../../$(BUILDINCROOT)/lib/hidesyms:../$(BUILDINCROOT)/lib/hidesyms
+ */
+#ifndef HsAcppLocalPath
+# define HsAcppLocalPath ../../$(BUILDINCROOT)/lib/hidesyms:../$(BUILDINCROOT)/lib/hidesyms
+#endif
+#ifndef HsAcppSystemPath
+# define HsAcppSystemPath /usr/lib/hidesyms
+#endif
+#ifndef HsAcppPath
+# ifdef UseInstalled
+# define HsAcppPath HsAcppSystemPath
+# else
+# define HsAcppPath HsAcppLocalPath:HsAcppSystemPath
+# endif /* UseInstalled */
+#endif
+/*
+ * note: -DABI_SHARED_OBJECT requires a temporary fix added to
+ * Xt/Error.c to provide missing _abi_* routines not in libc.so.1.
+ * When the base adds those missing _abi_* to libc.so.1,
+ * then the code in Xt/Error.c can be removed and the corresponding
+ * symbols added to Xt/libXt.hs can be removed.
+ */
+#ifndef HsAcppDefines
+#define HsAcppDefines -DABI_SHARED_OBJECT -D_SOCKET_VERSION=11 $(THREADS_DEFINES)
+#endif
+
+/*
+ * For shared libs, hidesyms executes in a subdir,
+ * therefore we add a -L../$(BUILDLIBDIR)
+ */
+#ifndef LdPreLib
+#ifndef UseInstalled
+#define LdPreLib -L$(BUILDLIBDIR) -L../$(BUILDLIBDIR)
+#endif
+#endif
+
+XCOMM HIDESYMS is for filtering system library symbols.
+
+ HIDESYMS = HidesymsCmd
+ HSACPPPATH = HsAcppPath
+ HSACPPCMD = HsAcppCmd
+ HSACPPDEFINES = HsAcppDefines
+ HSACPP = $(HSACPPCMD) -Y $(HSACPPPATH) $(HSACPPDEFINES)
+ HSCMD = $(HIDESYMS) -z -p "$(HSACPP)"
+
+#endif /* UseHidesymsLists */
+
+#if OSMajorVersion >= 4
+#include <xorg.cf>
+#include <sequentLib.rules> /* include after macros, before Motif.rules */
+#endif /* OSMajorVersion >= 4 */
diff --git a/nx-X11/config/cf/sequentLib.rules b/nx-X11/config/cf/sequentLib.rules
new file mode 100644
index 000000000..7f77e3feb
--- /dev/null
+++ b/nx-X11/config/cf/sequentLib.rules
@@ -0,0 +1,323 @@
+XCOMM $Xorg: sequentLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * SVR4 shared library rules
+ */
+
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+# define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+# define ShLibIncludeFile <sequentLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+/* Sequent may need to implement the X11R5 HasMultipleSockets ? */
+# if HasMultipleSockets
+# define SharedLibraryLoadFlags -G -z text $(DEFAULTSOCKETLDOPTIONS)
+# define ExtraLoadOptions $(DEFAULTSOCKETLDOPTIONS)
+# else
+/* # define SharedLibraryLoadFlags -G -z text */
+# define SharedLibraryLoadFlags -G
+# define ExtraLoadOptions
+# endif
+#endif
+#ifndef PositionIndependentCFlags
+# if HasGcc2
+# define PositionIndependentCFlags -fpic
+# else
+# define PositionIndependentCFlags -K PIC
+# endif
+#endif
+#ifndef PositionIndependentCplusplusFlags
+# if HasGcc2ForCplusplus
+# define PositionIndependentCplusplusFlags -fpic
+# else
+# define PositionIndependentCplusplusFlags -K PIC
+# endif
+#endif
+#ifndef UseExportLists
+# define UseExportLists NO
+#endif
+#ifndef UseHidesymsLists
+# define UseHidesymsLists NO
+#endif
+
+#if UseHidesymsLists
+
+#ifndef BuildHidesyms
+#define BuildHidesyms(libname) @@\
+includes:: @@\
+ MakeDir($(BUILDLIBDIR)/hidesyms) @@\
+ @( if [ -f Concat(lib,libname.hs) ]; \ @@\
+ then \ @@\
+ (set -x; cd $(BUILDLIBDIR)/hidesyms && \ @@\
+ RemoveFile(Concat(lib,libname.hs)) && \ @@\
+ $(LN) $(BUILDLIBTOP)/../$(CURRENT_DIR)/Concat(lib,libname.hs) .); \ @@\
+ fi; )
+#endif /* BuildHidesyms */
+
+/*
+ * InstallHidesyms - install library hidesyms directive file. (Sequent only)
+ * Logic cloned from InstallNonExecFile.
+ * We do not list the hidesyms directive file as a dependency since it
+ * may not exist.
+ */
+#ifndef InstallHidesyms
+#define InstallHidesyms(libname) @@\
+install:: @@\
+ MakeDir($(DESTDIR)/usr/lib/hidesyms) @@\
+ @( if [ -f Concat(lib,libname.hs) ]; then \ @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) Concat(lib,libname.hs) $(DESTDIR)/usr/lib/hidesyms; fi; )
+#endif /* InstallHidesyms */
+
+/*
+ * InstallLibrary - generate rules to install the indicated library.
+ *
+ * Sequent includes an extra "install::" target to install hidesyms files
+ * and an extra "includes::" target to export library hidesyms files.
+ * Therefore whenever InstallLibrary is expanded the hidesyms targets
+ * will also be expanded. This avoids changes to generic cf *.tmpl files.
+ */
+#ifndef InstallLibrary
+#define InstallLibrary(libname,dest) @@\
+install:: LibraryTargetName(libname) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) LibraryTargetName(libname) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) $(DESTDIR)dest/LibraryTargetName(libname)) @@\
+ @@\
+InstallHidesyms(libname) @@\
+ @@\
+BuildHidesyms(libname)
+#endif /* InstallLibrary */
+
+/*
+ * Sequent additions to MakeLibrary for filtering objects
+ * with hidesyms before making a normal archive library.
+ */
+
+#ifndef MakeLibrary
+#define MakeLibrary(libname,objlist) ( $(RM) -r tmp_hs ; \ @@\
+ LIBNAME_HS=`dirname libname`/`basename libname .a`.hs ; \ @@\
+ (if [ -f $$LIBNAME_HS ]; \ @@\
+ then \ @@\
+ LIBNAME_AR=../libname; \ @@\
+ $(MKDIRHIER) tmp_hs && \ @@\
+ $(CP) *.o tmp_hs && \ @@\
+ cd tmp_hs && \ @@\
+ $(HSCMD) -i ../$$LIBNAME_HS *.o ; \ @@\
+ else \ @@\
+ LIBNAME_AR=libname; \ @@\
+ fi; \ @@\
+ $(AR) $$LIBNAME_AR objlist ) ;\ @@\
+ $(RM) -r tmp_hs )
+#endif
+
+#endif /* UseHidesymsLists */
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTSHLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
+ $(LN) Concat(lib,libname.so.rev) Concat($(DESTDIR)dest/lib,libname.so)
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+#ifndef LinkWithExports
+# if UseHidesymsLists
+# define LinkWithExports(libname,rev,solist,down,up) \
+ $(RM) -r tmp_hs @@\
+ ( if [ -f Concat(lib,libname.hs) ]; \ @@\
+ then \ @@\
+ LIBNAME_SO=../$@~; \ @@\
+ mkdir tmp_hs; \ @@\
+ cd down; \ @@\
+ $(CP) *.o up/tmp_hs && \ @@\
+ cd up/tmp_hs && \ @@\
+ $(HSCMD) -i ../Concat(lib,libname.hs) *.o; \ @@\
+ else \ @@\
+ LIBNAME_SO=up/$@~; \ @@\
+ cd down; \ @@\
+ fi; \ @@\
+ $(CCENVSETUP) $(LD) -o $$LIBNAME_SO $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS) ) @@\
+ $(RM) -r tmp_hs
+# else
+# if UseExportLists
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS)) @@\
+ if [ -f Concat(lib,libname.elist) ]; then \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
+ $(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ fi;
+# else
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS))
+# endif /* UseExportLists */
+# endif /* UseHidesymsLists */
+#endif
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ LinkWithExports(libname,rev,solist,down,up) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+/*
+ * Sequent does not use the InstallManPageAliases rule.
+ * Sequent customer installation procedure uses makealiases(1M)
+ * after the initial product manpages are installed in system directories.
+ */
+#define InstallManPageAliases(file,destdir,aliases) /* use makealiases(1M) */
+
+/*
+ * Man pages need to be formatted when installed, so override the default
+ * imake rules.
+ */
+#if defined(UseInstalled)
+MANCAT = cat
+#else
+MANCAT = sed -f $(CONFIGSRC)/util/installman.sed
+#endif
+
+#define InstallManPageLong(file,destdir,dest) @@\
+all:: file.$(MANSUFFIX).z @@\
+ @@\
+file.$(MANSUFFIX).z:: file.man @@\
+ @if [ -f file.man ]; \ @@\
+ then \ @@\
+ $(MANCAT) file.man | $(NEQN) | \ @@\
+ $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > file.$(MANSUFFIX); \ @@\
+ $(RM) file.$(MANSUFFIX).z; \ @@\
+ $(PACK) -f file.$(MANSUFFIX); \ @@\
+ fi @@\
+ @@\
+file.man:: @@\
+ @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ @if [ -f file.$(MANSUFFIX).z ]; \ @@\
+ then \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.$(MANSUFFIX).z $(DESTDIR)destdir/dest.$(MANSUFFIX).z; \@@\
+ fi
+
+#define InstallMultipleManSuffix(list,dest,suff) @@\
+install.man:: @@\
+ MakeDir($(DESTDIR)dest) @@\
+ MakeFlagsToShellFlags(i,set +e); \ @@\
+ @for i in list; do \ @@\
+ (set -x; \ @@\
+ $(MANCAT) $$i.suff | $(NEQN) | \ @@\
+ $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$i.suff; \ @@\
+ $(PACK) -f /tmp/$$i.suff; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i.suff.z $(DESTDIR)dest/$$i.$(MANSUFFIX).z; \ @@\
+ $(RM) /tmp/$$i.suff.z); \ @@\
+ done
+
+#define InstallMultipleMan(list,dest) @@\
+ InstallMultipleManSuffix(list,dest,man)
+
+/*
+ * InstallMotifManPage relies on the fact that all the
+ * Imakefiles where it is used (or Makefile default value)
+ * will correctly define MANSUFFIX which may be
+ * either "section" or "section"x.
+ * Since we rely on MANSUFFIX being defined correctly in each Makefile
+ * we can also rely on MANDIR = $(MANSOURCEPATH)section
+ *
+ * CAUTION:
+ * The source file "file.section" may have the same name as
+ * the target file "file.$(MANSUFFIX)" so we must use temporary files
+ * so that we do not overwrite "file.section".
+ */
+#define InstallMotifManPage(file,section) @@\
+all:: file.$(MANSUFFIX).z @@\
+ @@\
+file.$(MANSUFFIX).z: file.section @@\
+ @$(MANCAT) file.section | $(NEQN) | \ @@\
+ $(TBL) | $(NROFF) $(MANMACROS) | $(COL) > /tmp/file.man; \ @@\
+ $(RM) /tmp/file.man.z; \ @@\
+ $(PACK) -f /tmp/file.man; \ @@\
+ $(CP) /tmp/file.man.z file.$(MANSUFFIX).z; \ @@\
+ $(RM) /tmp/file.man.z @@\
+ @@\
+install.man:: file.$(MANSUFFIX).z @@\
+ MakeDir($(DESTDIR)$(MANDIR)) @@\
+ $(INSTALL) -c $(INSTMANFLAGS) file.$(MANSUFFIX).z $(DESTDIR)$(MANDIR)/file.$(MANSUFFIX).z
+
+/*
+ * The Real_MessageCatalogRule defined in Motif.rules does not
+ * install the generated catalog file. This rule adds an install
+ * clause to do that.
+ */
+#define Real_MessageCatalogRule(prefix) @@\
+prefix.cat Concat(prefix,MsgCatI.h): @@\
+ $(RM) Concat(prefix,MsgCatI.h) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
+ $(MKCATTOOL) Concat(prefix,MsgCatI.h) prefix.msg > $(MLOCSRC)/C/msg/prefix.msg @@\
+ $(GENCAT) prefix.cat $(MLOCSRC)/C/msg/prefix.msg @@\
+ @@\
+includes:: prefix.cat Concat(prefix,MsgCatI.h) @@\
+ @@\
+depend:: prefix.cat Concat(prefix,MsgCatI.h) @@\
+ @@\
+all:: prefix.cat @@\
+ @@\
+install:: prefix.cat @@\
+ MakeDir($(DESTDIR)$(MESSAGECATDIR)) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) prefix.cat $(DESTDIR)$(MESSAGECATDIR)/prefix.cat @@\
+ $(RM) $(DESTDIR)$(MESSAGECATDIR)/prefix @@\
+ $(LN) prefix.cat $(DESTDIR)$(MESSAGECATDIR)/prefix @@\
+ MakeDir($(DESTDIR)$(NLSDIR)) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) prefix.cat $(DESTDIR)$(NLSDIR)/prefix.cat @@\
+ $(RM) $(DESTDIR)$(NLSDIR)/prefix @@\
+ $(LN) prefix.cat $(DESTDIR)$(NLSDIR)/prefix @@\
+ @@\
+clean:: @@\
+ $(RM) prefix.cat Concat(prefix,MsgCatI.h)
+
diff --git a/nx-X11/config/cf/sgi.cf b/nx-X11/config/cf/sgi.cf
new file mode 100644
index 000000000..70e727c60
--- /dev/null
+++ b/nx-X11/config/cf/sgi.cf
@@ -0,0 +1,318 @@
+XCOMM platform: $Xorg: sgi.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/sgi.cf,v 1.12tsi Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#if OSMajorVersion < 4
+/* We do not guarantee this will work */
+#define BootstrapCFlags -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
+#define StandardDefines -DX_WCHAR -DX_LOCALE -DX_USEBFUNCS -DSYSV
+#define SetTtyGroup NO
+#else
+#define HasPlugin YES
+#define SetTtyGroup YES
+#define ExtraFilesToClean so_locations
+#endif
+
+#if OSMajorVersion < 5
+#define SystemV YES
+#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#else
+#define BootstrapCFlags -DSVR4
+#define StandardDefines -DSVR4
+#define SystemV4 YES
+#define HasWChar32 YES
+#define HasVFork NO
+#if OSMajorVersion < 6
+#define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+#else
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+#define HasSetenv NO
+#define HasSnprintf YES
+#endif
+#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+#ifndef ExtraLoadFlags
+#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH)
+#endif
+#endif
+
+/*
+ * To build 64-bit binaries define Mips64Architecture in your site.def or
+ * host.def file. This is usually on done at the X Consortium to test
+ * big endian 64-bit cleanliness.
+ * To build 32-bit binaries using the old 32-bit mode, define
+ * NoMipsN32Archtecture in your site.def or host.def file.
+ * Otherwise the default is to use the "new 32" mode as requested by SGI.
+ */
+#ifndef MipsN32Architecture
+#if !defined(Mips64Architecture) && !defined(NoMipsN32Architecture)
+#define MipsN32Architecture YES
+#endif
+#endif
+
+#ifdef Mips64Architecture
+# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY64_PATH
+# define SystemBuildLibPath /usr/lib64:/lib64
+# define LdCmd ld -64
+# define AsCmd as -64
+#elif defined(MipsN32Architecture)
+# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARYN32_PATH
+# define SystemBuildLibPath /usr/lib32:/lib32
+# define LdCmd ld -n32
+# define AsCmd as -n32
+#else
+# define BuildLibPathVar _RLD_ROOT=/dev/null LD_LIBRARY_PATH
+# define SystemBuildLibPath /usr/lib:/lib
+# define LdCmd ld -32
+# define AsCmd as -32
+#endif
+#define HasCplusplus YES
+#define Malloc0ReturnsNull YES /* IRIX [56].x -lmalloc needs this */
+#define HasPutenv YES
+#define ExecableScripts YES
+#define HasNdbm YES
+#define HasPoll YES
+#define ExpandManNames YES
+#define LexLib /* Not needed */
+#ifndef BuildXInputExt
+#define BuildXInputExt YES
+#endif
+
+#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
+#define NeedVarargsPrototypes YES
+#define NeedConstPrototypes YES
+#define NeedWidePrototypes NO
+#endif
+
+#include <sgiLib.rules>
+
+#if OSMajorVersion < 5
+#define SymbolTables -Wf,-XNp16000,-XNd16000,-XNh2000
+#define ServerSymbolTables -Wf,-XNp8000,-XNh2000,-XNd8000
+#else
+#define SymbolTables
+#define ServerSymbolTables
+#endif
+
+/* this is for floating point, ANSI cpp */
+#if OSMajorVersion < 5
+/* Extra libraries provide : yp, sysV malloc, shared libc, and widechar */
+# define ExtraLibraries -lsun -lmalloc -lc_s -lw
+# define sgiCCOptions -xansi -D__STDC__=1 -float
+#else
+# if OSMajorVersion < 6
+# define sgiCCOptions -xansi
+# else
+# define CppCmd cc -E -cckr
+# ifdef Mips64Architecture
+/* set Mips64Architecture in host.def. Usually don't need it but we
+ * (the X Consortium) want a 64-bit big-endian machine to test on. */
+# define sgiCCOptions -xansi -mips3 -64
+# define DlLibrary /**/
+# elif defined(MipsN32Architecture)
+/* Set MipsN32Architecture to build "new" 32-bit objs with a 32-bit kernel. */
+# define sgiCCOptions -xansi -mips3 -n32
+# else
+# define sgiCCOptions -xansi -32
+# endif
+# if OSMinorVersion == 2
+/* if you haven't installed patch 1361, 1403, or 1645 on IRIX 6.2 then you
+ * must add "#define HasPosixThreads NO" in your site.def or host.def file
+ */
+# ifndef HasPosixThreads
+# define HasPosixThreads YES
+# endif
+# define ThreadedX HasPosixThreads
+# define ThreadsLibraries -lpthread
+/*
+ * Add "#define HasSgiThreadsPatch1403 YES" to your site.def or host.def if
+ * that's which patch you have.
+ */
+# ifndef HasSgiThreadsPatch1403
+# define HasSgiThreadsPatch1403 NO
+# endif
+# if (HasSgiThreadsPatch1403)
+# define SystemMTDefines -D_POSIX_THREAD_SAFE_FUNCTIONS
+# endif
+# endif
+# endif
+/* SGI's -lsocket -lnsl is broken, at least in 5.2, so override here */
+# define ExtraLibraries /**/
+#endif
+
+/* IRIX 6.5 doesn't support IPv6, but #define's AF_INET6. Go figure... */
+#ifndef BuildIPv6
+#define BuildIPv6 NO
+#endif
+
+#undef BuildXF86DRI
+#define BuildXF86DRI NO
+
+#if !HasGcc
+#if !defined(OptimizedCDebugFlags)
+#if defined(MipsN32Architecture) || defined(Mips64Architecture)
+#define OptimizedCDebugFlags -O -OPT:Olimit=0
+#else
+#define OptimizedCDebugFlags -O -Olimit 2048
+#endif
+#endif
+#if !defined(RawCppCmd)
+#define RawCppCmd CppCmd
+#endif
+#endif
+
+#ifndef DefaultCCOptions
+#define DefaultCCOptions sgiCCOptions SymbolTables
+#endif
+#ifndef ServerCCOptions
+#define ServerCCOptions sgiCCOptions ServerSymbolTables
+#endif
+#ifndef DefaultCplusplusOptions
+#define DefaultCplusplusOptions DefaultCCOptions
+#endif
+
+/* For SGI C++ compiler, need to search extra dirs in make depend */
+#ifndef CplusplusDependIncludes
+#define CplusplusDependIncludes -I/usr/include/CC
+#endif
+
+/* At SGI, we don't need this */
+#define ConstructMFLAGS NO /* build MFLAGS from MAKEFLAGS */
+
+/* Used only for compressed fonts */
+#define UNCOMPRESSPATH /usr/bsd/uncompress /* obsolete */
+
+/* Normally used only to conditionally chose the default font path order */
+#define PrimaryScreenResolution 96
+
+/* Override Imake.tmpl's "-X" flag */
+#define LdCombineFlags -r
+
+/* Installation Build Parameters */
+#define InstKmemFlags -m 2711 -g sys
+
+#define ArCmd ar scq
+
+/* for xdm or anyone else to use */
+#define DefaultUserPath :/usr/sbin:/usr/bsd:/usr/bin:/bin:$(BINDIR):/etc:/usr/etc
+#define DefaultSystemPath /usr/sbin:/usr/bsd:/bin:/etc:/usr/bin:/usr/etc:$(BINDIR)
+
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+
+#ifndef ServerExtraDefines
+#ifndef Mips64Architecture
+#define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines \
+ XFree86ServerDefines
+#else
+#define ServerExtraDefines -DNEED_LINEHELPER AllocateLocalDefines \
+ XFree86ServerDefines -D_XSERVER64
+#endif
+#endif
+
+/* Changed to a single shell command for pmake/smake */
+#if OSMajorVersion < 5
+/*
+ * NormalLibObjCompile - compile fragment for a library object file
+ * do ld -x to remove line number symbols for libraries
+ */
+#define NormalLibObjCompile(options) ClearmakeOSName \
+ $(RM) $@ $*.os \ @@\
+ && $(CC) -c options $(CFLAGS) $*.c \ @@\
+ && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
+ && $(MV) $*.os $@
+#endif
+
+#define LibObjCompile(dir,options) ClearmakeOSName \
+ $(RM) $@ dir/$@ \ @@\
+ && $(CC) -c $(CCOPTIONS) $(ALLDEFINES) options $*.c \ @@\
+ && $(MV) $@ dir/$@
+
+#ifndef HasMakefileSafeInclude
+#define HasMakefileSafeInclude YES
+#endif
+#ifndef IncludeMakefile
+#define IncludeMakefile(file) @@sinclude file
+#endif
+
+/* needs to find nroff on the system to work */
+#ifndef ManKeywordsTarget
+#define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ /usr/lib/makewhatis -M $(DESTDIR)manpath $(DESTDIR)manpath/whatis
+#endif
+
+#define MotifDefines -DSYS_DIR -DPORT_NOVFORK -DNO_REGCOMP
+
+#if !defined(HasGcc) || !HasGcc
+
+#ifndef CppFileTarget
+#define CppFileTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CPP) CppNoLineInfoOption defs src 2>/dev/null | CppSedMagic >$@; @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#endif /* CppFileTarget */
+
+#ifndef CppScriptTarget
+#if ExecableScripts /* can use #! instead of colon */
+#define CppScriptTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(CPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\
+ chmod a+x $@ @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#else
+#define CppScriptTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ echo \: >$@ @@\
+ sed '1d' src | $(CPP) CppNoLineInfoOption defs | CppSedMagic >>$@ @@\
+ chmod a+x $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst)
+#endif /* ExecableScripts */
+#endif /* CppScriptTarget */
+
+/* Like CppFileTarget, but don't add any default defines */
+#ifndef CppRawFileTarget
+#define CppRawFileTarget(dst,src,defs,deplist) @@\
+dst:: src deplist @@\
+ RemoveFile($@) @@\
+ ClearmakeOSName \
+ $(RAWCPP) CppNoLineInfoOption defs src | CppSedMagic >$@ @@\
+ @@\
+clean:: @@\
+ RemoveFiles(dst)
+#endif /* CppFileTarget */
+
+#endif /* !HasGcc */
+
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#include <xorg.cf>
diff --git a/nx-X11/config/cf/sgiLib.rules b/nx-X11/config/cf/sgiLib.rules
new file mode 100644
index 000000000..2d5cd7dfd
--- /dev/null
+++ b/nx-X11/config/cf/sgiLib.rules
@@ -0,0 +1,204 @@
+XCOMM $Xorg: sgiLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XFree86: xc/config/cf/sgiLib.rules,v 1.3 2000/06/15 20:49:56 dawes Exp $
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#if OSMajorVersion < 5
+#ifndef SharedDataSeparation
+#define SharedDataSeparation YES
+#endif
+#define SharedCodeDef -DSHAREDCODE
+#define SharedLibraryDef -DATTSHAREDLIB
+#define PositionIndependentCFlags -G 0
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we don't hose people by having
+ * the library gone for long periods.
+ */
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat3(lib,libname,_s)) @@\
+ @@\
+Concat3(lib,libname,_s): sharedlib.o solist Concat(lib,libname.spec) $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@ $@.a \ @@\
+ && cd down \ @@\
+ && mkshlib -s Concat(up/lib,libname.spec) -t up/$@ -h up/$@.a \ @@\
+ && ar rs up/$@.a sharedlib.o @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary($@.a) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat3(lib,libname,_s) Concat3(lib,libname,_s.a)
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat3(lib,libname,_s)) @@\
+ @@\
+Concat3(lib,libname,_s): deplist sharedlib.o Concat(lib,libname.spec) $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@ $@.a \ @@\
+ && cd down \ @@\
+ && mkshlib -s Concat(up/lib,libname.spec) -t up/$@ -h up/$@.a \ @@\
+ && ar rs up/$@.a sharedlib.o @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary($@.a) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat3(lib,libname,_s) Concat3(lib,libname,_s.a)
+
+#define SharedLibraryDataTarget(libname,rev,salist)
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat3(lib,libname,_s) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat3(lib,libname,_s) $(DESTDIR)dest
+
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#define InstallSharedLibraryData(libname,rev,dest) @@\
+InstallTarget(install,Concat3(lib,libname,_s.a),$(INSTLIBFLAGS),dest)
+
+#else /* OSMajorVersion >= 5 */
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <sgiLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#if OSMajorVersion < 6
+#define SharedLibraryLoadFlags -shared
+#else
+#ifndef Mips64Architecture
+#define SharedLibraryLoadFlags -shared
+#else
+#define SharedLibraryLoadFlags -shared -mips3
+#endif
+#endif
+#endif
+/* -KPIC is redundant, PIC is always used unless you specify -non_shared */
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -KPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -KPIC
+#endif
+
+/*
+ * SGI's cc passes an undocumented flag to ld that causes it to look for
+ * -lX11 and force use of libX11.so.1. And it can't be turned off. Sigh.
+ * So we install one of those, too, in the shared library install target.
+ */
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so) @@\
+ cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so) @@\
+ if [ "libname" = X11 ]; then \ @@\
+ RemoveFile(Concat($(DESTDIR)dest/lib,libname.so.1)); \ @@\
+ cd $(DESTDIR)dest; $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so.1);\ @@\
+ fi
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+
+/*
+ * SGI's cc passes an undocumented flag to ld that causes it to look for
+ * -lX11 and force use of libX11.so.1. Sigh. So we make one of those, too,
+ * in the shared library build target.
+ */
+
+#ifndef sgiX11soHack
+#ifdef UseInstalled
+#define sgiX11soHack(libname) /**/
+#else
+#define sgiX11soHack(libname) if [ "libname" = X11 ]; then \ @@\
+ RemoveFile($(BUILDLIBDIR)/Concat(lib,libname.so.1)); \ @@\
+ cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/$@ Concat(lib,libname.so.1); \ @@\
+ fi
+#endif
+#endif /* sgiX11soHack */
+
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -soname $@ solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ sgiX11soHack(libname) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so) so_locations
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(CCENVSETUP) $(LD) -o up/$@~ $(SHLIBLDFLAGS) -soname $@ solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ $(RM) Concat(lib,libname.so) @@\
+ $(LN) $@ Concat(lib,libname.so) @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibrary(Concat(lib,libname.so)) @@\
+ sgiX11soHack(libname) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so) so_locations
+
+#endif /* SharedDepLibraryTarget */
+
+#endif /* OsMajorVersion < 5 else */
diff --git a/nx-X11/config/cf/sgiLib.tmpl b/nx-X11/config/cf/sgiLib.tmpl
new file mode 100644
index 000000000..7ef4f1494
--- /dev/null
+++ b/nx-X11/config/cf/sgiLib.tmpl
@@ -0,0 +1,18 @@
+XCOMM $Xorg: sgiLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM $XFree86: xc/config/cf/sgiLib.tmpl,v 3.3tsi Exp $
+
+/*
+ * SGI shared library template
+ */
+#define SharedXtReqs $(LDPRELIBS) $(XONLYLIB) -delay_load $(SMLIB) -delay_load $(ICELIB)
+#define SharedXmuReqs $(LDPRELIBS) $(XTOOLONLYLIB)
+#define SharedXpReqs $(LDPRELIBS) $(XLIB)
+
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) -lgen
+#define SharedXmReqs $(LDPRELIBS) SharedXReqs
+#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs
diff --git a/nx-X11/config/cf/site.def b/nx-X11/config/cf/site.def
new file mode 100644
index 000000000..2d8c4ba48
--- /dev/null
+++ b/nx-X11/config/cf/site.def
@@ -0,0 +1,148 @@
+XCOMM site: $TOG: site.sample /main/r64_final/1 1998/02/05 16:28:49 kaleb $
+
+/***************************************************************************
+ * *
+ * SITE-SPECIFIC DEFINITIONS *
+ * *
+ * This file contains two halves, one included before the vendor-specific *
+ * configuration file (.cf file), and one included after the .cf file. *
+ * The before-half should be protected by #ifdef BeforeVendorCF, and the *
+ * after-half should be protected by #ifdef AfterVendorCF. *
+ * *
+ * The before-half should only set things that the .cf file depends on. *
+ * For the .cf files shipped in this release, the main variables in this *
+ * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion, *
+ * OSMinorVersion, and OSTeenyVersion. *
+ * *
+ * The after-half should contain all other definitions. For example, *
+ * place your ProjectRoot definition here. *
+ * *
+ * OS Major and Minor version numbers should be changed directly in the *
+ * .cf file, not overridden in site.def. *
+ * *
+ ***************************************************************************/
+XCOMM site: $XFree86: xc/config/cf/site.def,v 3.24 2000/06/25 20:17:29 dawes Exp $
+
+/* if you want host-specific customization, this is one way to do it */
+/*
+#ifndef SiteIConfigFiles
+#define SiteIConfigFiles $(IRULESRC)/host.def
+#define LocalConfigFiles host.def
+#endif
+*/
+
+
+#ifdef BeforeVendorCF
+
+/*
+ * Include this for easy XFree86 customisations
+ */
+#ifndef SiteIConfigFiles
+#define SiteIConfigFiles $(IRULESRC)/xorgsite.def $(IRULESRC)/host.def
+#endif
+
+#include <host.def>
+
+#include <xorgsite.def>
+
+/* On systems where cpp doesn't correctly expand macros in include directives
+ * the two following macros need to be defined directly (where "X11" is
+ * really whatever the TopLevelProject macro is defined to be).
+ */
+# if defined(AIXArchitecture) || defined(SVR4Architecture) || \
+ defined(SCOArchitecture) || defined(Win32Architecture) || \
+ defined(UXPArchitecture) || defined(SunArchitecture) || \
+ defined(DynixPtxArchitecture) || defined(i386IscArchitecture)
+# ifndef ProjectRulesFile
+# define ProjectRulesFile <X11.rules>
+# endif
+# ifndef ProjectTmplFile
+# define ProjectTmplFile <X11.tmpl>
+# endif
+# endif
+
+/*
+#ifndef HasGcc2
+#define HasGcc2 YES
+#endif
+*/
+
+#endif /* BeforeVendorCF */
+
+#ifdef AfterVendorCF
+
+#ifndef ProjectRoot
+#define ProjectRoot /usr/X11R6
+#endif
+
+/*
+ * On some platforms, some things may be installed outside of ProjectRoot
+ * by default. To disable this, uncomment the following line.
+ *
+#define NothingOutsideProjectRoot YES
+ */
+
+/*
+ * Set EtcX11Directory if you want config file links installed under
+ * ProjectRoot rather than in /etc/X11. See also HasVarDirectory,
+ * UseEtcX11 and UseSeparateConfDir.
+ *
+#define EtcX11Directory ProjectRoot/etc
+ */
+
+
+/* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
+/* #define HasXdmAuth YES */
+
+/*
+#if defined(SunArchitecture) && defined(SparcArchitecture)
+#define HasCodeCenter YES
+#ifndef SVR4Architecture
+#define HasTestCenter YES
+#endif
+#endif
+*/
+
+/*
+#ifdef __hp9000s800
+#define HasCodeCenter YES
+#endif
+*/
+
+/*
+#if defined(SunArchitecture) && defined(SparcArchitecture) && !defined(SVR4Architecture)
+#define HasPurify YES
+#endif
+*/
+
+/*
+#define HasSentinel YES
+*/
+
+/*
+#undef DefaultUserPath
+#define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
+*/
+
+
+/* You do NOT need SetUID if you only run the server under xdm */
+/* You MAY need SetUID if users run the server by hand or under xinit */
+/* Consult your system administrator before making the X server setuid */
+/*
+#if defined(SunArchitecture) && OSMajorVersion > 4
+#define InstallXserverSetUID YES
+#endif
+*/
+
+/* You do NOT need SetUID if you only run the server under xdm */
+/* You MAY need SetUID if users run the server by hand or under xinit */
+/* Consult your system administrator before making the X server setuid */
+/*
+#if defined(XFree86Version) || defined (XorgVersion)
+#define InstallXserverSetUID YES
+#endif
+*/
+
+#include <host.def>
+
+#endif /* AfterVendorCF */
diff --git a/nx-X11/config/cf/site.sample b/nx-X11/config/cf/site.sample
new file mode 100644
index 000000000..e712f7dbf
--- /dev/null
+++ b/nx-X11/config/cf/site.sample
@@ -0,0 +1,125 @@
+XCOMM site: $Xorg: site.sample,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/***************************************************************************
+ * *
+ * SITE-SPECIFIC DEFINITIONS *
+ * *
+ * This file contains two halves, one included before the vendor-specific *
+ * configuration file (.cf file), and one included after the .cf file. *
+ * The before-half should be protected by #ifdef BeforeVendorCF, and the *
+ * after-half should be protected by #ifdef AfterVendorCF. *
+ * *
+ * The before-half should only set things that the .cf file depends on. *
+ * For the .cf files shipped in this release, the main variables in this *
+ * category are HasGcc, HasGcc2, HasCplusplus, OSMajorVersion, *
+ * OSMinorVersion, and OSTeenyVersion. *
+ * *
+ * The after-half should contain all other definitions. For example, *
+ * place your ProjectRoot definition here. *
+ * *
+ * OS Major and Minor version numbers should be changed directly in the *
+ * .cf file, not overridden in site.def. *
+ * *
+ ***************************************************************************/
+
+/* if you want host-specific customization, this is one way to do it */
+/*
+#ifndef SiteIConfigFiles
+#define SiteIConfigFiles $(IRULESRC)/host.def
+#define LocalConfigFiles host.def
+#endif
+*/
+
+
+#ifdef BeforeVendorCF
+
+/* #include <host.def> */
+
+/* On systems where cpp doesn't expand correctly macros in include directives
+ * the two following macros need to be defined directly (where "X11" is
+ * really whatever the TopLevelProject macro is defined to be).
+ */
+# if defined(AIXArchitecture) || defined(SVR4Architecture) || \
+ defined(SCOArchitecture) || defined(Win32Architecture) || \
+ defined(UXPArchitecture) || defined(SunArchitecture)
+# ifndef ProjectRulesFile
+# define ProjectRulesFile <X11.rules>
+# endif
+# ifndef ProjectTmplFile
+# define ProjectTmplFile <X11.tmpl>
+# endif
+# endif
+
+/*
+#ifndef HasGcc2
+#define HasGcc2 YES
+#endif
+*/
+
+#endif /* BeforeVendorCF */
+
+#ifdef AfterVendorCF
+
+#define ProjectRoot Concat(/usr/X11R,XORG_VERSION_MAJOR.XORG_VERSION_MINOR)
+
+/* Only set HasXdmAuth to YES if you have a Wraphelp.c file. */
+/* #define HasXdmAuth YES */
+
+/*
+#if defined(SunArchitecture) && defined(SparcArchitecture)
+#define HasCodeCenter YES
+#ifndef SVR4Architecture
+#define HasTestCenter YES
+#endif
+#endif
+*/
+
+/*
+#ifdef __hp9000s800
+#define HasCodeCenter YES
+#endif
+*/
+
+/*
+#if defined(SunArchitecture) && defined(SparcArchitecture) && !defined(SVR4Architecture)
+#define HasPurify YES
+#endif
+*/
+
+/*
+#define HasSentinel YES
+*/
+
+/*
+#undef DefaultUserPath
+#define DefaultUserPath /bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/local/bin
+*/
+
+
+/* You do NOT need SetUID if you only run the server under xdm */
+/* You MAY need SetUID if users run the server by hand or under xinit */
+/* Consult your system administrator before making the X server setuid */
+/*
+#if defined(SunArchitecture) && OSMajorVersion > 4
+#define InstallXserverSetUID YES
+#endif
+*/
+
+/* You do NOT need SetUID if you only run the server under xdm */
+/* You MAY need SetUID if users run the server by hand or under xinit */
+/* Consult your system administrator before making the X server setuid */
+/*
+#if defined(XFree86Version) || defined(XorgVersion)
+#define InstallXserverSetUID YES
+#endif
+*/
+
+#ifndef XnestServer
+#undef BuildServer
+#define BuildServer YES
+#define XnestServer YES
+#endif
+
+/* #include <host.def> */
+
+#endif /* AfterVendorCF */
diff --git a/nx-X11/config/cf/sony.cf b/nx-X11/config/cf/sony.cf
new file mode 100644
index 000000000..014cedcf7
--- /dev/null
+++ b/nx-X11/config/cf/sony.cf
@@ -0,0 +1,100 @@
+XCOMM platform: $Xorg: sony.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+#ifdef SonyBsdArchitecture
+
+#ifndef OSName
+#define OSName NEWS-OS 4.2.1C
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 2
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 1
+#endif
+#define SetTtyGroup YES
+#define HasVoidSignalReturn NO
+#define HasNdbm YES
+#define DirFailPrefix -
+#define InstKmemFlags -g kmem -m 2711
+#define DefaultUserPath :/bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/sony/bin:
+#define DefaultSystemPath /etc:/usr/etc:/bin:/usr/bin:$(BINDIR):/usr/ucb:/usr/sony/bin:
+#ifdef MipsArchitecture
+#define ExtraLibraries -lmld
+#define LintOpts -ax
+#define LintLibFlag -o
+#define DefaultCCOptions -Wf,-XNh2000,-XNd6000,-XNp10000 -Olimit 2000
+#else
+#define HasFortran YES
+#endif
+#if OSMajorVersion >= 4
+#define HasShm YES
+#define HasPutenv YES
+#define HasSecureRPC YES
+#define XdmDir /etc/xdm
+#if OSMinorVersion >= 1
+#define HasBsearch YES
+#else
+#define HasBsearch NO
+#endif
+#else
+#define StandardDefines -DNOSTDHDRS
+#define HasBsearch NO
+#endif
+
+#else
+
+#ifndef OSName
+#define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#define BootstrapCFlags -Dsony
+#define SystemV4 YES
+#define HasVFork NO
+#define CcCmd /usr/bin/cc
+#define LdCmd /usr/bin/ld
+#if OSMajorVersion >= 6
+#define DefaultCCOptions -Xa -Wf,-XNp9000,-XNd6000
+#define SharedLibraryLoadFlags -G -rpath $(USRLIBDIRPATH)
+#define PositionIndependentCFlags -K PIC -Wx,-G 0
+#define PositionIndependentCplusplusFlags -K PIC -Wx,-G 0
+#define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+#define FixupLibReferences() /**/
+#include <sv4Lib.rules>
+#else
+#define DefaultCCOptions -Wf,-XNp9000,-XNd6000
+#endif
+
+#endif
+
+/*
+ * SONY C++ compiler is based on vanilla cfront, which means it
+ * refuses to compile files unless their names end in ".C". We
+ * have to completely override .SUFFIXES to avoid using the builtin
+ * .C to .o rule in cases where the link to foo.C is already there,
+ * because the builtin rule doesn't use the right compilation flags.
+ */
+
+.SUFFIXES:
+.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx
+
+#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\
+ $(CXX) -c $(CXXFLAGS) options $*.C
+
+XCOMM operating system: OSName
+
+#ifndef BuildServer
+#define BuildServer NO
+#endif
diff --git a/nx-X11/config/cf/sun.cf b/nx-X11/config/cf/sun.cf
new file mode 100644
index 000000000..cc9fbf503
--- /dev/null
+++ b/nx-X11/config/cf/sun.cf
@@ -0,0 +1,966 @@
+XCOMM $XdotOrg: xc/config/cf/sun.cf,v 1.34 2005/12/03 17:20:48 alanc Exp $
+XCOMM platform: $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/* For various reasons, Sun uses different settings when compiling the
+ * X Window System packages included in Solaris than are normally used
+ * by most people building the X.Org software releases. Sun also has
+ * two different X server hierarchies in Solaris - Xsun in /usr/openwin
+ * and Xorg in /usr/X11.
+ *
+ * If you want to try to match Sun's settings as closely as possible
+ * add this setting to your host.def:
+ * #define BuildLikeSun YES
+ *
+ * If you're trying to match the openwin directory layout as well, you'll
+ * need to also add:
+ * #define ProjectRoot /usr/openwin
+ * otherwise it will use /usr/X11. (Note that these settings match closer
+ * to Sun's Xorg delivery in /usr/X11 than the older X11R6.6-based delivery
+ * in /usr/openwin though.)
+ */
+#ifndef BuildLikeSun
+# define BuildLikeSun NO
+#endif
+
+#if BuildLikeSun
+# ifndef ProjectRoot
+# define ProjectRoot /usr/X11
+# endif
+# ifndef DocDir
+# define DocDir Concat(ProjectRoot,/share/doc)
+# endif
+# ifndef ManDirectoryRoot
+# define ManDirectoryRoot Concat(ProjectRoot,/share/man)
+# endif
+# ifndef ManSuffix
+# define ManSuffix 1
+# endif
+# ifndef LibraryCCOptions
+# if DoSharedLib && defined(SharedLibraryCCOptions)
+# define LibraryCCOptions SharedLibraryCCOptions ArchLibraryCCOptions
+# else
+# define LibraryCCOptions DefaultCCOptions ArchLibraryCCOptions
+# endif
+# endif
+#endif
+
+/* Flag passed to makestrs in Xt build to control string array names in the
+ * libXt headers. -solarisabinames matches those used in the libXt in
+ * Solaris, but not in other OS'es.
+ */
+#ifndef SolarisABIFlag
+# if BuildLikeSun
+# define SolarisABIFlag -solarisabinames
+# else
+# define SolarisABIFlag /**/
+# endif
+#endif
+
+/*
+ * Compiler setup. This sun.cf file knows what options to use with
+ * certain compilers, including Sun C, CenterLine C, and gcc. It
+ * also understands how to set some of the options for various C++
+ * compilers, including Sun C++ and CenterLine C++.
+ *
+ * === C Compiler Setup ==========================================
+ *
+ * For SunPro C, define HasSunC to YES in site.def.
+ * For CenterLine C, define HasCenterLineC to YES in site.def
+ * For gcc, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 to YES in site.def
+ * For other compilers, define HasSunC to NO in site.def, then
+ * provide appropriate values for the various compiler related
+ * configuration varibles used here.
+ *
+ * If you don't tell us which C compiler you have, we assume you have
+ * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc
+ * under SunOS 4.1.x
+ *
+ * === C++ Compiler Setup ==========================================
+ *
+ * For SunPro C++, define HasSunCplusplus to YES in site.def
+ * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
+ * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ *
+ * If you say you have the SunPro C++ compiler, we assume you have
+ * version 3.0.x of the compiler. If you have version 4.0.x instead,
+ * define CplusplusCompilerMajorVersion as 4 in site.def.
+ *
+ */
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasSunC
+# if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5)
+# define HasSunC NO
+# else
+# define HasSunC YES
+# endif
+#endif
+
+#if HasSunC
+# ifndef CCompilerMajorVersion
+# define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
+# endif
+# ifndef CCompilerMinorVersion
+# define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
+# endif
+XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
+
+/* Choose some reasonable default optimizer flags based on compiler &
+ OS versions */
+# ifndef OptimizedCDebugFlags
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2)
+# define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags
+# else
+# define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# if OSMajorVersion == 5
+# if defined(SparcArchitecture) && !defined(Sparc64Architecture)
+# if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */
+# define ArchOptimizedFlags -xarch=v8plus
+# else
+# define ArchOptimizedFlags -xarch=v8
+# endif
+# elif defined(i386Architecture) || defined(AMD64Architecture)
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 7)
+/* -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to
+ * avoid losing stack frame pointers so you can't get stack traces or debug.
+ * This may lose a small bit of performance, so you can override by adding
+ * #define FramePtrFlags -xregs=frameptr if you care about performance more
+ * than debuggability.
+ */
+# ifndef FramePtrFlags
+# define FramePtrFlags -xregs=no%frameptr
+# endif
+# endif
+# ifndef FramePtrFlags
+# define FramePtrFlags /* */
+# endif
+# if defined(i386Architecture) && (OSMinorVersion > 8)
+ /* Solaris 9 and later require Pentium or better */
+# define ArchOptimizedFlags -xpentium FramePtrFlags
+# else
+# define ArchOptimizedFlags FramePtrFlags
+# endif
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# define ArchOptimizedFlags /**/
+# endif
+# endif
+# ifndef DefaultCDebugFlags
+# define DefaultCDebugFlags OptimizedCDebugFlags
+# endif
+# ifndef SharedLibraryLdCmd
+# define SharedLibraryLdCmd $(CC)
+# endif
+/* Flags for lint version included with Sun C compilers */
+# if OSMajorVersion >= 5
+# ifndef LintLibFlag
+# define LintLibFlag -y -o
+# endif
+# ifndef LintOpts
+# define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc
+# endif
+# ifndef LintSecFlag
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6)
+# define LintSecFlag -errsecurity=standard
+# else
+# define LintSecFlag /**/
+# endif
+# endif
+ LINTSECFLAG = LintSecFlag
+# ifndef LintLibReferences
+# define LintLibReferences(varname,libname,libsource) @@\
+ Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname)
+# endif
+
+# endif /* Lint Flags for Solaris */
+
+#endif /* HasSunC */
+
+#ifndef ArchLibraryCCOptions
+# if HasSunC && defined(SparcArchitecture) && CCompilerMajorVersion > 3
+# define ArchLibraryCCOptions -xregs=no%appl
+# else
+# define ArchLibraryCCOptions
+# endif
+#endif /* ArchLibraryCCOptions */
+
+/* we used to have this here :
+ *
+ * #if HasSunC
+ * # ifndef CCompilerMajorVersion
+ * # define CCompilerMajorVersion 3
+ * # define DefaultCDebugFlags -xO3
+ * # define OptimizedCDebugFlags -xO3
+ * # endif
+ * #endif
+ */
+
+#ifndef HasSunCplusplus
+# define HasSunCplusplus HasSunC /* ??? */
+#endif
+#if HasSunCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# define OptimizedCplusplusDebugFlags -xO4 -xbuiltin=%all -xlibmil
+# endif
+# ifndef CplusplusCompilerMajorVersion
+# ifdef DefaultSunProCplusplusCompilerMajorVersion
+# define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
+# else
+# define CplusplusCompilerMajorVersion 3
+# endif
+# endif
+# ifndef CplusplusCompilerMinorVersion
+# ifdef DefaultSunProCplusplusCompilerMinorVersion
+# define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
+# else
+# define CplusplusCompilerMinorVersion 0
+# endif
+# endif
+# ifndef CplusplusLibC
+# if CplusplusCompilerMajorVersion >= 5
+# define CplusplusLibC -norunpath -lCrun
+# endif
+# endif
+XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
+#endif
+
+/* we used to have this here :
+ *
+ * # ifndef CplusplusCompilerMajorVersion
+ * # define CplusplusCompilerMajorVersion 4
+ * # endif
+ */
+
+#if HasCenterLineC
+# ifndef CcCmd
+# define CcCmd clcc
+# endif
+#endif
+
+#if HasCenterLineCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions -Xa
+# endif
+# ifndef CplusplusOptions
+# define CplusplusOptions -Xa
+# endif
+#endif
+
+#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
+/* We do not guarantee this will work */
+# define BootstrapCFlags -DNOSTDHDRS
+# define StandardDefines -DNOSTDHDRS
+# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+#if OSMajorVersion == 4
+# if OSMinorVersion == 1
+/*
+ * Currently the NX transport only works with select().
+ *
+# define HasPoll YES
+ */
+# define HasPoll NO
+# endif
+# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
+/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
+# define SunPost411FCSLd YES
+# endif
+#endif
+
+/* The Xsun server was not building for SunOS 5.7 due to
+ includes of <sys/cg2reg.h>.
+*/
+#if OSMajorVersion < 5
+# define IncludeCG2HeaderDefine -DINCLUDE_CG2_HEADER
+#else
+# define IncludeCG2HeaderDefine /**/
+#endif
+
+#if defined(i386Architecture) || defined(AMD64Architecture)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define OSServerExtraDefines -D__SOL8__
+# endif
+#endif
+
+#if !HasGcc
+# if HasSunC
+# if defined(AMD64Architecture)
+# define AsmArch amd64
+# define AsmFlags -xarch=amd64
+# elif defined(i386Architecture)
+# define AsmArch ia32
+# define AsmFlags /**/
+# elif defined(Sparc64Architecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v9
+# elif defined(SparcArchitecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v8plus
+# endif
+# ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines $(SERVERSRC)/hw/xfree86/os-support/sunos/AsmArch.il
+# endif
+# endif
+#endif
+
+#ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines /**/
+#endif
+
+#ifndef OSServerExtraDefines
+# define OSServerExtraDefines /**/
+#endif
+
+#ifndef ArchServerExtraDefines
+# if defined(Sparc64Architecture) || defined(AMD64Architecture)
+# define ArchServerExtraDefines -D_XSERVER64
+# else
+# define ArchServerExtraDefines /**/
+# endif
+#endif
+
+#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine \
+ -DPIXPRIV
+#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
+ CompilerServerExtraDefines \
+ OSServerExtraDefines ArchServerExtraDefines \
+ -DPIXPRIV
+
+#ifndef HasPerl
+/* Solaris 8 comes with perl. Earlier versions don't. */
+# if (OSMajorVersion == 5) && (OSMinorVersion >= 8)
+# define HasPerl YES
+# else
+# define HasPerl NO
+# endif
+#endif
+
+#ifndef XkbServerDefines
+# if BuildLikeSun
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT \
+ -DXKM_OUTPUT_DIR='"/var/run/xkb/"' -DXKM_OUTPUT_DIR_MODE=0775 \
+ -DMAKE_XKM_OUTPUT_DIR
+# else
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+# endif
+#endif
+
+#if OSMajorVersion > 4
+/* #define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN */
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
+# if HasSunC
+# ifdef DefaultSunProCCompilerDir
+# ifndef CcCmd
+# define CcCmd DefaultSunProCCompilerDir/cc
+# endif
+# endif
+# ifdef DefaultSunProCplusplusCompilerDir
+# ifndef CplusplusCmd
+# define CplusplusCmd DefaultSunProCplusplusCompilerDir/CC
+# endif
+# ifndef CplusplusFilt
+# define CplusplusFilt DefaultSunProCplusplusCompilerDir/c++filt
+# endif
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir DefaultSunProCplusplusCompilerDir/whatdir
+# endif
+# else /* DefaultSunProCplusplusCompilerDir not defined */
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir whatdir
+# endif
+# endif /* DefaultSunProCplusplusCompilerDir */
+# ifndef CplusplusDependIncludes
+# if CplusplusCompilerMajorVersion > 3
+# define CplusplusDependIncludes -I`CplusplusWhatdir CC`/../include/CC
+# elif CplusplusCompilerMajorVersion > 2
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC
+# else
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC
+# endif
+# endif
+# endif /* HasSunC */
+
+# if HasSunC && (CCompilerMajorVersion < 3)
+# define BootstrapCFlags -DSVR4
+# else
+# define BootstrapCFlags /* none needed */
+# endif
+# ifndef XawI18nDefines
+# if OSMinorVersion < 4
+# define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+# else
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+# endif
+# endif
+# if OSMinorVersion > 3
+# define InstallCmd /usr/ucb/install
+# endif
+#ifndef LargefileDefines
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define LargefileDefines -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+# else
+# define LargefileDefines /* */
+# endif
+#endif
+# ifdef AMD64Architecture
+# define StandardDefines -Dsun -DSVR4 -D__EXTENSIONS__ -D__amd64
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# elif defined(i386Architecture)
+# if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5))
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ -D__SOL64__ LargefileDefines
+# else
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ LargefileDefines
+# endif
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# else
+# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines \
+ -DPIXPRIV
+# define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
+# endif
+# define ExtraLibraries -lsocket -lnsl
+# define HasWeakSymbols YES
+# if OSMinorVersion > 1
+# ifndef ThreadedX
+# define ThreadedX YES
+# endif
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+# if HasSunC && CCompilerMajorVersion > 2
+# define ThreadsCompileFlags -mt
+# else
+# define SystemMTDefines -D_REENTRANT
+# define ThreadsLibraries -lthread
+# endif
+# if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
+# define ThreadsCplusplusCompileFlags -mt
+# else
+# define CplusplusSystemMTDefines -D_REENTRANT
+# define ThreadsCplusplusLibraries -lthread
+# endif
+# endif /* OSMinorVersion > 1 */
+# ifndef UseExportLists
+# if (OSMinorVersion > 4) && !HasGcc2
+# define UseExportLists YES
+# else
+# define UseExportLists NO
+# endif
+# endif
+# if OSMinorVersion > 5 /* Solaris 2.6 and later */
+# define HasSnprintf YES
+# endif
+# if OSMinorVersion > 7 /* Solaris 8 and later */
+# define HasStrlcat YES
+# define HasStrcasecmp YES
+# define HasVarRun YES
+# endif
+# if OSMinorVersion > 9 /* Solaris 10 and later */
+# define HasSetenv YES
+# define HasGetpeerucred YES
+# define HasGetoptLong YES
+# define DlLibrary -lc /* dlopen() is in libc in Solaris 10 */
+# endif
+# define HasVFork NO
+# define HasDlopen YES
+# define InstallXloadSetGID NO /* libkstat doesn't require gid kmem */
+# define InstKmemFlags -g sys -m 2711
+# define ShLibIncludeFile <sunLib.tmpl>
+# define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path)
+# define RpathLoadFlags LinkerRuntimeLibraryPathFlag($(USRLIBDIRPATH))
+/*
+ * Set flags for position independent code before including sv4Lib.rules
+ * if the compiler in use doesn't use standard SVR4 flags
+ */
+# if HasSunC || HasCenterLineC
+# define PositionIndependentCFlags -Kpic
+# define LargePositionIndependentCFlags -KPIC
+# ifdef Sparc64Architecture
+# define LargePICTable YES
+# endif
+# endif
+# if HasSunCplusplus || HasCenterLineCplusplus
+# define PositionIndependentCplusplusFlags -pic
+# define LargePositionIndependentCplusplusFlags -PIC
+# endif
+/* As is done in sco5.cf, we lie and say Solaris has NCURSES, since
+ * the system curses is close enough for xorgcfg's purposes. xorgcfg
+ * should not depend on the NCURSES package but rather on a "capable curses",
+ * of which NCURSES is just one.
+ */
+#define HasNCurses YES
+#define NCursesLibName -lcurses
+#else /* not OSMajorVersion > 4 */
+#define InstKmemFlags -g kmem -m 2711
+#include <sunLib.rules>
+#endif /* OSMajorVersion > 4 (else) */
+
+/* Solaris 10 includes FreeType already. It's also available in GNOME 2.0 for
+ * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to
+ * detect that in imake, so users of those releases who want to use the
+ * installed FreeType instead of the one in this tree should copy the following
+ * two settings to their host.def. Those who want to use the in-tree copy
+ * regardless of OS version should add "#define HasFreetype2 NO" to host.def.
+ */
+#ifndef HasFreetype2
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasFreetype2 YES
+# ifndef Freetype2Dir
+# define Freetype2Dir /usr/sfw
+# endif
+# else
+# define HasFreetype2 NO
+# endif
+#endif
+
+#ifndef HasExpat
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasExpat YES
+# ifndef ExpatDir
+# define ExpatDir /usr/sfw
+# endif
+# else
+# define HasExpat NO
+# endif
+#endif
+
+/* Solaris 10 includes fontconfig, but not the fcprivate.h header needed by
+ * Xft1 library.
+ */
+#ifndef HasFontconfig
+# define HasFontconfig NO
+#endif
+
+/* libpng was in /usr/sfw/lib on Solaris 9, moved to /usr/lib in Solaris 10 */
+#ifndef HasLibpng
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasLibpng YES
+# if !defined(LibpngDir) && ((OSMajorVersion == 5) && (OSMinorVersion == 9))
+# define LibpngDir /usr/sfw
+# endif
+# else
+# define HasLibpng NO
+# endif
+#endif
+
+#ifndef HasZlib
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define HasZlib YES
+# else
+# define HasZlib NO
+# endif
+#endif
+
+#ifndef TroffCmd
+# if !(HasGroff)
+# define TroffCmd troff -Tpost
+# endif
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define HasNdbm YES
+#define HasShm YES
+#define HasSecureRPC YES
+#define SetTtyGroup YES
+#define HasPutenv YES
+#define HasMkstemp YES
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+#define HasDevRandom YES /* /dev/random is in Solaris 8 patches */
+#define PollDevRandom YES /* /dev/random is poll()able on Solaris */
+#endif
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasIssetugid YES
+#endif
+#if defined(Sun3Architecture) || defined(SparcArchitecture) || defined(Sparc64Architecture)
+# ifndef Xsun24Server
+# define Xsun24Server NO /* color, mono, multiple depths */
+# endif
+# ifndef XsunServer
+# define XsunServer NO /* color and mono, 8 bit only */
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer NO /* monochrome only */
+# endif
+# ifndef XorgServer
+# define XorgServer (!(Xsun24Server || XsunServer || XsunMonoServer))
+# endif
+# undef BuildXF86DRI
+# define BuildXF86DRI NO
+# if (OSMajorVersion > 4)
+# if !defined(AsOutputArchSize) || \
+ ((AsOutputArchSize != 32) && (AsOutputArchSize != 64))
+# undef AsOutputArchSize
+# define AsOutputArchSize 32
+# endif
+# ifndef AsVISOption
+# if AsOutputArchSize == 32
+# ifdef UseGas
+# define AsVISOption -Av8plusa
+# else
+# define AsVISOption -xarch=v8plusa
+# endif
+# else
+# ifdef UseGas
+# define AsVISOption -Av9a
+# else
+# define AsVISOption -xarch=v9a
+# endif
+# endif
+# endif
+# endif
+#endif /* SPARC or Sun3/M68k */
+
+#if OSMajorVersion >= 4
+#define HasUsableFileMap YES
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#if HasGcc
+# if OSMajorVersion > 4
+# ifndef DefaultCCOptions
+# ifdef UseInstalled
+# define DefaultCCOptions -DNO_ASM
+# elif OSMinorVersion > 6
+# define DefaultCCOptions -DNO_ASM GccWarningOptions
+# elif OSMinorVersion > 3
+# define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic
+# else
+# define DefaultCCOptions -DNO_ASM
+# endif
+# endif
+# endif
+# if HasGcc2
+# ifndef CcCmd
+# define CcCmd gcc
+# endif
+# ifndef AsCmd
+# define AsCmd CcCmd -c -x assembler
+# endif
+# ifndef OptimizedCDebugFlags
+# ifdef i386Architecture
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# elif defined(AMD64Architecture)
+# define OptimizedCDebugFlags DefaultGcc2AMD64Opt
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+# endif
+# if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd)
+# if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture)
+ /* This is to work around what appears to be a PIC bug in some gcc/egcs
+ versions that shows up with the Solaris 7/x86 <ctype.h>. */
+# define SharedLibraryLdCmd $(LD)
+# define SharedLibraryLoadFlags -G -z textwarn
+# else
+# define SharedLibraryLdCmd $(CC)
+# define SharedLibraryLoadFlags -shared -z text
+# endif
+# endif
+# else
+# define SharedLibraryCcCmd cc
+# define ExtraLoadFlags -B/usr/bin/
+# define AllocateLocalDefines /**/
+
+.c.o:
+ ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
+
+# endif /* HasGcc2 (else) */
+
+#else /* not HasGcc */
+
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+
+/* Set up compiler-dependent options for Sun C */
+/*
+ * To build 64-bit binaries define Sparc64Architecture or AMD64Architecture
+ * in your site.def or host.def file.
+ */
+# if HasSunC
+# ifdef Sun3Architecture
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -f68881 -pipe
+# endif
+# else /* not defined(Sun3Architecture) */
+# if OSMajorVersion < 5
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -pipe
+# endif
+# else /* OSMajorVersion >= 5*/
+# ifndef DefaultXArchOptions
+# ifdef Sparc64Architecture
+# define DefaultXArchOptions -xarch=v9
+# elif defined(AMD64Architecture)
+# define DefaultXArchOptions -xarch=generic64
+# else
+# define DefaultXArchOptions /* */
+# endif
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xa -v DefaultXArchOptions -z lazyload -z combreloc -xstrconst -xildoff
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions DefaultXArchOptions -z lazyload -z combreloc -xildoff
+# endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -G DefaultXArchOptions -z text $(EXTRA_LOAD_FLAGS)
+# endif
+# endif
+# endif
+# endif
+# endif
+
+/* Set compiler-dependent options for CenterLine C */
+
+# if HasCenterLineC
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
+# endif
+# ifndef NeedConstPrototypes
+# define NeedConstPrototypes YES
+# endif
+# ifndef NeedNestedPrototypes
+# define NeedNestedPrototypes YES
+# endif
+# ifndef NeedVarargsPrototypes
+# define NeedVarargsPrototypes YES
+# endif
+# endif
+
+
+#endif /* HasGcc (else) */
+
+#if OSMajorVersion < 5
+# define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
+# define LibraryCCOptions /* don't want special floating point */
+#else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */
+/* Only load libraries when needed on Solaris 7 & later */
+# if OSMinorVersion >= 7
+# define LazyLoadFlag -z lazyload -z combreloc
+# else
+# define LazyLoadFlag /* */
+# endif
+/* Link with extra mapfiles for some performance & security enhancements */
+#ifndef MapfileFlag
+# if HasSunC
+# define MapfileFlag -M
+# else
+# define MapfileFlag -Wl,-M,
+# endif
+#endif
+#ifndef Mapfile_BssAlign
+# if OSMinorVersion >= 9
+# define Mapfile_BssAlign $(MAPFILEFLAG)/usr/lib/ld/map.bssalign
+# else
+# define Mapfile_BssAlign /**/
+# endif
+#endif
+#ifndef Mapfile_PageAlign
+# if OSMinorVersion >= 10
+# define Mapfile_PageAlign $(MAPFILEFLAG)/usr/lib/ld/map.pagealign
+# else
+# define Mapfile_PageAlign /**/
+# endif
+#endif
+#ifndef Mapfile_NoExStack
+# if OSMinorVersion >= 9
+# define Mapfile_NoExStack $(MAPFILEFLAG)/usr/lib/ld/map.noexstk
+# else
+# define Mapfile_NoExStack /**/
+# endif
+#endif
+#ifndef Mapfile_NoExData
+# if defined(SparcArchitecture)
+/* SPARC archictecture requires PLT section in .data be executable, so
+ we can only make .bss, not all of .data no-exec on SPARC */
+# define Mapfile_NoExData /**/
+# else
+# if OSMinorVersion >= 10
+# define Mapfile_NoExData $(MAPFILEFLAG)/usr/lib/ld/map.noexdata
+# else
+# define Mapfile_NoExData /**/
+# endif
+# endif
+#endif
+ MAPFILEFLAG = MapfileFlag
+ MAPFILES_FOR_ALL = Mapfile_PageAlign Mapfile_NoExData
+MAPFILES_FOR_PROGS = Mapfile_BssAlign Mapfile_NoExStack
+/* ExtraLoadFlags apply to all binaries - programs & libraries */
+# ifndef ExtraLoadFlags
+# define ExtraLoadFlags LazyLoadFlag $(MAPFILES_FOR_ALL)
+# endif
+/* ExtraLoadOptions only apply to programs */
+# ifndef ExtraLoadOptions
+# define ExtraLoadOptions -B direct $(MAPFILES_FOR_PROGS)
+# endif
+#endif /* OSMajorVersion < 5 */
+
+/* 64-bit build support */
+#ifndef Solaris64bitSubdir
+# ifdef Sparc64Architecture
+# define Solaris64bitSubdir sparcv9
+# elif defined(AMD64Architecture)
+# define Solaris64bitSubdir amd64
+# endif
+#endif
+
+#ifdef Solaris64bitSubdir
+# define LibDirName Concat3(lib,/,Solaris64bitSubdir)
+#endif
+
+#if OSMajorVersion > 4
+# include <svr4.cf>
+#endif
+
+#ifndef ManKeywordsTarget
+# define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ catman -M $(DESTDIR)manpath -w
+#endif
+
+#if !defined(UsePamLibrary)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
+# define UsePamLibrary YES
+# endif
+#endif
+
+/* PAM appeared in SunOS 5.6 */
+#if !defined(HasPam)
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define HasPam YES
+# endif
+#endif
+
+#ifndef PamLibraries
+#define PamLibraries -lpam
+#endif
+
+#ifndef HasMotif
+/* Solaris's Motif depends on Solaris libX11 and won't work with libX11 built
+ * from this tree, so only use it when using libX11 from outside the tree.
+ */
+# define HasMotif (defined(UseInstalled) || UseInstalledX11)
+# define MotifDir /usr/dt
+#endif /* !HasMotif */
+#ifndef HasMotif2
+/* Solaris's Motif2 version is broken and misses XmPrintShell
+ * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */
+# define HasMotif2 NO
+#endif /* !HasMotif2 */
+
+#define MotifDefines \
+ -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
+#define PamUnixDefines -DPAM_NIS
+#define TtLargePICTable YES
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+
+#define baseDtMailDefines \
+ -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
+#if !defined(i386Architecture) && !defined(AMD64Architecture)
+# define DtMailDefines baseDtMailDefines
+#else
+# define DtMailDefines -DBIG_ENDIAN baseDtMailDefines
+#endif
+
+#define ArchitectureDefines -DSUN_ARCHITECTURE
+
+#define TtClientExtraLibs ExtraLibraries -ldl -lintl
+
+#define ExportListGenSource elistgen.sun
+#define ShlibExportListOpt(filename) -M filename
+
+#define CdeProjectDefines \
+ -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
+ -D_XOPEN_SOURCE -D__EXTENSIONS__ \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
+
+
+/*
+ * Turn off HTML manpages like we do under NetBSD.
+ */
+#ifndef BuildHtmlManPages
+#define BuildHtmlManPages NO
+#endif
+
+/*
+ * Turn off seperate configuration directories.
+ */
+#ifndef UseSeparateConfDir
+#define UseSeparateConfDir NO
+#endif
+
+/* Hackery for building modules as Solaris shared objects with dependencies */
+#if MakeDllModules && DoLoadableServer
+
+/* If you change this, you will need to change find-deps.pl to match */
+#define DlModuleDependencyName(module) Concat(module,_deps)
+
+#define DlModuleTarget(module,deplist,modlist) @@\
+DepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\
+ @@\
+DlModuleDependencyName(module): @@\
+ touch $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(DlModuleDependencyName(module))
+
+#define ObjectModuleTarget(module,objects) @@\
+DlModuleTarget(Concat(module,_drv.so), objects, objects)
+
+#define LibraryModuleTarget(module,objects) @@\
+NormalLibraryTarget(module, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), objects, objects)
+
+#define DepLibraryModuleTarget(module,deplist,objects) @@\
+NormalDepLibraryTarget(module, deplist, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), deplist, objects)
+
+#endif
diff --git a/nx-X11/config/cf/sun.cf.NX.original b/nx-X11/config/cf/sun.cf.NX.original
new file mode 100644
index 000000000..cc9fbf503
--- /dev/null
+++ b/nx-X11/config/cf/sun.cf.NX.original
@@ -0,0 +1,966 @@
+XCOMM $XdotOrg: xc/config/cf/sun.cf,v 1.34 2005/12/03 17:20:48 alanc Exp $
+XCOMM platform: $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/* For various reasons, Sun uses different settings when compiling the
+ * X Window System packages included in Solaris than are normally used
+ * by most people building the X.Org software releases. Sun also has
+ * two different X server hierarchies in Solaris - Xsun in /usr/openwin
+ * and Xorg in /usr/X11.
+ *
+ * If you want to try to match Sun's settings as closely as possible
+ * add this setting to your host.def:
+ * #define BuildLikeSun YES
+ *
+ * If you're trying to match the openwin directory layout as well, you'll
+ * need to also add:
+ * #define ProjectRoot /usr/openwin
+ * otherwise it will use /usr/X11. (Note that these settings match closer
+ * to Sun's Xorg delivery in /usr/X11 than the older X11R6.6-based delivery
+ * in /usr/openwin though.)
+ */
+#ifndef BuildLikeSun
+# define BuildLikeSun NO
+#endif
+
+#if BuildLikeSun
+# ifndef ProjectRoot
+# define ProjectRoot /usr/X11
+# endif
+# ifndef DocDir
+# define DocDir Concat(ProjectRoot,/share/doc)
+# endif
+# ifndef ManDirectoryRoot
+# define ManDirectoryRoot Concat(ProjectRoot,/share/man)
+# endif
+# ifndef ManSuffix
+# define ManSuffix 1
+# endif
+# ifndef LibraryCCOptions
+# if DoSharedLib && defined(SharedLibraryCCOptions)
+# define LibraryCCOptions SharedLibraryCCOptions ArchLibraryCCOptions
+# else
+# define LibraryCCOptions DefaultCCOptions ArchLibraryCCOptions
+# endif
+# endif
+#endif
+
+/* Flag passed to makestrs in Xt build to control string array names in the
+ * libXt headers. -solarisabinames matches those used in the libXt in
+ * Solaris, but not in other OS'es.
+ */
+#ifndef SolarisABIFlag
+# if BuildLikeSun
+# define SolarisABIFlag -solarisabinames
+# else
+# define SolarisABIFlag /**/
+# endif
+#endif
+
+/*
+ * Compiler setup. This sun.cf file knows what options to use with
+ * certain compilers, including Sun C, CenterLine C, and gcc. It
+ * also understands how to set some of the options for various C++
+ * compilers, including Sun C++ and CenterLine C++.
+ *
+ * === C Compiler Setup ==========================================
+ *
+ * For SunPro C, define HasSunC to YES in site.def.
+ * For CenterLine C, define HasCenterLineC to YES in site.def
+ * For gcc, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 to YES in site.def
+ * For other compilers, define HasSunC to NO in site.def, then
+ * provide appropriate values for the various compiler related
+ * configuration varibles used here.
+ *
+ * If you don't tell us which C compiler you have, we assume you have
+ * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc
+ * under SunOS 4.1.x
+ *
+ * === C++ Compiler Setup ==========================================
+ *
+ * For SunPro C++, define HasSunCplusplus to YES in site.def
+ * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
+ * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ *
+ * If you say you have the SunPro C++ compiler, we assume you have
+ * version 3.0.x of the compiler. If you have version 4.0.x instead,
+ * define CplusplusCompilerMajorVersion as 4 in site.def.
+ *
+ */
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasSunC
+# if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5)
+# define HasSunC NO
+# else
+# define HasSunC YES
+# endif
+#endif
+
+#if HasSunC
+# ifndef CCompilerMajorVersion
+# define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
+# endif
+# ifndef CCompilerMinorVersion
+# define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
+# endif
+XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
+
+/* Choose some reasonable default optimizer flags based on compiler &
+ OS versions */
+# ifndef OptimizedCDebugFlags
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2)
+# define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags
+# else
+# define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# if OSMajorVersion == 5
+# if defined(SparcArchitecture) && !defined(Sparc64Architecture)
+# if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */
+# define ArchOptimizedFlags -xarch=v8plus
+# else
+# define ArchOptimizedFlags -xarch=v8
+# endif
+# elif defined(i386Architecture) || defined(AMD64Architecture)
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 7)
+/* -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to
+ * avoid losing stack frame pointers so you can't get stack traces or debug.
+ * This may lose a small bit of performance, so you can override by adding
+ * #define FramePtrFlags -xregs=frameptr if you care about performance more
+ * than debuggability.
+ */
+# ifndef FramePtrFlags
+# define FramePtrFlags -xregs=no%frameptr
+# endif
+# endif
+# ifndef FramePtrFlags
+# define FramePtrFlags /* */
+# endif
+# if defined(i386Architecture) && (OSMinorVersion > 8)
+ /* Solaris 9 and later require Pentium or better */
+# define ArchOptimizedFlags -xpentium FramePtrFlags
+# else
+# define ArchOptimizedFlags FramePtrFlags
+# endif
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# define ArchOptimizedFlags /**/
+# endif
+# endif
+# ifndef DefaultCDebugFlags
+# define DefaultCDebugFlags OptimizedCDebugFlags
+# endif
+# ifndef SharedLibraryLdCmd
+# define SharedLibraryLdCmd $(CC)
+# endif
+/* Flags for lint version included with Sun C compilers */
+# if OSMajorVersion >= 5
+# ifndef LintLibFlag
+# define LintLibFlag -y -o
+# endif
+# ifndef LintOpts
+# define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc
+# endif
+# ifndef LintSecFlag
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6)
+# define LintSecFlag -errsecurity=standard
+# else
+# define LintSecFlag /**/
+# endif
+# endif
+ LINTSECFLAG = LintSecFlag
+# ifndef LintLibReferences
+# define LintLibReferences(varname,libname,libsource) @@\
+ Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname)
+# endif
+
+# endif /* Lint Flags for Solaris */
+
+#endif /* HasSunC */
+
+#ifndef ArchLibraryCCOptions
+# if HasSunC && defined(SparcArchitecture) && CCompilerMajorVersion > 3
+# define ArchLibraryCCOptions -xregs=no%appl
+# else
+# define ArchLibraryCCOptions
+# endif
+#endif /* ArchLibraryCCOptions */
+
+/* we used to have this here :
+ *
+ * #if HasSunC
+ * # ifndef CCompilerMajorVersion
+ * # define CCompilerMajorVersion 3
+ * # define DefaultCDebugFlags -xO3
+ * # define OptimizedCDebugFlags -xO3
+ * # endif
+ * #endif
+ */
+
+#ifndef HasSunCplusplus
+# define HasSunCplusplus HasSunC /* ??? */
+#endif
+#if HasSunCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# define OptimizedCplusplusDebugFlags -xO4 -xbuiltin=%all -xlibmil
+# endif
+# ifndef CplusplusCompilerMajorVersion
+# ifdef DefaultSunProCplusplusCompilerMajorVersion
+# define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
+# else
+# define CplusplusCompilerMajorVersion 3
+# endif
+# endif
+# ifndef CplusplusCompilerMinorVersion
+# ifdef DefaultSunProCplusplusCompilerMinorVersion
+# define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
+# else
+# define CplusplusCompilerMinorVersion 0
+# endif
+# endif
+# ifndef CplusplusLibC
+# if CplusplusCompilerMajorVersion >= 5
+# define CplusplusLibC -norunpath -lCrun
+# endif
+# endif
+XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
+#endif
+
+/* we used to have this here :
+ *
+ * # ifndef CplusplusCompilerMajorVersion
+ * # define CplusplusCompilerMajorVersion 4
+ * # endif
+ */
+
+#if HasCenterLineC
+# ifndef CcCmd
+# define CcCmd clcc
+# endif
+#endif
+
+#if HasCenterLineCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions -Xa
+# endif
+# ifndef CplusplusOptions
+# define CplusplusOptions -Xa
+# endif
+#endif
+
+#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
+/* We do not guarantee this will work */
+# define BootstrapCFlags -DNOSTDHDRS
+# define StandardDefines -DNOSTDHDRS
+# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+#if OSMajorVersion == 4
+# if OSMinorVersion == 1
+/*
+ * Currently the NX transport only works with select().
+ *
+# define HasPoll YES
+ */
+# define HasPoll NO
+# endif
+# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
+/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
+# define SunPost411FCSLd YES
+# endif
+#endif
+
+/* The Xsun server was not building for SunOS 5.7 due to
+ includes of <sys/cg2reg.h>.
+*/
+#if OSMajorVersion < 5
+# define IncludeCG2HeaderDefine -DINCLUDE_CG2_HEADER
+#else
+# define IncludeCG2HeaderDefine /**/
+#endif
+
+#if defined(i386Architecture) || defined(AMD64Architecture)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define OSServerExtraDefines -D__SOL8__
+# endif
+#endif
+
+#if !HasGcc
+# if HasSunC
+# if defined(AMD64Architecture)
+# define AsmArch amd64
+# define AsmFlags -xarch=amd64
+# elif defined(i386Architecture)
+# define AsmArch ia32
+# define AsmFlags /**/
+# elif defined(Sparc64Architecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v9
+# elif defined(SparcArchitecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v8plus
+# endif
+# ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines $(SERVERSRC)/hw/xfree86/os-support/sunos/AsmArch.il
+# endif
+# endif
+#endif
+
+#ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines /**/
+#endif
+
+#ifndef OSServerExtraDefines
+# define OSServerExtraDefines /**/
+#endif
+
+#ifndef ArchServerExtraDefines
+# if defined(Sparc64Architecture) || defined(AMD64Architecture)
+# define ArchServerExtraDefines -D_XSERVER64
+# else
+# define ArchServerExtraDefines /**/
+# endif
+#endif
+
+#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine \
+ -DPIXPRIV
+#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
+ CompilerServerExtraDefines \
+ OSServerExtraDefines ArchServerExtraDefines \
+ -DPIXPRIV
+
+#ifndef HasPerl
+/* Solaris 8 comes with perl. Earlier versions don't. */
+# if (OSMajorVersion == 5) && (OSMinorVersion >= 8)
+# define HasPerl YES
+# else
+# define HasPerl NO
+# endif
+#endif
+
+#ifndef XkbServerDefines
+# if BuildLikeSun
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT \
+ -DXKM_OUTPUT_DIR='"/var/run/xkb/"' -DXKM_OUTPUT_DIR_MODE=0775 \
+ -DMAKE_XKM_OUTPUT_DIR
+# else
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+# endif
+#endif
+
+#if OSMajorVersion > 4
+/* #define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN */
+#define ConnectionFlags -DUNIXCONN -DTCPCONN
+# if HasSunC
+# ifdef DefaultSunProCCompilerDir
+# ifndef CcCmd
+# define CcCmd DefaultSunProCCompilerDir/cc
+# endif
+# endif
+# ifdef DefaultSunProCplusplusCompilerDir
+# ifndef CplusplusCmd
+# define CplusplusCmd DefaultSunProCplusplusCompilerDir/CC
+# endif
+# ifndef CplusplusFilt
+# define CplusplusFilt DefaultSunProCplusplusCompilerDir/c++filt
+# endif
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir DefaultSunProCplusplusCompilerDir/whatdir
+# endif
+# else /* DefaultSunProCplusplusCompilerDir not defined */
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir whatdir
+# endif
+# endif /* DefaultSunProCplusplusCompilerDir */
+# ifndef CplusplusDependIncludes
+# if CplusplusCompilerMajorVersion > 3
+# define CplusplusDependIncludes -I`CplusplusWhatdir CC`/../include/CC
+# elif CplusplusCompilerMajorVersion > 2
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC
+# else
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC
+# endif
+# endif
+# endif /* HasSunC */
+
+# if HasSunC && (CCompilerMajorVersion < 3)
+# define BootstrapCFlags -DSVR4
+# else
+# define BootstrapCFlags /* none needed */
+# endif
+# ifndef XawI18nDefines
+# if OSMinorVersion < 4
+# define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+# else
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+# endif
+# endif
+# if OSMinorVersion > 3
+# define InstallCmd /usr/ucb/install
+# endif
+#ifndef LargefileDefines
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define LargefileDefines -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+# else
+# define LargefileDefines /* */
+# endif
+#endif
+# ifdef AMD64Architecture
+# define StandardDefines -Dsun -DSVR4 -D__EXTENSIONS__ -D__amd64
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# elif defined(i386Architecture)
+# if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5))
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ -D__SOL64__ LargefileDefines
+# else
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ LargefileDefines
+# endif
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# else
+# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines \
+ -DPIXPRIV
+# define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
+# endif
+# define ExtraLibraries -lsocket -lnsl
+# define HasWeakSymbols YES
+# if OSMinorVersion > 1
+# ifndef ThreadedX
+# define ThreadedX YES
+# endif
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+# if HasSunC && CCompilerMajorVersion > 2
+# define ThreadsCompileFlags -mt
+# else
+# define SystemMTDefines -D_REENTRANT
+# define ThreadsLibraries -lthread
+# endif
+# if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
+# define ThreadsCplusplusCompileFlags -mt
+# else
+# define CplusplusSystemMTDefines -D_REENTRANT
+# define ThreadsCplusplusLibraries -lthread
+# endif
+# endif /* OSMinorVersion > 1 */
+# ifndef UseExportLists
+# if (OSMinorVersion > 4) && !HasGcc2
+# define UseExportLists YES
+# else
+# define UseExportLists NO
+# endif
+# endif
+# if OSMinorVersion > 5 /* Solaris 2.6 and later */
+# define HasSnprintf YES
+# endif
+# if OSMinorVersion > 7 /* Solaris 8 and later */
+# define HasStrlcat YES
+# define HasStrcasecmp YES
+# define HasVarRun YES
+# endif
+# if OSMinorVersion > 9 /* Solaris 10 and later */
+# define HasSetenv YES
+# define HasGetpeerucred YES
+# define HasGetoptLong YES
+# define DlLibrary -lc /* dlopen() is in libc in Solaris 10 */
+# endif
+# define HasVFork NO
+# define HasDlopen YES
+# define InstallXloadSetGID NO /* libkstat doesn't require gid kmem */
+# define InstKmemFlags -g sys -m 2711
+# define ShLibIncludeFile <sunLib.tmpl>
+# define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path)
+# define RpathLoadFlags LinkerRuntimeLibraryPathFlag($(USRLIBDIRPATH))
+/*
+ * Set flags for position independent code before including sv4Lib.rules
+ * if the compiler in use doesn't use standard SVR4 flags
+ */
+# if HasSunC || HasCenterLineC
+# define PositionIndependentCFlags -Kpic
+# define LargePositionIndependentCFlags -KPIC
+# ifdef Sparc64Architecture
+# define LargePICTable YES
+# endif
+# endif
+# if HasSunCplusplus || HasCenterLineCplusplus
+# define PositionIndependentCplusplusFlags -pic
+# define LargePositionIndependentCplusplusFlags -PIC
+# endif
+/* As is done in sco5.cf, we lie and say Solaris has NCURSES, since
+ * the system curses is close enough for xorgcfg's purposes. xorgcfg
+ * should not depend on the NCURSES package but rather on a "capable curses",
+ * of which NCURSES is just one.
+ */
+#define HasNCurses YES
+#define NCursesLibName -lcurses
+#else /* not OSMajorVersion > 4 */
+#define InstKmemFlags -g kmem -m 2711
+#include <sunLib.rules>
+#endif /* OSMajorVersion > 4 (else) */
+
+/* Solaris 10 includes FreeType already. It's also available in GNOME 2.0 for
+ * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to
+ * detect that in imake, so users of those releases who want to use the
+ * installed FreeType instead of the one in this tree should copy the following
+ * two settings to their host.def. Those who want to use the in-tree copy
+ * regardless of OS version should add "#define HasFreetype2 NO" to host.def.
+ */
+#ifndef HasFreetype2
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasFreetype2 YES
+# ifndef Freetype2Dir
+# define Freetype2Dir /usr/sfw
+# endif
+# else
+# define HasFreetype2 NO
+# endif
+#endif
+
+#ifndef HasExpat
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasExpat YES
+# ifndef ExpatDir
+# define ExpatDir /usr/sfw
+# endif
+# else
+# define HasExpat NO
+# endif
+#endif
+
+/* Solaris 10 includes fontconfig, but not the fcprivate.h header needed by
+ * Xft1 library.
+ */
+#ifndef HasFontconfig
+# define HasFontconfig NO
+#endif
+
+/* libpng was in /usr/sfw/lib on Solaris 9, moved to /usr/lib in Solaris 10 */
+#ifndef HasLibpng
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasLibpng YES
+# if !defined(LibpngDir) && ((OSMajorVersion == 5) && (OSMinorVersion == 9))
+# define LibpngDir /usr/sfw
+# endif
+# else
+# define HasLibpng NO
+# endif
+#endif
+
+#ifndef HasZlib
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define HasZlib YES
+# else
+# define HasZlib NO
+# endif
+#endif
+
+#ifndef TroffCmd
+# if !(HasGroff)
+# define TroffCmd troff -Tpost
+# endif
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define HasNdbm YES
+#define HasShm YES
+#define HasSecureRPC YES
+#define SetTtyGroup YES
+#define HasPutenv YES
+#define HasMkstemp YES
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+#define HasDevRandom YES /* /dev/random is in Solaris 8 patches */
+#define PollDevRandom YES /* /dev/random is poll()able on Solaris */
+#endif
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasIssetugid YES
+#endif
+#if defined(Sun3Architecture) || defined(SparcArchitecture) || defined(Sparc64Architecture)
+# ifndef Xsun24Server
+# define Xsun24Server NO /* color, mono, multiple depths */
+# endif
+# ifndef XsunServer
+# define XsunServer NO /* color and mono, 8 bit only */
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer NO /* monochrome only */
+# endif
+# ifndef XorgServer
+# define XorgServer (!(Xsun24Server || XsunServer || XsunMonoServer))
+# endif
+# undef BuildXF86DRI
+# define BuildXF86DRI NO
+# if (OSMajorVersion > 4)
+# if !defined(AsOutputArchSize) || \
+ ((AsOutputArchSize != 32) && (AsOutputArchSize != 64))
+# undef AsOutputArchSize
+# define AsOutputArchSize 32
+# endif
+# ifndef AsVISOption
+# if AsOutputArchSize == 32
+# ifdef UseGas
+# define AsVISOption -Av8plusa
+# else
+# define AsVISOption -xarch=v8plusa
+# endif
+# else
+# ifdef UseGas
+# define AsVISOption -Av9a
+# else
+# define AsVISOption -xarch=v9a
+# endif
+# endif
+# endif
+# endif
+#endif /* SPARC or Sun3/M68k */
+
+#if OSMajorVersion >= 4
+#define HasUsableFileMap YES
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#if HasGcc
+# if OSMajorVersion > 4
+# ifndef DefaultCCOptions
+# ifdef UseInstalled
+# define DefaultCCOptions -DNO_ASM
+# elif OSMinorVersion > 6
+# define DefaultCCOptions -DNO_ASM GccWarningOptions
+# elif OSMinorVersion > 3
+# define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic
+# else
+# define DefaultCCOptions -DNO_ASM
+# endif
+# endif
+# endif
+# if HasGcc2
+# ifndef CcCmd
+# define CcCmd gcc
+# endif
+# ifndef AsCmd
+# define AsCmd CcCmd -c -x assembler
+# endif
+# ifndef OptimizedCDebugFlags
+# ifdef i386Architecture
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# elif defined(AMD64Architecture)
+# define OptimizedCDebugFlags DefaultGcc2AMD64Opt
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+# endif
+# if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd)
+# if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture)
+ /* This is to work around what appears to be a PIC bug in some gcc/egcs
+ versions that shows up with the Solaris 7/x86 <ctype.h>. */
+# define SharedLibraryLdCmd $(LD)
+# define SharedLibraryLoadFlags -G -z textwarn
+# else
+# define SharedLibraryLdCmd $(CC)
+# define SharedLibraryLoadFlags -shared -z text
+# endif
+# endif
+# else
+# define SharedLibraryCcCmd cc
+# define ExtraLoadFlags -B/usr/bin/
+# define AllocateLocalDefines /**/
+
+.c.o:
+ ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
+
+# endif /* HasGcc2 (else) */
+
+#else /* not HasGcc */
+
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+
+/* Set up compiler-dependent options for Sun C */
+/*
+ * To build 64-bit binaries define Sparc64Architecture or AMD64Architecture
+ * in your site.def or host.def file.
+ */
+# if HasSunC
+# ifdef Sun3Architecture
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -f68881 -pipe
+# endif
+# else /* not defined(Sun3Architecture) */
+# if OSMajorVersion < 5
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -pipe
+# endif
+# else /* OSMajorVersion >= 5*/
+# ifndef DefaultXArchOptions
+# ifdef Sparc64Architecture
+# define DefaultXArchOptions -xarch=v9
+# elif defined(AMD64Architecture)
+# define DefaultXArchOptions -xarch=generic64
+# else
+# define DefaultXArchOptions /* */
+# endif
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xa -v DefaultXArchOptions -z lazyload -z combreloc -xstrconst -xildoff
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions DefaultXArchOptions -z lazyload -z combreloc -xildoff
+# endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -G DefaultXArchOptions -z text $(EXTRA_LOAD_FLAGS)
+# endif
+# endif
+# endif
+# endif
+# endif
+
+/* Set compiler-dependent options for CenterLine C */
+
+# if HasCenterLineC
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
+# endif
+# ifndef NeedConstPrototypes
+# define NeedConstPrototypes YES
+# endif
+# ifndef NeedNestedPrototypes
+# define NeedNestedPrototypes YES
+# endif
+# ifndef NeedVarargsPrototypes
+# define NeedVarargsPrototypes YES
+# endif
+# endif
+
+
+#endif /* HasGcc (else) */
+
+#if OSMajorVersion < 5
+# define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
+# define LibraryCCOptions /* don't want special floating point */
+#else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */
+/* Only load libraries when needed on Solaris 7 & later */
+# if OSMinorVersion >= 7
+# define LazyLoadFlag -z lazyload -z combreloc
+# else
+# define LazyLoadFlag /* */
+# endif
+/* Link with extra mapfiles for some performance & security enhancements */
+#ifndef MapfileFlag
+# if HasSunC
+# define MapfileFlag -M
+# else
+# define MapfileFlag -Wl,-M,
+# endif
+#endif
+#ifndef Mapfile_BssAlign
+# if OSMinorVersion >= 9
+# define Mapfile_BssAlign $(MAPFILEFLAG)/usr/lib/ld/map.bssalign
+# else
+# define Mapfile_BssAlign /**/
+# endif
+#endif
+#ifndef Mapfile_PageAlign
+# if OSMinorVersion >= 10
+# define Mapfile_PageAlign $(MAPFILEFLAG)/usr/lib/ld/map.pagealign
+# else
+# define Mapfile_PageAlign /**/
+# endif
+#endif
+#ifndef Mapfile_NoExStack
+# if OSMinorVersion >= 9
+# define Mapfile_NoExStack $(MAPFILEFLAG)/usr/lib/ld/map.noexstk
+# else
+# define Mapfile_NoExStack /**/
+# endif
+#endif
+#ifndef Mapfile_NoExData
+# if defined(SparcArchitecture)
+/* SPARC archictecture requires PLT section in .data be executable, so
+ we can only make .bss, not all of .data no-exec on SPARC */
+# define Mapfile_NoExData /**/
+# else
+# if OSMinorVersion >= 10
+# define Mapfile_NoExData $(MAPFILEFLAG)/usr/lib/ld/map.noexdata
+# else
+# define Mapfile_NoExData /**/
+# endif
+# endif
+#endif
+ MAPFILEFLAG = MapfileFlag
+ MAPFILES_FOR_ALL = Mapfile_PageAlign Mapfile_NoExData
+MAPFILES_FOR_PROGS = Mapfile_BssAlign Mapfile_NoExStack
+/* ExtraLoadFlags apply to all binaries - programs & libraries */
+# ifndef ExtraLoadFlags
+# define ExtraLoadFlags LazyLoadFlag $(MAPFILES_FOR_ALL)
+# endif
+/* ExtraLoadOptions only apply to programs */
+# ifndef ExtraLoadOptions
+# define ExtraLoadOptions -B direct $(MAPFILES_FOR_PROGS)
+# endif
+#endif /* OSMajorVersion < 5 */
+
+/* 64-bit build support */
+#ifndef Solaris64bitSubdir
+# ifdef Sparc64Architecture
+# define Solaris64bitSubdir sparcv9
+# elif defined(AMD64Architecture)
+# define Solaris64bitSubdir amd64
+# endif
+#endif
+
+#ifdef Solaris64bitSubdir
+# define LibDirName Concat3(lib,/,Solaris64bitSubdir)
+#endif
+
+#if OSMajorVersion > 4
+# include <svr4.cf>
+#endif
+
+#ifndef ManKeywordsTarget
+# define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ catman -M $(DESTDIR)manpath -w
+#endif
+
+#if !defined(UsePamLibrary)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
+# define UsePamLibrary YES
+# endif
+#endif
+
+/* PAM appeared in SunOS 5.6 */
+#if !defined(HasPam)
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define HasPam YES
+# endif
+#endif
+
+#ifndef PamLibraries
+#define PamLibraries -lpam
+#endif
+
+#ifndef HasMotif
+/* Solaris's Motif depends on Solaris libX11 and won't work with libX11 built
+ * from this tree, so only use it when using libX11 from outside the tree.
+ */
+# define HasMotif (defined(UseInstalled) || UseInstalledX11)
+# define MotifDir /usr/dt
+#endif /* !HasMotif */
+#ifndef HasMotif2
+/* Solaris's Motif2 version is broken and misses XmPrintShell
+ * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */
+# define HasMotif2 NO
+#endif /* !HasMotif2 */
+
+#define MotifDefines \
+ -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
+#define PamUnixDefines -DPAM_NIS
+#define TtLargePICTable YES
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+
+#define baseDtMailDefines \
+ -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
+#if !defined(i386Architecture) && !defined(AMD64Architecture)
+# define DtMailDefines baseDtMailDefines
+#else
+# define DtMailDefines -DBIG_ENDIAN baseDtMailDefines
+#endif
+
+#define ArchitectureDefines -DSUN_ARCHITECTURE
+
+#define TtClientExtraLibs ExtraLibraries -ldl -lintl
+
+#define ExportListGenSource elistgen.sun
+#define ShlibExportListOpt(filename) -M filename
+
+#define CdeProjectDefines \
+ -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
+ -D_XOPEN_SOURCE -D__EXTENSIONS__ \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
+
+
+/*
+ * Turn off HTML manpages like we do under NetBSD.
+ */
+#ifndef BuildHtmlManPages
+#define BuildHtmlManPages NO
+#endif
+
+/*
+ * Turn off seperate configuration directories.
+ */
+#ifndef UseSeparateConfDir
+#define UseSeparateConfDir NO
+#endif
+
+/* Hackery for building modules as Solaris shared objects with dependencies */
+#if MakeDllModules && DoLoadableServer
+
+/* If you change this, you will need to change find-deps.pl to match */
+#define DlModuleDependencyName(module) Concat(module,_deps)
+
+#define DlModuleTarget(module,deplist,modlist) @@\
+DepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\
+ @@\
+DlModuleDependencyName(module): @@\
+ touch $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(DlModuleDependencyName(module))
+
+#define ObjectModuleTarget(module,objects) @@\
+DlModuleTarget(Concat(module,_drv.so), objects, objects)
+
+#define LibraryModuleTarget(module,objects) @@\
+NormalLibraryTarget(module, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), objects, objects)
+
+#define DepLibraryModuleTarget(module,deplist,objects) @@\
+NormalDepLibraryTarget(module, deplist, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), deplist, objects)
+
+#endif
diff --git a/nx-X11/config/cf/sun.cf.X.original b/nx-X11/config/cf/sun.cf.X.original
new file mode 100644
index 000000000..55bf2c1e2
--- /dev/null
+++ b/nx-X11/config/cf/sun.cf.X.original
@@ -0,0 +1,957 @@
+XCOMM $XdotOrg: xc/config/cf/sun.cf,v 1.34 2005/12/03 17:20:48 alanc Exp $
+XCOMM platform: $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+/* For various reasons, Sun uses different settings when compiling the
+ * X Window System packages included in Solaris than are normally used
+ * by most people building the X.Org software releases. Sun also has
+ * two different X server hierarchies in Solaris - Xsun in /usr/openwin
+ * and Xorg in /usr/X11.
+ *
+ * If you want to try to match Sun's settings as closely as possible
+ * add this setting to your host.def:
+ * #define BuildLikeSun YES
+ *
+ * If you're trying to match the openwin directory layout as well, you'll
+ * need to also add:
+ * #define ProjectRoot /usr/openwin
+ * otherwise it will use /usr/X11. (Note that these settings match closer
+ * to Sun's Xorg delivery in /usr/X11 than the older X11R6.6-based delivery
+ * in /usr/openwin though.)
+ */
+#ifndef BuildLikeSun
+# define BuildLikeSun NO
+#endif
+
+#if BuildLikeSun
+# ifndef ProjectRoot
+# define ProjectRoot /usr/X11
+# endif
+# ifndef DocDir
+# define DocDir Concat(ProjectRoot,/share/doc)
+# endif
+# ifndef ManDirectoryRoot
+# define ManDirectoryRoot Concat(ProjectRoot,/share/man)
+# endif
+# ifndef ManSuffix
+# define ManSuffix 1
+# endif
+# ifndef LibraryCCOptions
+# if DoSharedLib && defined(SharedLibraryCCOptions)
+# define LibraryCCOptions SharedLibraryCCOptions ArchLibraryCCOptions
+# else
+# define LibraryCCOptions DefaultCCOptions ArchLibraryCCOptions
+# endif
+# endif
+#endif
+
+/* Flag passed to makestrs in Xt build to control string array names in the
+ * libXt headers. -solarisabinames matches those used in the libXt in
+ * Solaris, but not in other OS'es.
+ */
+#ifndef SolarisABIFlag
+# if BuildLikeSun
+# define SolarisABIFlag -solarisabinames
+# else
+# define SolarisABIFlag /**/
+# endif
+#endif
+
+/*
+ * Compiler setup. This sun.cf file knows what options to use with
+ * certain compilers, including Sun C, CenterLine C, and gcc. It
+ * also understands how to set some of the options for various C++
+ * compilers, including Sun C++ and CenterLine C++.
+ *
+ * === C Compiler Setup ==========================================
+ *
+ * For SunPro C, define HasSunC to YES in site.def.
+ * For CenterLine C, define HasCenterLineC to YES in site.def
+ * For gcc, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 to YES in site.def
+ * For other compilers, define HasSunC to NO in site.def, then
+ * provide appropriate values for the various compiler related
+ * configuration varibles used here.
+ *
+ * If you don't tell us which C compiler you have, we assume you have
+ * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc
+ * under SunOS 4.1.x
+ *
+ * === C++ Compiler Setup ==========================================
+ *
+ * For SunPro C++, define HasSunCplusplus to YES in site.def
+ * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
+ * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
+ * For other compilers, define HasCplusplus to YES in site.def, and
+ * check to see if you need to provide values for CplusplusOptions
+ * and/or DefaultCplusplusOptions.
+ *
+ * In any case, you may also need to set CplusplusDependIncludes.
+ *
+ * If you say you have the SunPro C++ compiler, we assume you have
+ * version 3.0.x of the compiler. If you have version 4.0.x instead,
+ * define CplusplusCompilerMajorVersion as 4 in site.def.
+ *
+ */
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasSunC
+# if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5)
+# define HasSunC NO
+# else
+# define HasSunC YES
+# endif
+#endif
+
+#if HasSunC
+# ifndef CCompilerMajorVersion
+# define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
+# endif
+# ifndef CCompilerMinorVersion
+# define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
+# endif
+XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
+
+/* Choose some reasonable default optimizer flags based on compiler &
+ OS versions */
+# ifndef OptimizedCDebugFlags
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2)
+# define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags
+# else
+# define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# if OSMajorVersion == 5
+# if defined(SparcArchitecture) && !defined(Sparc64Architecture)
+# if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */
+# define ArchOptimizedFlags -xarch=v8plus
+# else
+# define ArchOptimizedFlags -xarch=v8
+# endif
+# elif defined(i386Architecture) || defined(AMD64Architecture)
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 7)
+/* -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to
+ * avoid losing stack frame pointers so you can't get stack traces or debug.
+ * This may lose a small bit of performance, so you can override by adding
+ * #define FramePtrFlags -xregs=frameptr if you care about performance more
+ * than debuggability.
+ */
+# ifndef FramePtrFlags
+# define FramePtrFlags -xregs=no%frameptr
+# endif
+# endif
+# ifndef FramePtrFlags
+# define FramePtrFlags /* */
+# endif
+# if defined(i386Architecture) && (OSMinorVersion > 8)
+ /* Solaris 9 and later require Pentium or better */
+# define ArchOptimizedFlags -xpentium FramePtrFlags
+# else
+# define ArchOptimizedFlags FramePtrFlags
+# endif
+# endif
+# endif
+# ifndef ArchOptimizedFlags
+# define ArchOptimizedFlags /**/
+# endif
+# endif
+# ifndef DefaultCDebugFlags
+# define DefaultCDebugFlags OptimizedCDebugFlags
+# endif
+# ifndef SharedLibraryLdCmd
+# define SharedLibraryLdCmd $(CC)
+# endif
+/* Flags for lint version included with Sun C compilers */
+# if OSMajorVersion >= 5
+# ifndef LintLibFlag
+# define LintLibFlag -y -o
+# endif
+# ifndef LintOpts
+# define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc
+# endif
+# ifndef LintSecFlag
+# if (CCompilerMajorVersion > 5) || \
+ (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6)
+# define LintSecFlag -errsecurity=standard
+# else
+# define LintSecFlag /**/
+# endif
+# endif
+ LINTSECFLAG = LintSecFlag
+# ifndef LintLibReferences
+# define LintLibReferences(varname,libname,libsource) @@\
+ Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname)
+# endif
+
+# endif /* Lint Flags for Solaris */
+
+#endif /* HasSunC */
+
+#ifndef ArchLibraryCCOptions
+# if HasSunC && defined(SparcArchitecture) && CCompilerMajorVersion > 3
+# define ArchLibraryCCOptions -xregs=no%appl
+# else
+# define ArchLibraryCCOptions
+# endif
+#endif /* ArchLibraryCCOptions */
+
+/* we used to have this here :
+ *
+ * #if HasSunC
+ * # ifndef CCompilerMajorVersion
+ * # define CCompilerMajorVersion 3
+ * # define DefaultCDebugFlags -xO3
+ * # define OptimizedCDebugFlags -xO3
+ * # endif
+ * #endif
+ */
+
+#ifndef HasSunCplusplus
+# define HasSunCplusplus HasSunC /* ??? */
+#endif
+#if HasSunCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# define OptimizedCplusplusDebugFlags -xO4 -xbuiltin=%all -xlibmil
+# endif
+# ifndef CplusplusCompilerMajorVersion
+# ifdef DefaultSunProCplusplusCompilerMajorVersion
+# define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
+# else
+# define CplusplusCompilerMajorVersion 3
+# endif
+# endif
+# ifndef CplusplusCompilerMinorVersion
+# ifdef DefaultSunProCplusplusCompilerMinorVersion
+# define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
+# else
+# define CplusplusCompilerMinorVersion 0
+# endif
+# endif
+# ifndef CplusplusLibC
+# if CplusplusCompilerMajorVersion >= 5
+# define CplusplusLibC -norunpath -lCrun
+# endif
+# endif
+XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
+#endif
+
+/* we used to have this here :
+ *
+ * # ifndef CplusplusCompilerMajorVersion
+ * # define CplusplusCompilerMajorVersion 4
+ * # endif
+ */
+
+#if HasCenterLineC
+# ifndef CcCmd
+# define CcCmd clcc
+# endif
+#endif
+
+#if HasCenterLineCplusplus
+# ifndef HasCplusplus
+# define HasCplusplus YES
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions -Xa
+# endif
+# ifndef CplusplusOptions
+# define CplusplusOptions -Xa
+# endif
+#endif
+
+#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
+/* We do not guarantee this will work */
+# define BootstrapCFlags -DNOSTDHDRS
+# define StandardDefines -DNOSTDHDRS
+# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
+#endif
+
+#if OSMajorVersion == 4
+# if OSMinorVersion == 1
+# define HasPoll YES
+# endif
+# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
+/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
+# define SunPost411FCSLd YES
+# endif
+#endif
+
+/* The Xsun server was not building for SunOS 5.7 due to
+ includes of <sys/cg2reg.h>.
+*/
+#if OSMajorVersion < 5
+# define IncludeCG2HeaderDefine -DINCLUDE_CG2_HEADER
+#else
+# define IncludeCG2HeaderDefine /**/
+#endif
+
+#if defined(i386Architecture) || defined(AMD64Architecture)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define OSServerExtraDefines -D__SOL8__
+# endif
+#endif
+
+#if !HasGcc
+# if HasSunC
+# if defined(AMD64Architecture)
+# define AsmArch amd64
+# define AsmFlags -xarch=amd64
+# elif defined(i386Architecture)
+# define AsmArch ia32
+# define AsmFlags /**/
+# elif defined(Sparc64Architecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v9
+# elif defined(SparcArchitecture)
+# define AsmArch sparcv8plus
+# define AsmFlags -xarch=v8plus
+# endif
+# ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines $(SERVERSRC)/hw/xfree86/os-support/sunos/AsmArch.il
+# endif
+# endif
+#endif
+
+#ifndef CompilerServerExtraDefines
+# define CompilerServerExtraDefines /**/
+#endif
+
+#ifndef OSServerExtraDefines
+# define OSServerExtraDefines /**/
+#endif
+
+#ifndef ArchServerExtraDefines
+# if defined(Sparc64Architecture) || defined(AMD64Architecture)
+# define ArchServerExtraDefines -D_XSERVER64
+# else
+# define ArchServerExtraDefines /**/
+# endif
+#endif
+
+#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine
+#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
+ CompilerServerExtraDefines \
+ OSServerExtraDefines ArchServerExtraDefines
+
+#ifndef HasPerl
+/* Solaris 8 comes with perl. Earlier versions don't. */
+# if (OSMajorVersion == 5) && (OSMinorVersion >= 8)
+# define HasPerl YES
+# else
+# define HasPerl NO
+# endif
+#endif
+
+#ifndef XkbServerDefines
+# if BuildLikeSun
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT \
+ -DXKM_OUTPUT_DIR='"/var/run/xkb/"' -DXKM_OUTPUT_DIR_MODE=0775 \
+ -DMAKE_XKM_OUTPUT_DIR
+# else
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+# endif
+#endif
+
+#if OSMajorVersion > 4
+# define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
+# if HasSunC
+# ifdef DefaultSunProCCompilerDir
+# ifndef CcCmd
+# define CcCmd DefaultSunProCCompilerDir/cc
+# endif
+# endif
+# ifdef DefaultSunProCplusplusCompilerDir
+# ifndef CplusplusCmd
+# define CplusplusCmd DefaultSunProCplusplusCompilerDir/CC
+# endif
+# ifndef CplusplusFilt
+# define CplusplusFilt DefaultSunProCplusplusCompilerDir/c++filt
+# endif
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir DefaultSunProCplusplusCompilerDir/whatdir
+# endif
+# else /* DefaultSunProCplusplusCompilerDir not defined */
+# ifndef CplusplusWhatdir
+# define CplusplusWhatdir whatdir
+# endif
+# endif /* DefaultSunProCplusplusCompilerDir */
+# ifndef CplusplusDependIncludes
+# if CplusplusCompilerMajorVersion > 3
+# define CplusplusDependIncludes -I`CplusplusWhatdir CC`/../include/CC
+# elif CplusplusCompilerMajorVersion > 2
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC
+# else
+# define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC
+# endif
+# endif
+# endif /* HasSunC */
+
+# if HasSunC && (CCompilerMajorVersion < 3)
+# define BootstrapCFlags -DSVR4
+# else
+# define BootstrapCFlags /* none needed */
+# endif
+# ifndef XawI18nDefines
+# if OSMinorVersion < 4
+# define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+# else
+# define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+# endif
+# endif
+# if OSMinorVersion > 3
+# define InstallCmd /usr/ucb/install
+# endif
+#ifndef LargefileDefines
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define LargefileDefines -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
+# else
+# define LargefileDefines /* */
+# endif
+#endif
+# ifdef AMD64Architecture
+# define StandardDefines -Dsun -DSVR4 -D__EXTENSIONS__ -D__amd64
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# elif defined(i386Architecture)
+# if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5))
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ -D__SOL64__ LargefileDefines
+# else
+# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
+ LargefileDefines
+# endif
+# define ToolkitStringsABIOptions -intelabi SolarisABIFlag
+# else
+# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines
+# define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
+# endif
+# define ExtraLibraries -lsocket -lnsl
+# define HasWeakSymbols YES
+# if OSMinorVersion > 1
+# ifndef ThreadedX
+# define ThreadedX YES
+# endif
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
+# if HasSunC && CCompilerMajorVersion > 2
+# define ThreadsCompileFlags -mt
+# else
+# define SystemMTDefines -D_REENTRANT
+# define ThreadsLibraries -lthread
+# endif
+# if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
+# define ThreadsCplusplusCompileFlags -mt
+# else
+# define CplusplusSystemMTDefines -D_REENTRANT
+# define ThreadsCplusplusLibraries -lthread
+# endif
+# endif /* OSMinorVersion > 1 */
+# ifndef UseExportLists
+# if (OSMinorVersion > 4) && !HasGcc2
+# define UseExportLists YES
+# else
+# define UseExportLists NO
+# endif
+# endif
+# if OSMinorVersion > 5 /* Solaris 2.6 and later */
+# define HasSnprintf YES
+# endif
+# if OSMinorVersion > 7 /* Solaris 8 and later */
+# define HasStrlcat YES
+# define HasStrcasecmp YES
+# define HasVarRun YES
+# endif
+# if OSMinorVersion > 9 /* Solaris 10 and later */
+# define HasSetenv YES
+# define HasGetpeerucred YES
+# define HasGetoptLong YES
+# define DlLibrary -lc /* dlopen() is in libc in Solaris 10 */
+# endif
+# define HasVFork NO
+# define HasDlopen YES
+# define InstallXloadSetGID NO /* libkstat doesn't require gid kmem */
+# define InstKmemFlags -g sys -m 2711
+# define ShLibIncludeFile <sunLib.tmpl>
+# define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path)
+# define RpathLoadFlags LinkerRuntimeLibraryPathFlag($(USRLIBDIRPATH))
+/*
+ * Set flags for position independent code before including sv4Lib.rules
+ * if the compiler in use doesn't use standard SVR4 flags
+ */
+# if HasSunC || HasCenterLineC
+# define PositionIndependentCFlags -Kpic
+# define LargePositionIndependentCFlags -KPIC
+# ifdef Sparc64Architecture
+# define LargePICTable YES
+# endif
+# endif
+# if HasSunCplusplus || HasCenterLineCplusplus
+# define PositionIndependentCplusplusFlags -pic
+# define LargePositionIndependentCplusplusFlags -PIC
+# endif
+/* As is done in sco5.cf, we lie and say Solaris has NCURSES, since
+ * the system curses is close enough for xorgcfg's purposes. xorgcfg
+ * should not depend on the NCURSES package but rather on a "capable curses",
+ * of which NCURSES is just one.
+ */
+#define HasNCurses YES
+#define NCursesLibName -lcurses
+#else /* not OSMajorVersion > 4 */
+#define InstKmemFlags -g kmem -m 2711
+#include <sunLib.rules>
+#endif /* OSMajorVersion > 4 (else) */
+
+/* Solaris 10 includes FreeType already. It's also available in GNOME 2.0 for
+ * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to
+ * detect that in imake, so users of those releases who want to use the
+ * installed FreeType instead of the one in this tree should copy the following
+ * two settings to their host.def. Those who want to use the in-tree copy
+ * regardless of OS version should add "#define HasFreetype2 NO" to host.def.
+ */
+#ifndef HasFreetype2
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasFreetype2 YES
+# ifndef Freetype2Dir
+# define Freetype2Dir /usr/sfw
+# endif
+# else
+# define HasFreetype2 NO
+# endif
+#endif
+
+#ifndef HasExpat
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
+# define HasExpat YES
+# ifndef ExpatDir
+# define ExpatDir /usr/sfw
+# endif
+# else
+# define HasExpat NO
+# endif
+#endif
+
+/* Solaris 10 includes fontconfig, but not the fcprivate.h header needed by
+ * Xft1 library.
+ */
+#ifndef HasFontconfig
+# define HasFontconfig NO
+#endif
+
+/* libpng was in /usr/sfw/lib on Solaris 9, moved to /usr/lib in Solaris 10 */
+#ifndef HasLibpng
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasLibpng YES
+# if !defined(LibpngDir) && ((OSMajorVersion == 5) && (OSMinorVersion == 9))
+# define LibpngDir /usr/sfw
+# endif
+# else
+# define HasLibpng NO
+# endif
+#endif
+
+#ifndef HasZlib
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+# define HasZlib YES
+# else
+# define HasZlib NO
+# endif
+#endif
+
+#ifndef TroffCmd
+# if !(HasGroff)
+# define TroffCmd troff -Tpost
+# endif
+#endif
+
+#define BuildLibPathVar LD_LIBRARY_PATH
+#define HasNdbm YES
+#define HasShm YES
+#define HasSecureRPC YES
+#define SetTtyGroup YES
+#define HasPutenv YES
+#define HasMkstemp YES
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
+#define HasDevRandom YES /* /dev/random is in Solaris 8 patches */
+#define PollDevRandom YES /* /dev/random is poll()able on Solaris */
+#endif
+#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
+# define HasIssetugid YES
+#endif
+#if defined(Sun3Architecture) || defined(SparcArchitecture) || defined(Sparc64Architecture)
+# ifndef Xsun24Server
+# define Xsun24Server NO /* color, mono, multiple depths */
+# endif
+# ifndef XsunServer
+# define XsunServer NO /* color and mono, 8 bit only */
+# endif
+# ifndef XsunMonoServer
+# define XsunMonoServer NO /* monochrome only */
+# endif
+# ifndef XorgServer
+# define XorgServer (!(Xsun24Server || XsunServer || XsunMonoServer))
+# endif
+# undef BuildXF86DRI
+# define BuildXF86DRI NO
+# if (OSMajorVersion > 4)
+# if !defined(AsOutputArchSize) || \
+ ((AsOutputArchSize != 32) && (AsOutputArchSize != 64))
+# undef AsOutputArchSize
+# define AsOutputArchSize 32
+# endif
+# ifndef AsVISOption
+# if AsOutputArchSize == 32
+# ifdef UseGas
+# define AsVISOption -Av8plusa
+# else
+# define AsVISOption -xarch=v8plusa
+# endif
+# else
+# ifdef UseGas
+# define AsVISOption -Av9a
+# else
+# define AsVISOption -xarch=v9a
+# endif
+# endif
+# endif
+# endif
+#endif /* SPARC or Sun3/M68k */
+
+#if OSMajorVersion >= 4
+#define HasUsableFileMap YES
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+#if HasGcc
+# if OSMajorVersion > 4
+# ifndef DefaultCCOptions
+# ifdef UseInstalled
+# define DefaultCCOptions -DNO_ASM
+# elif OSMinorVersion > 6
+# define DefaultCCOptions -DNO_ASM GccWarningOptions
+# elif OSMinorVersion > 3
+# define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic
+# else
+# define DefaultCCOptions -DNO_ASM
+# endif
+# endif
+# endif
+# if HasGcc2
+# ifndef CcCmd
+# define CcCmd gcc
+# endif
+# ifndef AsCmd
+# define AsCmd CcCmd -c -x assembler
+# endif
+# ifndef OptimizedCDebugFlags
+# ifdef i386Architecture
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# elif defined(AMD64Architecture)
+# define OptimizedCDebugFlags DefaultGcc2AMD64Opt
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+# endif
+# if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd)
+# if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture)
+ /* This is to work around what appears to be a PIC bug in some gcc/egcs
+ versions that shows up with the Solaris 7/x86 <ctype.h>. */
+# define SharedLibraryLdCmd $(LD)
+# define SharedLibraryLoadFlags -G -z textwarn
+# else
+# define SharedLibraryLdCmd $(CC)
+# define SharedLibraryLoadFlags -shared -z text
+# endif
+# endif
+# else
+# define SharedLibraryCcCmd cc
+# define ExtraLoadFlags -B/usr/bin/
+# define AllocateLocalDefines /**/
+
+.c.o:
+ ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
+
+# endif /* HasGcc2 (else) */
+
+#else /* not HasGcc */
+
+# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
+
+/* Set up compiler-dependent options for Sun C */
+/*
+ * To build 64-bit binaries define Sparc64Architecture or AMD64Architecture
+ * in your site.def or host.def file.
+ */
+# if HasSunC
+# ifdef Sun3Architecture
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -f68881 -pipe
+# endif
+# else /* not defined(Sun3Architecture) */
+# if OSMajorVersion < 5
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -pipe
+# endif
+# else /* OSMajorVersion >= 5*/
+# ifndef DefaultXArchOptions
+# ifdef Sparc64Architecture
+# define DefaultXArchOptions -xarch=v9
+# elif defined(AMD64Architecture)
+# define DefaultXArchOptions -xarch=generic64
+# else
+# define DefaultXArchOptions /* */
+# endif
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xa -v DefaultXArchOptions -z lazyload -z combreloc -xstrconst -xildoff
+# endif
+# ifndef DefaultCplusplusOptions
+# define DefaultCplusplusOptions DefaultXArchOptions -z lazyload -z combreloc -xildoff
+# endif
+# ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -G DefaultXArchOptions -z text $(EXTRA_LOAD_FLAGS)
+# endif
+# endif
+# endif
+# endif
+# endif
+
+/* Set compiler-dependent options for CenterLine C */
+
+# if HasCenterLineC
+# ifndef DefaultCCOptions
+# define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
+# endif
+# ifndef NeedConstPrototypes
+# define NeedConstPrototypes YES
+# endif
+# ifndef NeedNestedPrototypes
+# define NeedNestedPrototypes YES
+# endif
+# ifndef NeedVarargsPrototypes
+# define NeedVarargsPrototypes YES
+# endif
+# endif
+
+
+#endif /* HasGcc (else) */
+
+#if OSMajorVersion < 5
+# define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
+# define LibraryCCOptions /* don't want special floating point */
+#else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */
+/* Only load libraries when needed on Solaris 7 & later */
+# if OSMinorVersion >= 7
+# define LazyLoadFlag -z lazyload -z combreloc
+# else
+# define LazyLoadFlag /* */
+# endif
+/* Link with extra mapfiles for some performance & security enhancements */
+#ifndef MapfileFlag
+# if HasSunC
+# define MapfileFlag -M
+# else
+# define MapfileFlag -Wl,-M,
+# endif
+#endif
+#ifndef Mapfile_BssAlign
+# if OSMinorVersion >= 9
+# define Mapfile_BssAlign $(MAPFILEFLAG)/usr/lib/ld/map.bssalign
+# else
+# define Mapfile_BssAlign /**/
+# endif
+#endif
+#ifndef Mapfile_PageAlign
+# if OSMinorVersion >= 10
+# define Mapfile_PageAlign $(MAPFILEFLAG)/usr/lib/ld/map.pagealign
+# else
+# define Mapfile_PageAlign /**/
+# endif
+#endif
+#ifndef Mapfile_NoExStack
+# if OSMinorVersion >= 9
+# define Mapfile_NoExStack $(MAPFILEFLAG)/usr/lib/ld/map.noexstk
+# else
+# define Mapfile_NoExStack /**/
+# endif
+#endif
+#ifndef Mapfile_NoExData
+# if defined(SparcArchitecture)
+/* SPARC archictecture requires PLT section in .data be executable, so
+ we can only make .bss, not all of .data no-exec on SPARC */
+# define Mapfile_NoExData /**/
+# else
+# if OSMinorVersion >= 10
+# define Mapfile_NoExData $(MAPFILEFLAG)/usr/lib/ld/map.noexdata
+# else
+# define Mapfile_NoExData /**/
+# endif
+# endif
+#endif
+ MAPFILEFLAG = MapfileFlag
+ MAPFILES_FOR_ALL = Mapfile_PageAlign Mapfile_NoExData
+MAPFILES_FOR_PROGS = Mapfile_BssAlign Mapfile_NoExStack
+/* ExtraLoadFlags apply to all binaries - programs & libraries */
+# ifndef ExtraLoadFlags
+# define ExtraLoadFlags LazyLoadFlag $(MAPFILES_FOR_ALL)
+# endif
+/* ExtraLoadOptions only apply to programs */
+# ifndef ExtraLoadOptions
+# define ExtraLoadOptions -B direct $(MAPFILES_FOR_PROGS)
+# endif
+#endif /* OSMajorVersion < 5 */
+
+/* 64-bit build support */
+#ifndef Solaris64bitSubdir
+# ifdef Sparc64Architecture
+# define Solaris64bitSubdir sparcv9
+# elif defined(AMD64Architecture)
+# define Solaris64bitSubdir amd64
+# endif
+#endif
+
+#ifdef Solaris64bitSubdir
+# define LibDirName Concat3(lib,/,Solaris64bitSubdir)
+#endif
+
+#if OSMajorVersion > 4
+# include <svr4.cf>
+#endif
+
+#ifndef ManKeywordsTarget
+# define ManKeywordsTarget(manpath) @@\
+man_keywords:: @@\
+ catman -M $(DESTDIR)manpath -w
+#endif
+
+#if !defined(UsePamLibrary)
+# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
+# define UsePamLibrary YES
+# endif
+#endif
+
+/* PAM appeared in SunOS 5.6 */
+#if !defined(HasPam)
+# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
+# define HasPam YES
+# endif
+#endif
+
+#ifndef PamLibraries
+#define PamLibraries -lpam
+#endif
+
+#ifndef HasMotif
+/* Solaris's Motif depends on Solaris libX11 and won't work with libX11 built
+ * from this tree, so only use it when using libX11 from outside the tree.
+ */
+# define HasMotif (defined(UseInstalled) || UseInstalledX11)
+# define MotifDir /usr/dt
+#endif /* !HasMotif */
+#ifndef HasMotif2
+/* Solaris's Motif2 version is broken and misses XmPrintShell
+ * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */
+# define HasMotif2 NO
+#endif /* !HasMotif2 */
+
+#define MotifDefines \
+ -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
+#define PamUnixDefines -DPAM_NIS
+#define TtLargePICTable YES
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+
+#define baseDtMailDefines \
+ -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
+#if !defined(i386Architecture) && !defined(AMD64Architecture)
+# define DtMailDefines baseDtMailDefines
+#else
+# define DtMailDefines -DBIG_ENDIAN baseDtMailDefines
+#endif
+
+#define ArchitectureDefines -DSUN_ARCHITECTURE
+
+#define TtClientExtraLibs ExtraLibraries -ldl -lintl
+
+#define ExportListGenSource elistgen.sun
+#define ShlibExportListOpt(filename) -M filename
+
+#define CdeProjectDefines \
+ -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
+ -D_XOPEN_SOURCE -D__EXTENSIONS__ \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
+
+
+/*
+ * Turn off HTML manpages like we do under NetBSD.
+ */
+#ifndef BuildHtmlManPages
+#define BuildHtmlManPages NO
+#endif
+
+/*
+ * Turn off seperate configuration directories.
+ */
+#ifndef UseSeparateConfDir
+#define UseSeparateConfDir NO
+#endif
+
+/* Hackery for building modules as Solaris shared objects with dependencies */
+#if MakeDllModules && DoLoadableServer
+
+/* If you change this, you will need to change find-deps.pl to match */
+#define DlModuleDependencyName(module) Concat(module,_deps)
+
+#define DlModuleTarget(module,deplist,modlist) @@\
+DepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\
+ @@\
+DlModuleDependencyName(module): @@\
+ touch $@ @@\
+ @@\
+clean:: @@\
+ RemoveFile(DlModuleDependencyName(module))
+
+#define ObjectModuleTarget(module,objects) @@\
+DlModuleTarget(Concat(module,_drv.so), objects, objects)
+
+#define LibraryModuleTarget(module,objects) @@\
+NormalLibraryTarget(module, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), objects, objects)
+
+#define DepLibraryModuleTarget(module,deplist,objects) @@\
+NormalDepLibraryTarget(module, deplist, objects) @@\
+DlModuleTarget(Concat3(lib,module,.so), deplist, objects)
+
+#endif
diff --git a/nx-X11/config/cf/sunLib.rules b/nx-X11/config/cf/sunLib.rules
new file mode 100644
index 000000000..11256b2ad
--- /dev/null
+++ b/nx-X11/config/cf/sunLib.rules
@@ -0,0 +1,133 @@
+XCOMM $Xorg: sunLib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * SunOS shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/sunLib.rules,v 1.3 2001/01/17 16:38:49 dawes Exp $
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef SharedDataSeparation
+#define SharedDataSeparation YES
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef -DSHAREDCODE
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef -DSUNSHLIB
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <sunLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -assert pure-text
+#endif
+#ifndef PositionIndependentCFlags
+#if HasGcc2
+#define PositionIndependentCFlags -fPIC
+#else
+#define PositionIndependentCFlags -pic
+#endif
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#if HasGcc2ForCplusplus
+#define PositionIndependentCplusplusFlags -fPIC
+#else
+#define PositionIndependentCplusplusFlags -pic
+#endif
+#endif
+
+/*
+ * SharedDSLibDependencies - shared library dependencies with data separation
+ */
+#ifndef SharedDSLibDependencies
+#define SharedDSLibDependencies(libname,libsource,revname) _UseCat($(USRLIBDIR)/lib,libsource/lib,libname.sa.$(revname))
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest) @@\
+InstallTarget(install,Concat(lib,libname.so.rev),$(INSTLIBFLAGS),dest)
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest) @@\
+install:: Concat(lib,libname.sa.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.sa.rev) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.sa.rev))
+#endif /* InstallSharedLibraryData */
+
+#if HasPurify
+#define PureCleanSharedLibrary(libname,rev) @@\
+clean clean.pure:: @@\
+ $(RM) Concat3(lib,libname,_pure_*.so.rev)
+#else
+#define PureCleanSharedLibrary(libname,rev) /**/
+#endif
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) @@\
+ @@\
+PureCleanSharedLibrary(libname,rev)
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(LD) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) @@\
+ @@\
+PureCleanSharedLibrary(libname,rev)
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist) @@\
+AllTarget(Concat(lib,libname.sa.rev)) @@\
+ @@\
+Concat(lib,libname.sa.rev): salist @@\
+ $(RM) $@ @@\
+ $(AR) $@ salist @@\
+ RanLibrary($@) @@\
+ LinkBuildLibrary($@) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.sa.rev)
+#endif /* SharedLibraryDataTarget */
diff --git a/nx-X11/config/cf/sunLib.tmpl b/nx-X11/config/cf/sunLib.tmpl
new file mode 100644
index 000000000..0eaaa9144
--- /dev/null
+++ b/nx-X11/config/cf/sunLib.tmpl
@@ -0,0 +1,145 @@
+XCOMM $Xorg: sunLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/sunLib.tmpl,v 1.14 2005/12/03 17:20:48 alanc Exp $
+
+
+
+
+
+XCOMM $XFree86: xc/config/cf/sunLib.tmpl,v 3.12tsi Exp $
+
+/*
+ * SunOS shared library template
+ */
+
+#if OSMajorVersion <= 4
+
+# if SunPost411FCSLd
+# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+# define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+# endif
+
+#ifndef SharedX11Rev
+#define SharedX11Rev 4.30
+#endif
+#ifndef SharedOldXRev
+#define SharedOldXRev 4.20
+#endif
+#ifndef SharedXtRev
+#define SharedXtRev 4.20
+#endif
+#ifndef SharedXawRev
+#define SharedXawRev 6.10
+#endif
+#ifndef SharedXmuRev
+#define SharedXmuRev 4.20
+#endif
+#ifndef SharedXextRev
+#define SharedXextRev 4.50
+#endif
+#ifndef SharedXiRev
+#define SharedXiRev 4.20
+#endif
+#ifndef SharedXtstRev
+#define SharedXtstRev 1.20
+#endif
+
+#else /* else it's Solaris */
+
+# if ThreadedX
+# if OSMinorVersion > 3
+# define SharedThreadReqs /**/
+# endif
+# endif
+
+# define SharedX11Reqs $(LDPRELIB) SharedThreadReqs $(EXTRA_LIBRARIES) -lc DlLibrary
+# define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedOldXReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) -lc
+# define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB) -lc
+# define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB) -lc
+# define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -lc
+# define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB) -lnsl -lc
+# define SharedXmuuReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXextReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXiReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXtstReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedFSReqs $(EXTRA_LIBRARIES) -lc
+# define SharedICEReqs $(EXTRA_LIBRARIES) -lc
+# define SharedSMReqs $(LDPRELIB) $(ICELIB) $(EXTRA_LIBRARIES) -lc
+# define SharedXineramaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpmReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXResReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXrenderReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB) -lc
+# define SharedXssReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvMCReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXfontReqs $(LDPRELIB) $(FREETYPE2LIB) GzipLibrary -lsocket MathLibrary -lc
+# define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+# define SharedFontencReqs $(LDPRELIB) GzipLibrary -lc
+# define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86miscReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86vmReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIBONLY) $(EXTRA_LIBRARIES) -lc
+# define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIBONLY) -lc
+# define SharedPSResReqs -lc
+# define SharedGLReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB) $(CXXLIB) MathLibrary -lc
+# define SharedGLwReqs $(LDPRELIBS) $(MOTIFLIB) $(GLXLIB) $(XTOOLLIB) $(XLIB)
+# define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB) MathLibrary -lc
+# define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB) -lc
+# define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB) MathLibrary -lc
+# define SharedXfixesReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXdamageReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXauReqs -lc
+# define SharedXdmcpReqs -lsocket -lc
+# define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB) -lc
+# define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XONLYLIB) -lc
+# define SharedXevieReqs $(LDPRELIB) $(XLIB)
+
+# define FixupLibReferences() /**/
+
+# define SharedPamReqs DlLibrary
+# define SharedPamUnixReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lnsl -lmp -lcmd SharedThreadReqs
+# define SharedPamSampleReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
+# define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
+# define SharedTtReqs -lnsl -lsocket -lintl DlLibrary -lc -lw
+# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtSearchReqs -lm -lc
+# define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc
+# define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtTermReqs SharedDtHelpReqs DlLibrary -lgen
+# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc
+# define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm DlLibrary
+# define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
+
+# define DtClientExtraLibs -lintl
+
+/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
+ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
+
+# if HasCplusplus
+# if HasGcc2ForCplusplus
+UNSHARED_CXXLIB = -static -lC
+# elif HasSunCplusplus
+# if CplusplusCompilerMajorVersion > 3
+# ifdef CplusplusWhatdir
+UNSHARED_CXXLIB = -Bstatic -L`CplusplusWhatdir CC`/../lib -lC -Bdynamic
+# else
+UNSHARED_CXXLIB = -Bstatic -L/opt/SUNWspro/SC4.0/lib -lC -Bdynamic
+# endif
+# else
+UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
+# endif
+# endif
+# endif
+
+# define IafSysLib /**/
+# include <sv4Lib.tmpl>
+
+#endif
diff --git a/nx-X11/config/cf/sunLib.tmpl.NX.original b/nx-X11/config/cf/sunLib.tmpl.NX.original
new file mode 100644
index 000000000..0eaaa9144
--- /dev/null
+++ b/nx-X11/config/cf/sunLib.tmpl.NX.original
@@ -0,0 +1,145 @@
+XCOMM $Xorg: sunLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/sunLib.tmpl,v 1.14 2005/12/03 17:20:48 alanc Exp $
+
+
+
+
+
+XCOMM $XFree86: xc/config/cf/sunLib.tmpl,v 3.12tsi Exp $
+
+/*
+ * SunOS shared library template
+ */
+
+#if OSMajorVersion <= 4
+
+# if SunPost411FCSLd
+# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+# define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+# endif
+
+#ifndef SharedX11Rev
+#define SharedX11Rev 4.30
+#endif
+#ifndef SharedOldXRev
+#define SharedOldXRev 4.20
+#endif
+#ifndef SharedXtRev
+#define SharedXtRev 4.20
+#endif
+#ifndef SharedXawRev
+#define SharedXawRev 6.10
+#endif
+#ifndef SharedXmuRev
+#define SharedXmuRev 4.20
+#endif
+#ifndef SharedXextRev
+#define SharedXextRev 4.50
+#endif
+#ifndef SharedXiRev
+#define SharedXiRev 4.20
+#endif
+#ifndef SharedXtstRev
+#define SharedXtstRev 1.20
+#endif
+
+#else /* else it's Solaris */
+
+# if ThreadedX
+# if OSMinorVersion > 3
+# define SharedThreadReqs /**/
+# endif
+# endif
+
+# define SharedX11Reqs $(LDPRELIB) SharedThreadReqs $(EXTRA_LIBRARIES) -lc DlLibrary
+# define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedOldXReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) -lc
+# define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB) -lc
+# define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB) -lc
+# define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -lc
+# define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB) -lnsl -lc
+# define SharedXmuuReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXextReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXiReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXtstReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedFSReqs $(EXTRA_LIBRARIES) -lc
+# define SharedICEReqs $(EXTRA_LIBRARIES) -lc
+# define SharedSMReqs $(LDPRELIB) $(ICELIB) $(EXTRA_LIBRARIES) -lc
+# define SharedXineramaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpmReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXResReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXrenderReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB) -lc
+# define SharedXssReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvMCReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXfontReqs $(LDPRELIB) $(FREETYPE2LIB) GzipLibrary -lsocket MathLibrary -lc
+# define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+# define SharedFontencReqs $(LDPRELIB) GzipLibrary -lc
+# define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86miscReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86vmReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIBONLY) $(EXTRA_LIBRARIES) -lc
+# define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIBONLY) -lc
+# define SharedPSResReqs -lc
+# define SharedGLReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB) $(CXXLIB) MathLibrary -lc
+# define SharedGLwReqs $(LDPRELIBS) $(MOTIFLIB) $(GLXLIB) $(XTOOLLIB) $(XLIB)
+# define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB) MathLibrary -lc
+# define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB) -lc
+# define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB) MathLibrary -lc
+# define SharedXfixesReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXdamageReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXauReqs -lc
+# define SharedXdmcpReqs -lsocket -lc
+# define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB) -lc
+# define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XONLYLIB) -lc
+# define SharedXevieReqs $(LDPRELIB) $(XLIB)
+
+# define FixupLibReferences() /**/
+
+# define SharedPamReqs DlLibrary
+# define SharedPamUnixReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lnsl -lmp -lcmd SharedThreadReqs
+# define SharedPamSampleReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
+# define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
+# define SharedTtReqs -lnsl -lsocket -lintl DlLibrary -lc -lw
+# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtSearchReqs -lm -lc
+# define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc
+# define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtTermReqs SharedDtHelpReqs DlLibrary -lgen
+# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc
+# define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm DlLibrary
+# define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
+
+# define DtClientExtraLibs -lintl
+
+/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
+ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
+
+# if HasCplusplus
+# if HasGcc2ForCplusplus
+UNSHARED_CXXLIB = -static -lC
+# elif HasSunCplusplus
+# if CplusplusCompilerMajorVersion > 3
+# ifdef CplusplusWhatdir
+UNSHARED_CXXLIB = -Bstatic -L`CplusplusWhatdir CC`/../lib -lC -Bdynamic
+# else
+UNSHARED_CXXLIB = -Bstatic -L/opt/SUNWspro/SC4.0/lib -lC -Bdynamic
+# endif
+# else
+UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
+# endif
+# endif
+# endif
+
+# define IafSysLib /**/
+# include <sv4Lib.tmpl>
+
+#endif
diff --git a/nx-X11/config/cf/sunLib.tmpl.X.original b/nx-X11/config/cf/sunLib.tmpl.X.original
new file mode 100644
index 000000000..3b4613ad4
--- /dev/null
+++ b/nx-X11/config/cf/sunLib.tmpl.X.original
@@ -0,0 +1,258 @@
+XCOMM $Xorg: sunLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/sunLib.tmpl,v 1.14 2005/12/03 17:20:48 alanc Exp $
+
+
+
+
+
+XCOMM $XFree86: xc/config/cf/sunLib.tmpl,v 3.12tsi Exp $
+
+/*
+ * SunOS shared library template
+ */
+
+#if OSMajorVersion <= 4
+
+# if SunPost411FCSLd
+# define SharedXmuReqs $(LDPRELIBS) $(XTOOLLIB) $(XLIB)
+# define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+# endif
+
+#ifndef SharedX11Rev
+#define SharedX11Rev 4.30
+#endif
+#ifndef SharedOldXRev
+#define SharedOldXRev 4.20
+#endif
+#ifndef SharedXtRev
+#define SharedXtRev 4.20
+#endif
+#ifndef SharedXawRev
+#define SharedXawRev 6.10
+#endif
+#ifndef SharedXmuRev
+#define SharedXmuRev 4.20
+#endif
+#ifndef SharedXextRev
+#define SharedXextRev 4.50
+#endif
+#ifndef SharedXiRev
+#define SharedXiRev 4.20
+#endif
+#ifndef SharedXtstRev
+#define SharedXtstRev 1.20
+#endif
+
+#else /* else it's Solaris */
+
+/* Solaris uses single digit library versions, and versions of libraries
+ * defined in SVID specs should match the versions specified there.
+ */
+
+#ifndef SharedX11Rev
+# define SharedX11Rev 4
+#endif
+#ifndef SharedOldXRev
+# define SharedOldXRev 6
+#endif
+#ifndef SharedXextRev
+# define SharedXextRev 0
+#endif
+#ifndef SharedXauRev
+# define SharedXauRev 6
+#endif
+#ifndef SharedXdmcpRev
+# define SharedXdmcpRev 6
+#endif
+#ifndef SharedXmuRev
+# define SharedXmuRev 4
+#endif
+#ifndef SharedXmuuRev
+# define SharedXmuuRev 1
+#endif
+#ifndef SharedXpRev
+# define SharedXpRev 1
+#endif
+#ifndef SharedXpmRev
+# define SharedXpmRev 4
+#endif
+#ifndef SharedXtRev
+# define SharedXtRev 4
+#endif
+#ifndef SharedXaw6Rev
+# define SharedXaw6Rev 5
+#endif
+#ifndef SharedXiRev
+# define SharedXiRev 5
+#endif
+#ifndef SharedXtstRev
+# define SharedXtstRev 1
+#endif
+#ifndef SharedFSRev
+# define SharedFSRev 5
+#endif
+#ifndef SharedICERev
+# define SharedICERev 6
+#endif
+#ifndef SharedSMRev
+# define SharedSMRev 6
+#endif
+#ifndef SharedXcursor
+# define SharedXcursorRev 1
+#endif
+#ifndef SharedXdamageRev
+# define SharedXdamageRev 1
+#endif
+#ifndef SharedXevieRev
+# define SharedXevieRev 1
+#endif
+#ifndef SharedXfixesRev
+# define SharedXfixesRev 1
+#endif
+#ifndef SharedXftRev
+# define SharedXftRev 2
+#endif
+#ifndef SharedXineramaRev
+# define SharedXineramaRev 1
+#endif
+#ifndef SharedXrenderRev
+# define SharedXrenderRev 1
+#endif
+#ifndef SharedXResRev
+# define SharedXResRev 1
+#endif
+#ifndef SharedXvRev
+# define SharedXvRev 1
+#endif
+#ifndef SharedXvMCRev
+# define SharedXvMCRev 1
+#endif
+#ifndef SharedXrandrRev
+# define SharedXrandrRev 2
+#endif
+#ifndef SharedXssRev
+# define SharedXssRev 1
+#endif
+#ifndef SharedFontconfigRev
+# define SharedFontconfigRev 1
+#endif
+#ifndef SharedGlxRev
+# define SharedGlxRev 1
+#endif
+#ifndef SharedGluRev
+# define SharedGluRev 1
+#endif
+#ifndef SharedGLwRev
+# define SharedGLwRev 1
+#endif
+#ifndef SharedOSMesaRev
+# define SharedOSMesaRev 4
+#endif
+#ifndef SharedxkbfileRev
+# define SharedxkbfileRev 5
+#endif
+#ifndef SharedXxf86miscRev
+# define SharedXxf86miscRev 1
+#endif
+#ifndef SharedXxf86vmRev
+# define SharedXxf86vmRev 1
+#endif
+
+# if ThreadedX
+# if OSMinorVersion > 3
+# define SharedThreadReqs /**/
+# endif
+# endif
+
+# define SharedX11Reqs $(LDPRELIB) SharedThreadReqs $(EXTRA_LIBRARIES) -lc DlLibrary
+# define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedOldXReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) -lc
+# define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB) -lc
+# define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB) -lc
+# define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -lc
+# define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB) -lnsl -lc
+# define SharedXmuuReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXextReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXiReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXtstReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedFSReqs $(EXTRA_LIBRARIES) -lc
+# define SharedICEReqs $(EXTRA_LIBRARIES) -lc
+# define SharedSMReqs $(LDPRELIB) $(ICELIB) $(EXTRA_LIBRARIES) -lc
+# define SharedXineramaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXpmReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXResReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXrenderReqs $(LDPRELIB) $(XLIBONLY) -lc
+# define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB) -lc
+# define SharedXssReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXvMCReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXfontReqs $(LDPRELIB) $(FREETYPE2LIB) GzipLibrary -lsocket MathLibrary -lc
+# define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+# define SharedFontencReqs $(LDPRELIB) GzipLibrary -lc
+# define SharedXxf86dgaReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86miscReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXxf86vmReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIBONLY) $(EXTRA_LIBRARIES) -lc
+# define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIBONLY) -lc
+# define SharedPSResReqs -lc
+# define SharedGLReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB) $(CXXLIB) MathLibrary -lc
+# define SharedGLwReqs $(LDPRELIBS) $(MOTIFLIB) $(GLXLIB) $(XTOOLLIB) $(XLIB)
+# define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB) MathLibrary -lc
+# define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB) -lc
+# define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB) MathLibrary -lc
+# define SharedXfixesReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXdamageReqs $(LDPRELIB) $(XLIB) -lc
+# define SharedXauReqs -lc
+# define SharedXdmcpReqs -lsocket -lc
+# define SharedXcompositeReqs $(LDPRELIB) $(XDAMAGELIB) $(XFIXESLIB) $(XLIB) -lc
+# define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XONLYLIB) -lc
+# define SharedXevieReqs $(LDPRELIB) $(XLIB)
+
+# define FixupLibReferences() /**/
+
+# define SharedPamReqs DlLibrary
+# define SharedPamUnixReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lnsl -lmp -lcmd SharedThreadReqs
+# define SharedPamSampleReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamDialAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) SharedThreadReqs
+# define SharedPamRhostsAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -lsocket SharedThreadReqs
+# define SharedPamDceAuthReqs $(LDPRELIBS) -lpam $(LDPOSTLIBS) -ldce -lnsl -lsocket SharedThreadReqs
+# define SharedTtReqs -lnsl -lsocket -lintl DlLibrary -lc -lw
+# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) SharedThreadReqs -lgen -lc -lsocket -lnsl DlLibrary
+# define SharedDtSearchReqs -lm -lc
+# define SharedDtWidgetReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lgen -lm -lc
+# define SharedDtPrintReqs $(LDPRELIBS) $(DTSVCLIB) $(DTHELPLIB) $(XMLIB) -lintl $(LDPOSTLIBS) -lw -lm -lc
+# define SharedDtTermReqs SharedDtHelpReqs DlLibrary -lgen
+# define SharedDtMrmReqs $(LDPRELIBS) $(DTTERMLIB) $(DTPRINTLIB) $(DTHELPLIB) $(DTWIDGETLIB) $(MRESOURCELIB) $(XMLIB) $(XTOOLLIB) $(XPLIB) $(XLIB) $(LDPOSTLIBS) -lw -lsocket -lnsl -lc
+# define SharedDtMailReqs $(LDPRELIBS) -lw $(CXXLIB) -lm DlLibrary
+# define SharedCsaReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXmReqs
+
+# define DtClientExtraLibs -lintl
+
+/* The inbuf paramter to iconv(3) is "const char**", not "char **" */
+ICONV_INBUF_DEFINE = -DICONV_INBUF_CONST=const
+
+# if HasCplusplus
+# if HasGcc2ForCplusplus
+UNSHARED_CXXLIB = -static -lC
+# elif HasSunCplusplus
+# if CplusplusCompilerMajorVersion > 3
+# ifdef CplusplusWhatdir
+UNSHARED_CXXLIB = -Bstatic -L`CplusplusWhatdir CC`/../lib -lC -Bdynamic
+# else
+UNSHARED_CXXLIB = -Bstatic -L/opt/SUNWspro/SC4.0/lib -lC -Bdynamic
+# endif
+# else
+UNSHARED_CXXLIB = -Bstatic -lC -Bdynamic -lm -lc -Bstatic
+# endif
+# endif
+# endif
+
+# define IafSysLib /**/
+# include <sv4Lib.tmpl>
+
+#endif
diff --git a/nx-X11/config/cf/sv3Lib.rules b/nx-X11/config/cf/sv3Lib.rules
new file mode 100644
index 000000000..00c1d7d3d
--- /dev/null
+++ b/nx-X11/config/cf/sv3Lib.rules
@@ -0,0 +1,252 @@
+XCOMM $Xorg: sv3Lib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/sv3Lib.rules,v 3.5 2002/11/22 22:55:56 tsi Exp $
+/*
+ * SVR3 shared library rules
+ * Copyright (c) 1992, 1993 by Thomas Wolfram, Berlin, Germany
+ * Author: Thomas Wolfram, thomas@aeon.in-berlin.de, wolf@prz.tu-berlin.de
+ * Conception derived partially from work of Thomas Roell
+ */
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries NO /* JUST FOR NOW */
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib YES
+#endif
+
+#ifndef SharedLibSM
+#define SharedLibSM HasSharedLibraries
+#endif
+#ifndef SharedLibXau
+#define SharedLibXau HasSharedLibraries
+#endif
+#ifndef SharedLibXdmcp
+#define SharedLibXdmcp HasSharedLibraries
+#endif
+#ifndef SharedLibXi
+#define SharedLibXi HasSharedLibraries
+#endif
+#ifndef SharedLibXtst
+#define SharedLibXtst HasSharedLibraries
+#endif
+#ifndef SharedLibICE
+#define SharedLibICE HasSharedLibraries
+#endif
+#ifndef SharedLibFS
+#define SharedLibFS HasSharedLibraries
+#endif
+#ifndef SharedLibX11
+#define SharedLibX11 HasSharedLibraries
+#endif
+#ifndef SharedOldX
+#define SharedOldX NO /* it's obsolete */
+#endif
+#ifndef SharedLibXt
+#define SharedLibXt HasSharedLibraries
+#endif
+#ifndef SharedLibXaw
+#define SharedLibXaw HasSharedLibraries
+#endif
+#ifndef SharedLibXmu
+#define SharedLibXmu HasSharedLibraries
+#endif
+#ifndef SharedLibXext
+#define SharedLibXext HasSharedLibraries
+#endif
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef -DSVR3SHLIB
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <sv3Lib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+#define SharedLibraryLoadFlags -q
+#endif
+
+#ifndef PositionIndependentCFlags
+# if HasGcc2
+# define PositionIndependentCFlags -msvr3-shlib
+# else
+# define PositionIndependentCFlags /**/
+# endif
+#endif
+
+#ifndef PositionIndependentCplusplusFlags
+# if HasGcc2
+# define PositionIndependentCplusplusFlags -msvr3-shlib
+# else
+# define PositionIndependentCplusplusFlags /**/
+# endif
+#endif
+
+#ifndef StripInstalledPrograms
+# define StripInstalledPrograms NO
+#endif
+
+#if 0
+/*
+ * LibCleanDir - helper for cleaning library object subdirectories
+ */
+#ifndef LibCleanDir
+#define LibCleanDir(dir) -@if [ -d dir ]; then \ @@\
+ (set -x; cd dir; $(RM) *.o *.sd); else exit 0; fi
+#endif
+
+/*
+ * SharedLibObjCompile - compile fragment for shared objects
+ */
+#ifndef SharedLibObjCompile
+#define SharedLibObjCompile(options) $(RM) shared/$@ @@\
+ cat import.h $*.c >_$*.c @@\
+ $(CC) -c $(ANSICCOPTIONS) $(CCOPTIONS) $(ALLDEFINES) options \ @@\
+$(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) \@@\
+_$*.c @@\
+ $(MV) _$*.o shared/$@ @@\
+ $(RM) _$*.c
+#endif
+
+/*
+ * NormalSharedLibObjCompile - compile fragment for shared object when
+ * a normal library is not being built
+ */
+#ifndef NormalSharedLibObjCompile
+#define NormalSharedLibObjCompile(options) $(RM) $@ @@\
+ cat import.h $*.c >_$*.c @@\
+ $(CC) -c $(CFLAGS) options $(SHLIBDEF) $(SHAREDCODEDEF) $(PICFLAGS) _$*.c @@\
+ $(MV) _$*.o $@ @@\
+ $(RM) _$*.c
+#endif
+
+
+#ifndef LibraryObjectRule
+#define LibraryObjectRule() @@\
+all:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _SharedLibMkdir() @@\
+ @@\
+includes:: @@\
+ _DebuggedLibMkdir() @@\
+ _ProfiledLibMkdir() @@\
+ _SharedLibMkdir() @@\
+ @@\
+.c.o: @@\
+ _DebuggedObjCompile($(_NOOP_)) @@\
+ _ProfiledObjCompile($(_NOOP_)) @@\
+ _SharedObjCompile($(_NOOP_)) @@\
+ _NormalObjCompile($(_NOOP_)) @@\
+ @@\
+.SUFFIXES: .sd @@\
+.c.sd: @@\
+ _SharedDatCompile(-DSVR3SHDAT) @@\
+ @@\
+clean:: @@\
+ _DebuggedCleanDir() @@\
+ _ProfiledCleanDir() @@\
+ _SharedCleanDir() @@\
+
+#endif /* LibraryObjectRule */
+
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#if StripInstalledPrograms
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
+ MakeDir($(DESTDIR)$(LIBDIR)/shlib) @@\
+ $(INSTALL) -c $(INSTPGMFLAGS) Concat(lib,libname.rev) \ @@\
+ $(DESTDIR)$(LIBDIR)/shlib @@\
+ strip Concat($(DESTDIR)$(LIBDIR)/shlib/lib,libname.rev) @@\
+ mcs -d Concat($(DESTDIR)$(LIBDIR)/shlib/lib,libname.rev)
+#else
+#define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat3(lib,libname,_s.a) $(DESTDIR)dest @@\
+ MakeDir($(DESTDIR)$(LIBDIR)/shlib) @@\
+ $(INSTALL) -c $(INSTPGMFLAGS) Concat(lib,libname.rev) \ @@\
+ $(DESTDIR)$(LIBDIR)/shlib
+#endif
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.rev)) @@\
+ @@\
+Concat(lib,libname.rev): solist @@\
+ $(RM) $@ Concat3(lib,libname,_s.a) @@\
+ $(CPP) -DDOWN=down ConnectionFlags ShlibDefines Concat(lib,libname.def) | \ @@\
+ sed -e '/^# *[0-9][0-9]* *.*$$/d; /^$$/d' >spec.cpp @@\
+ sed -e '1,/#libraries/d; /#externals/,$$d' spec.cpp | \ @@\
+ nawk '{ system("ar x " $$1 " " $$2 )}' @@\
+ echo "#target " Concat($(LIBDIR)/shlib/lib,libname.rev) >spec @@\
+ sed -e '/#libraries/,$$d' spec.cpp >>spec @@\
+ mkshlib -s spec -t $@ -h Concat3(lib,libname,_s.a) $(SHLIBLDFLAGS) @@\
+ ar rulv Concat3(lib,libname,_s.a) `sed -e '1,/#externals/d' spec.cpp` @@\
+ $(RM) spec.cpp spec @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.rev) Concat3(lib,libname,_s.a)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.rev)) @@\
+ @@\
+Concat(lib,libname.rev): deplist @@\
+ $(RM) $@ Concat3(lib,libname,_s.a) @@\
+ $(CPP) -DDOWN=down ConnectionFlags ShlibDefines Concat(lib,libname.def) | \ @@\
+ sed -e '/^# *[0-9][0-9]* *.*$$/d; /^$$/d' >spec.cpp @@\
+ sed -e '1,/#libraries/d; /#externals/,$$d' spec.cpp | \ @@\
+ nawk '{ system("ar x " $$1 " " $$2 )}' @@\
+ echo "#target " Concat($(LIBDIR)/shlib/lib,libname.rev) >spec @@\
+ sed -e '/#libraries/,$$d' spec.cpp >>spec @@\
+ mkshlib -s spec -t $@ -h Concat3(lib,libname,_s.a) $(SHLIBLDFLAGS) @@\
+ ar rulv Concat3(lib,libname,_s.a) `sed -e '1,/#externals/d' spec.cpp` @@\
+ $(RM) spec.cpp spec @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.rev) Concat3(lib,libname,_s.a)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
+
+#endif
diff --git a/nx-X11/config/cf/sv3Lib.tmpl b/nx-X11/config/cf/sv3Lib.tmpl
new file mode 100644
index 000000000..c9fd32331
--- /dev/null
+++ b/nx-X11/config/cf/sv3Lib.tmpl
@@ -0,0 +1,70 @@
+XCOMM $Xorg: sv3Lib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/sv3Lib.tmpl,v 3.2 2001/01/17 16:38:49 dawes Exp $
+/*
+ * SVR3 shared library template
+ * Copyright (c) 1992, 1993 by Thomas Wolfram, Berlin, Germany
+ * Author: Thomas Wolfram, thomas@aeon.in-berlin.de, wolf@prz.tu-berlin.de
+ * Conception derived partially from work of Thomas Roell
+ */
+
+#ifndef SharedXlibRev
+#define SharedXlibRev 6.0.0
+#endif
+#ifndef SharedOldXRev
+#define SharedOldXRev 6.0
+#endif
+#ifndef SharedXtRev
+#define SharedXtRev 6.0
+#endif
+#ifndef SharedXawRev
+#define SharedXawRev 6.0
+#endif
+#ifndef SharedXmuRev
+#define SharedXmuRev 6.0
+#endif
+#ifndef SharedXextRev
+#define SharedXextRev 6.0
+#endif
+#ifndef SharedXinputRev
+#define SharedXinputRev 6.0
+#endif
+
+ SHLIBLDFLAGS = SharedLibraryLoadFlags
+ PICFLAGS = PositionIndependentCFlags
+
+/*
+ * and now a little bit of magic for using imake without source tree; if we
+ * are using shared libraries, we really do not need to depend on anything
+ */
+#if SharedLibXext
+ DEPEXTENSIONLIB = _UseCat($(USRLIBDIR),$(EXTENSIONSRC)/lib,/libXext_s.a)
+ EXTENSIONLIB = LoaderLibPrefix _Use(-lXext_s, $(DEPEXTENSIONLIB))
+#endif
+#if SharedLibX
+ DEPXLIB = $(DEPEXTENSIONLIB) _UseCat($(USRLIBDIR),$(XLIBSRC),/libX11_s.a)
+ XLIB = $(EXTENSIONLIB) LoaderLibPrefix _Use(-lX11_s,$(XLIBSRC)/libX11_s.a)
+#endif
+#if SharedLibXmu
+ DEPXMULIB = _UseCat($(USRLIBDIR),$(XMUSRC),/libXmu_s.a)
+ XMULIB = LoaderLibPrefix _Use(-lXmu_s,$(DEPXMULIB))
+#endif
+#if SharedOldLibX
+ DEPOLDXLIB = _UseCat($(USRLIBDIR),$(OLDXLIBSRC),/liboldX_s.a)
+ OLDXLIB = LoaderLibPrefix _Use(-loldX_s,$(DEPOLDXLIB))
+#endif
+#if SharedLibXt
+ DEPXTOOLLIB = _UseCat($(USRLIBDIR),$(TOOLKITSRC),/libXt_s.a)
+ XTOOLLIB = LoaderLibPrefix _Use(-lXt_s,$(DEPXTOOLLIB))
+#endif
+#if SharedLibXaw
+ DEPXAWLIB = _UseCat($(USRLIBDIR),$(AWIDGETSRC),/libXaw_s.a)
+ XAWLIB = LoaderLibPrefix _Use(-lXaw_s,$(DEPXAWLIB))
+#endif
+#if SharedLibXinput
+ DEPXILIB = _UseCat($(USRLIBDIR),$(XILIBSRC),/libXi_s.a)
+ XILIB = LoaderLibPrefix _Use(-lXi_s,$(DEPXILIB))
+#endif
+
diff --git a/nx-X11/config/cf/sv4Lib.rules b/nx-X11/config/cf/sv4Lib.rules
new file mode 100644
index 000000000..e027fdbee
--- /dev/null
+++ b/nx-X11/config/cf/sv4Lib.rules
@@ -0,0 +1,206 @@
+XCOMM $Xorg: sv4Lib.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * SVR4 shared library rules
+ */
+
+XCOMM $XFree86: xc/config/cf/sv4Lib.rules,v 3.8tsi Exp $
+
+#ifndef HasSharedLibraries
+# define HasSharedLibraries YES
+#endif
+#ifndef SharedDataSeparation
+# define SharedDataSeparation NO
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus HasGcc2
+#endif
+#ifndef SharedCodeDef
+# define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+# define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+# define ShLibIncludeFile <sv4Lib.tmpl>
+#endif
+#ifndef SharedLibraryLdCmd
+# define SharedLibraryLdCmd $(LD)
+#endif
+#ifndef SharedLibraryLoadFlags
+# define SharedLibraryLoadFlags -G -z text
+#endif
+#ifndef RpathLoadFlags
+#define RpathLoadFlags /**/
+#endif
+#ifndef LibraryRpathLoadFlags
+#define LibraryRpathLoadFlags RpathLoadFlags
+#endif
+#ifndef HardCodeLibdirFlag
+#define HardCodeLibdirFlag RpathLoadFlags
+#endif
+#ifndef PositionIndependentCFlags
+# if HasGcc2
+# define PositionIndependentCFlags -fPIC
+# else
+# define PositionIndependentCFlags -K PIC
+# endif
+#endif
+#ifndef PositionIndependentCplusplusFlags
+# if HasGcc2ForCplusplus
+# define PositionIndependentCplusplusFlags -fPIC
+# else
+# define PositionIndependentCplusplusFlags -K PIC
+# endif
+#endif
+#ifndef UseExportLists
+# define UseExportLists NO
+#endif
+#ifndef StripInstalledPrograms
+# define StripInstalledPrograms NO
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ */
+#ifndef InstallSharedLibrary
+#if StripInstalledPrograms
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ mcs -d Concat($(DESTDIR)dest/lib,libname.so.rev) @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ cd $(DESTDIR)dest; \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)); fi
+#else
+# define InstallSharedLibrary(libname,rev,dest) @@\
+install:: Concat(lib,libname.so.rev) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) $(INSTALLFLAGS) $(INSTLIBFLAGS) Concat(lib,libname.so.rev) $(DESTDIR)dest @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat($(DESTDIR)dest/lib,libname.so); \ @@\
+ cd $(DESTDIR)dest; \ @@\
+ $(LN) Concat(lib,libname.so.rev) Concat(lib,libname.so)); fi
+#endif
+
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+# define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+#ifndef LinkWithExports
+# if UseExportLists
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS)) @@\
+ if [ -f Concat(lib,libname.elist) ]; then \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ $(CPP) $(ALLINCLUDES) $(EXTRA_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(DEFINES) Concat(lib,libname.elist) | CppSedMagic >$@.list; \ @@\
+ $(EXPORTLISTGEN) $@~ $@.list > down/$@.exports; \ @@\
+ (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ ShlibExportListOpt($@.exports) solist $(REQUIREDLIBS)); \ @@\
+ $(RM) down/$@.exports $@.list; \ @@\
+ fi;
+# else
+# define LinkWithExports(libname,rev,solist,down,up) \
+ (cd down; $(CCENVSETUP) SharedLibraryLdCmd -o up/$@~ $(SHLIBLDFLAGS) -h $@ solist $(REQUIREDLIBS))
+# endif
+#endif
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+# define SharedLibraryTarget(libname,rev,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): solist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ LinkWithExports(libname,rev,solist,down,up) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+# define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ LinkWithExports(libname,rev,solist,down,up) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+/*
+ * SharedDepCplusplusLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepCplusplusLibraryTarget
+#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
+AllTarget(Concat(lib,libname.so.rev)) @@\
+ @@\
+Concat(lib,libname.so.rev): deplist $(EXTRALIBRARYDEPS) @@\
+ $(RM) $@~ @@\
+ (cd down; $(CXX) -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @if $(SOSYMLINK); then (set -x; \ @@\
+ $(RM) Concat(lib,libname.so); \ @@\
+ $(LN) $@ Concat(lib,libname.so)); fi @@\
+ LinkBuildLibrary($@) @@\
+ LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK)) @@\
+ @@\
+clean:: @@\
+ $(RM) Concat(lib,libname.so.rev)
+#endif /* SharedDepCplusplusLibraryTarget */
+
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist) @@\
+AllTarget(name) @@\
+ @@\
+name: deps @@\
+ $(RM) $@~ @@\
+ SharedLibraryLdCmd -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) @@\
+ $(RM) $@ @@\
+ $(MV) $@~ $@ @@\
+ @@\
+clean:: @@\
+ $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+# define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff --git a/nx-X11/config/cf/sv4Lib.tmpl b/nx-X11/config/cf/sv4Lib.tmpl
new file mode 100644
index 000000000..d209e83ff
--- /dev/null
+++ b/nx-X11/config/cf/sv4Lib.tmpl
@@ -0,0 +1,89 @@
+XCOMM $Xorg: sv4Lib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*
+ * SVR4 shared library template
+ */
+
+XCOMM $XFree86: xc/config/cf/sv4Lib.tmpl,v 3.7 2003/05/29 21:56:57 herrb Exp $
+
+/* SVR4 shared libraries are deficient in link semantics */
+XMULIBONLY = -lXmu
+#ifndef FixupLibReferences
+# define FixupLibReferences() @@\
+XMULIB = $(XMULIBONLY) -z nodefs
+#endif
+#ifndef XawClientLibs
+# define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#if 0
+/* This causes problems on SVR4.0 */
+#ifndef SharedICEReqs
+# define SharedICEReqs -lsocket
+#endif
+#endif
+
+#if ThreadedX
+# ifndef SharedThreadReqs
+# define SharedThreadReqs -lthread
+# endif
+# ifndef SharedX11Reqs
+# define SharedX11Reqs -lthread
+# endif
+#else
+# ifndef SharedThreadReqs
+# define SharedThreadReqs
+# endif
+#endif
+
+#ifndef SharedXReqs
+# define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB) SharedThreadReqs $(LDPOSTLIBS)
+#endif
+
+#ifndef SharedXlibi18nReqs
+# define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
+#endif
+
+#ifndef SharedXmReqs
+# define SharedXmReqs $(LDPRELIBS) SharedXReqs -lgen -lsocket -lnsl -lw -lc
+#endif
+
+#ifndef SharedMrmReqs
+# define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs -lgen -lsocket -lnsl -lw -lc
+#endif
+
+#ifndef SharedUilReqs
+# define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lgen -lsocket -lnsl -lw -lc
+#endif
+
+#ifndef SharedDtSvcReqs
+# define SharedDtSvcReqs $(LDPRELIBS) $(TTLIB) $(XMLIB) SharedXReqs
+#endif
+
+#ifndef SharedDtMmdbReqs
+# define SharedDtMmdbReqs $(LDPRELIBS) $(DTSVCLIB) $(TTLIB) $(XMLIB) SharedXReqs
+#endif
+
+#ifndef SharedDtHelpReqs
+# define SharedDtHelpReqs $(LDPRELIBS) $(DTSVCLIB) $(XMLIB) SharedXReqs
+#endif
+
+#ifndef DtClientExtraLibs
+# define DtClientExtraLibs -lresolv
+#endif
+
+REGEXSYSLIB = -lgen
+DYNLIBSYSLIB = -ldl
+
+#ifndef IafSysLib
+# define IafSysLib -liaf
+#endif
+IAFSYSLIB = IafSysLib
+
+#ifndef SharedGLUReqs
+# if HasGcc2ForCplusplus
+# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB) $(CXXLIB)
+# else
+# define SharedGLUReqs $(LDPRELIBS) $(XLIB) $(GLXLIB)
+# endif
+#endif
diff --git a/nx-X11/config/cf/svr3.cf b/nx-X11/config/cf/svr3.cf
new file mode 100644
index 000000000..88ee4faab
--- /dev/null
+++ b/nx-X11/config/cf/svr3.cf
@@ -0,0 +1,348 @@
+XCOMM $Xorg: svr3.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/svr3.cf,v 3.15 2002/08/19 03:16:31 tsi Exp $
+
+#ifndef HasGcc
+#define HasGcc YES
+#endif
+#ifndef HasGcc2
+#define HasGcc2 YES
+#endif
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef GccUsesGas
+#define GccUsesGas NO
+#endif
+#ifndef UseGas
+#define UseGas NO
+#endif
+#ifndef GnuCpp
+#define GnuCpp NO
+#endif
+
+#ifndef Gcc2MOption
+# if HasGcc2
+# define Gcc2MOption /* */
+# else
+# define Gcc2MOption /* */
+# endif
+#endif
+
+#ifndef HasShadowPasswd
+# define HasShadowPasswd YES
+#endif
+
+#ifndef HasLibCrypt
+# define HasLibCrypt NO
+#endif
+
+#ifndef HasSVR3mmapDrv
+# define HasSVR3mmapDrv NO
+#endif
+
+#if HasSVR3mmapDrv
+# define SVR3mmapFlags -DHAS_SVR3_MMAPDRV
+#else
+# define SVR3mmapFlags /**/
+#endif
+
+#ifndef HasSockets
+# define HasSockets YES
+#endif
+
+#ifndef XmanSearchPath
+#define XmanSearchPath /usr/man
+#endif
+
+/*
+ * Most SVR3 do not have symbolic links, only some of the newer ones
+ */
+#ifndef HasSymLinks
+# define HasSymLinks NO
+#endif
+
+#ifndef MotifBC
+# define MotifBC YES
+#endif
+
+#ifndef CompressAllFonts
+# define CompressAllFonts YES
+#endif
+
+/*
+ * A default OS name
+ */
+#ifndef OSName
+#ifdef i386Architecture
+#define OSName UNIX System V/386 Release 3
+#else
+#define OSName UNIX System V Release 3
+#endif
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+
+/*
+ * The default version will be 3.0.0 which should be
+ * the least common denominator of all SVR3
+ */
+
+#ifndef OSMajorVersion
+#define OSMajorVersion 3
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef BootstrapCFlags
+#ifdef SYSV386
+#define BootstrapCFlags -DSYSV -DSYSV386
+#else
+#define BootstrapCFlags -DSYSV
+#endif
+#endif
+
+/* Some stuff that all SYSV's should have */
+
+#define SystemV YES
+
+#ifndef NeedBerklib
+#define NeedBerklib YES
+#endif
+#ifndef HasPoll
+#define HasPoll YES
+#endif
+#ifndef SVR3Architecture
+#define SVR3Architecture
+#endif
+#ifndef PatheticCpp
+#define PatheticCpp YES
+#endif
+
+#ifndef StandardDefines
+#ifdef i386Architecture
+#define StandardDefines -DSYSV OSDefines -Di386
+#else
+#define StandardDefines -DSYSV OSDefines
+#endif
+#endif
+
+#ifndef ServerOSDefines
+# ifdef i386Architecture
+# define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+# else
+# define ServerOSDefines -DDDXTIME
+# endif
+#endif
+
+#ifndef XawI18nDefines
+# define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+
+#ifndef DefaultCDebugFlags
+# if HasGcc2
+# if defined(i386Architecture)
+# define DefaultCDebugFlags DefaultGcc2i386Opt
+# else
+# define DefaultCDebugFlags -O2
+# endif
+# else
+# define DefaultCDebugFlags -O
+# endif
+#endif
+
+#ifndef LdCombineFlags
+#define LdCombineFlags -r
+#endif
+
+#if HasGcc
+# if HasGcc2
+# define DefaultCCOptions Gcc2MOption -DNO_ASM -fpcc-struct-return \
+ -fwritable-strings
+# define LibraryCCOptions Gcc2MOption -DNO_ASM -fpcc-struct-return
+# if defined(i386Architecture)
+# define OptimizedCDebugFlags DefaultGcc2i386Opt
+# else
+# define OptimizedCDebugFlags -O2
+# endif
+# else
+# define DefaultCCOptions -DNO_ASM -fpcc-struct-return -fwritable-strings
+# define LibraryCCOptions -DNO_ASM -fpcc-struct-return
+# define OptimizedCDebugFlags -O -fstrength-reduce
+# endif
+# define ShlibDefines -D__GNUC__ $(XDMAUTHDEFS)
+#else
+# define ShlibDefines $(XDMAUTHDEFS)
+#endif
+
+#ifndef Malloc0ReturnsNull
+#define Malloc0ReturnsNull YES
+#endif
+
+#ifndef SocketLibraries
+# define SocketLibraries /**/
+#endif
+#ifndef LocalLibraries
+# define LocalLibraries /**/
+#endif
+#ifndef ExtraLibraries
+# if HasSockets
+# define ExtraLibraries SocketLibraries LocalLibraries
+# else
+# define ExtraLibraries LocalLibraries
+# endif
+#endif
+
+#if RemoveDSDENroffMacros
+# define RemoveDSDENroffMacrosCmd sed -e '/^\.D[S|E]$$/d'
+#else
+# define RemoveDSDENroffMacrosCmd cat
+#endif
+
+#ifndef ConnectionFlags
+# define ConnectionFlags -DLOCALCONN -DTCPCONN
+#endif
+
+#ifndef FormattedManPages
+# define FormattedManPages YES
+#endif
+
+#ifndef ManSuffix
+# define ManSuffix 1x
+# define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+# define LibManSuffix 3x
+# define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+# define FileManSuffix 4
+#endif
+
+/*
+ * Compress manual pages, default on ISC and SCO
+ */
+#ifndef CompressManPages
+# define CompressManPages YES
+#endif
+
+/*
+ * The .DS and .DE macros used in some manual pages are obsolete
+ * in the often used ISC's Textprocessing Workbench 2.1.0 and break it,
+ * so it's better to remove these previously
+ */
+#ifndef RemoveDSDENroffMacros
+# define RemoveDSDENroffMacros NO
+#endif
+
+#if RemoveDSDENroffMacros
+# define RemoveDSDENroffMacrosCmd sed -e '/^\.D[S|E]$$/d'
+#else
+# define RemoveDSDENroffMacrosCmd cat
+#endif
+
+#ifndef CompressManCmd
+# define CompressManCmd @true
+#endif
+
+ RMDSDEMACCMD = RemoveDSDENroffMacrosCmd
+ COMPRESSMANCMD = CompressManCmd
+
+#if FormattedManPages
+
+#ifndef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) @@\
+BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
+ @@\
+install.man:: file.man @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.$(MANSUFFIX)* @@\
+ $(RMDSDEMACCMD) file.man | neqn | nroff -man >/tmp/file.man @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
+ -$(COMPRESSMANCMD) $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
+ $(RM) /tmp/file.man
+#endif
+
+#ifndef InstallGenManPageLong
+#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
+BuildInstallHtmlManPage(file,dest,suffix) @@\
+ @@\
+install.man:: file.man @@\
+ MakeDir($(DESTDIR)destdir) @@\
+ $(RM) $(DESTDIR)destdir/dest.suffix* @@\
+ $(RMDSDEMACCMD) file.man | neqn | nroff -man >/tmp/file.man @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.suffix @@\
+ -$(COMPRESSMANCMD) $(DESTDIR)destdir/dest.suffix @@\
+ $(RM) /tmp/file.man
+#endif
+
+#ifndef InstallMultipleMan
+#define InstallMultipleMan(list,dest) @@\
+install.man:: list @@\
+ MakeDir($(DESTDIR)dest) @@\
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ set -x; \ @@\
+ $(RM) $(DESTDIR)dest/$${MNAME}*; \ @@\
+ $(RMDSDEMACCMD) $$i | neqn | nroff -man >/tmp/$$i; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX); \ @@\
+ $(COMPRESSMANCMD) $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX); \ @@\
+ $(RM) /tmp/$$i); \ @@\
+ done
+#endif
+
+/*
+ * InstallManPageAliases - generate rules to install manual page aliases.
+ * (Make hard links on SVR3.)
+ */
+#ifndef InstallManPageAliasesBase
+#define InstallManPageAliasesBase(file,destdir,aliases) @@\
+
+install.man:: @@\
+ @(SUFFIX=`echo $(DESTDIR)destdir/file.* | cut -f2,3 -d.`; \ @@\
+ for i in aliases; do (set -x; \ @@\
+ $(RM) $(DESTDIR)destdir/$$i.*; \ @@\
+ (cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \ @@\
+ $$i.$${SUFFIX})); \ @@\
+ done)
+#endif
+
+#ifndef InstallManPageAliases
+#define InstallManPageAliases(file,destdir,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+#endif
+
+#ifndef InstallGenManPageAliases
+#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
+InstallHtmlManPageAliases(file,aliases,suffix) @@\
+ @@\
+InstallManPageAliasesBase(file,destdir,aliases)
+#endif
+
+#endif /* FormattedManPages */
+
+/* If you have trouble with make bombing out in Xlib, try uncommenting this. */
+/* You will not get dependencies as a result, but better than nothing. */
+#ifndef MakeHashTableBug
+#define MakeHashTableBug NO
+#endif
+
+#if MakeHashTableBug
+#define DependTarget3(srcs1,srcs2,srcs3)
+#endif
+
+#include <sv3Lib.rules>
+
+#ifdef i386Architecture
+#include <xorg.cf>
+#endif
+
diff --git a/nx-X11/config/cf/svr4.cf b/nx-X11/config/cf/svr4.cf
new file mode 100644
index 000000000..8567b6caf
--- /dev/null
+++ b/nx-X11/config/cf/svr4.cf
@@ -0,0 +1,295 @@
+XCOMM $Xorg: svr4.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/svr4.cf,v 3.50 2003/11/04 01:25:31 dawes Exp $
+/*
+ * A default OS name
+ */
+#ifndef OSName
+#ifdef i386Architecture
+#define OSName UNIX System V/386 Release 4
+#else
+#define OSName UNIX System V Release 4
+#endif
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+
+/*
+ * The default version will be 4.0.0 which should be
+ * the least common denominator of all SVR4
+ */
+
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef BootstrapCFlags
+#ifdef i386Architecture
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#ifdef SYSV386
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#define BootstrapCFlags -DSVR4
+#endif
+#endif
+#endif
+
+/* Some stuff that all SVR4s should have */
+
+#ifndef SystemV4
+#define SystemV4 YES
+#endif
+#ifndef HasLdRunPath
+#define HasLdRunPath YES
+#endif
+/*
+ * Currently the NX transport only works with select().
+ *
+#define HasPoll YES
+ */
+#define HasPoll NO
+#ifndef SVR4Architecture
+#define SVR4Architecture
+#endif
+#ifndef PatheticCpp
+#define PatheticCpp YES
+#endif
+#define Malloc0ReturnsNull YES /* in case -lmalloc used */
+
+/*
+ * Here are the default paths to use to pick up tools for building.
+ */
+#ifndef ArCmdBase
+#define ArCmdBase /usr/ccs/bin/ar
+#endif
+#ifndef AsCmd
+#define AsCmd /usr/ccs/bin/as
+#endif
+#ifndef CppCmd
+#define CppCmd /usr/ccs/lib/cpp
+#endif
+#ifndef RawCppCmd
+#if !defined(SunArchitecture)
+#define RawCppCmd CppCmd -Uunix -Ui386
+#endif
+#endif
+#ifndef LdCmd
+#define LdCmd /usr/ccs/bin/ld
+#endif
+#ifndef LexCmd
+#define LexCmd /usr/ccs/bin/lex
+#endif
+#ifndef MakeCmd
+#define MakeCmd /usr/ccs/bin/make
+#endif
+#ifndef YaccCmd
+#define YaccCmd /usr/ccs/bin/yacc
+#endif
+#ifndef MkdirHierCmd
+#define MkdirHierCmd mkdir -p
+#endif
+
+/*
+ * Add the s option to ArCmd and ArAddCmd so that empty archives can be created
+ */
+#ifndef ArCmd
+#define ArCmd ArCmdBase cqs
+#endif
+#ifndef ArAddCmd
+#define ArAddCmd ArCmdBase rus
+#endif
+
+/* Libtool on SVR4 uses minor numbers */
+#ifndef LibtoolMinorVersions
+#define LibtoolMinorVersions YES
+#endif
+
+#ifndef SunArchitecture
+/*
+ * These come from usl.cf, and at least some are required by other
+ * SVR4 versions
+ */
+#ifndef UseLocalRegex
+#define UseLocalRegex YES
+#endif
+#ifndef XmDefines
+#define XmDefines \
+ -DNO_REGCOMP -DNEED_STRCASECMP \
+ -DSUPPORT_ZERO_WIDTH -DHAS_WIDECHAR_FUNCTIONS
+#endif
+#ifndef DtSvcDefines
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#endif
+#ifndef DtSearchDefines
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#endif
+#ifndef DtWidgetDefines
+#define DtWidgetDefines DtSearchDefines
+#endif
+#ifndef DtPrintDefines
+#define DtPrintDefines DtSearchDefines
+#endif
+#ifndef HasStrcasecmp
+#define HasStrcasecmp NO
+#endif
+#endif
+
+/* SVR4 (including Solaris) doesn't have setenv() and unsetenv() */
+#ifndef HasSetenv
+#define HasSetenv NO
+#endif
+
+#ifndef SunArchitecture
+#if (OSMinorVersion == 0)
+#ifndef XawI18nDefines
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+#ifndef UseSmartScheduler
+#define UseSmartScheduler NO
+#endif
+#endif
+#ifdef i386Architecture
+#ifndef HasPosixRegex
+#define HasPosixRegex NO
+#endif
+#endif
+#ifndef LogDirectory
+#define LogDirectory $(VARDIR)/adm
+#endif
+#endif
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasPerl
+#define HasPerl NO
+#endif
+
+#ifdef i386Architecture
+#ifndef SunArchitecture
+#if (OSMinorVersion > 2) || ((OSMinorVersion == 2) && (OSTeenyVersion >= 2))
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -DSVR42MP -Di386
+#endif
+#ifndef HasParallelMake
+#define HasParallelMake YES
+#endif
+#if HasParallelMake
+#define TopParallelDefines -P -B
+#define MutexDirective .MUTEX
+#endif
+#else /* SVR4 < 4.2.2 */
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -Di386
+#endif
+#endif
+#endif
+#ifndef ToolkitStringsABIOptions
+#define ToolkitStringsABIOptions -intelabi -earlyR6bc
+#endif
+#ifndef DefaultCCOptions
+#if !HasGcc
+#define DefaultCCOptions -Xa -Dasm=__asm
+#endif
+#endif
+#ifndef DefaultCDebugFlags
+#if HasGcc
+#if HasGcc2
+#ifndef CcCmd
+#define CcCmd gcc
+#endif
+#define DefaultCDebugFlags DefaultGcc2i386Opt
+#else
+#define DefaultCDebugFlags -O2
+#endif
+#else
+#define DefaultCDebugFlags -O
+#endif
+#endif
+#ifndef ServerOSDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#endif
+#endif
+
+/*
+ * The TLI interface is more robust on most SVR4s, so it will be the default.
+ */
+#if !defined(SunArchitecture)
+#ifndef ConnectionFlags
+#define ConnectionFlags -DSTREAMSCONN -DUNIXCONN -DLOCALCONN
+#endif
+#endif
+
+#ifndef ManSuffix
+#define ManSuffix 1x
+#define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+#define LibManSuffix 3x
+#define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+#define FileManSuffix 4
+#endif
+
+#ifndef StaticLibrary
+#if !HasGcc
+#define StaticLibrary(libpath,libname) -B static Concat(-L,libpath) Concat(-l,libname) -B dynamic
+#endif
+#endif
+
+#ifndef SharedLibXdmGreet
+#define SharedLibXdmGreet HasSharedLibraries
+#endif
+
+/*
+ * At this point, an XFree86 port to Sparc/SunOS cannot be officially supported
+ * because the system I am using to develop this is just a loaner from Sun.
+ */
+#if defined(i386Architecture) || defined(AMD64Architecture) || \
+ defined(PpcArchitecture) || \
+ (defined(SparcArchitecture) && \
+ defined(SunArchitecture) && \
+ (!defined(XorgServer) || (XorgServer)))
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#include <xorg.cf>
+#endif
+
+#ifndef DoLoadableServer
+# define DoLoadableServer NO
+#endif
+#ifndef GccWarningOptions
+# define GccWarningOptions /* */
+#endif
+#ifndef XFree86ServerDefines
+# define XFree86ServerDefines /* */
+#endif
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines -DDDXOSINIT -DDDXOSFATALERROR -DDDXOSVERRORF
+#endif
+
+#if HasGcc2ForCplusplus
+# ifndef CplusplusLibCDir
+# define CplusplusLibCDir /usr/local/lib
+# endif
+#endif
+
+#include <sv4Lib.rules>
diff --git a/nx-X11/config/cf/svr4.cf.NX.original b/nx-X11/config/cf/svr4.cf.NX.original
new file mode 100644
index 000000000..8567b6caf
--- /dev/null
+++ b/nx-X11/config/cf/svr4.cf.NX.original
@@ -0,0 +1,295 @@
+XCOMM $Xorg: svr4.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/svr4.cf,v 3.50 2003/11/04 01:25:31 dawes Exp $
+/*
+ * A default OS name
+ */
+#ifndef OSName
+#ifdef i386Architecture
+#define OSName UNIX System V/386 Release 4
+#else
+#define OSName UNIX System V Release 4
+#endif
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+
+/*
+ * The default version will be 4.0.0 which should be
+ * the least common denominator of all SVR4
+ */
+
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef BootstrapCFlags
+#ifdef i386Architecture
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#ifdef SYSV386
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#define BootstrapCFlags -DSVR4
+#endif
+#endif
+#endif
+
+/* Some stuff that all SVR4s should have */
+
+#ifndef SystemV4
+#define SystemV4 YES
+#endif
+#ifndef HasLdRunPath
+#define HasLdRunPath YES
+#endif
+/*
+ * Currently the NX transport only works with select().
+ *
+#define HasPoll YES
+ */
+#define HasPoll NO
+#ifndef SVR4Architecture
+#define SVR4Architecture
+#endif
+#ifndef PatheticCpp
+#define PatheticCpp YES
+#endif
+#define Malloc0ReturnsNull YES /* in case -lmalloc used */
+
+/*
+ * Here are the default paths to use to pick up tools for building.
+ */
+#ifndef ArCmdBase
+#define ArCmdBase /usr/ccs/bin/ar
+#endif
+#ifndef AsCmd
+#define AsCmd /usr/ccs/bin/as
+#endif
+#ifndef CppCmd
+#define CppCmd /usr/ccs/lib/cpp
+#endif
+#ifndef RawCppCmd
+#if !defined(SunArchitecture)
+#define RawCppCmd CppCmd -Uunix -Ui386
+#endif
+#endif
+#ifndef LdCmd
+#define LdCmd /usr/ccs/bin/ld
+#endif
+#ifndef LexCmd
+#define LexCmd /usr/ccs/bin/lex
+#endif
+#ifndef MakeCmd
+#define MakeCmd /usr/ccs/bin/make
+#endif
+#ifndef YaccCmd
+#define YaccCmd /usr/ccs/bin/yacc
+#endif
+#ifndef MkdirHierCmd
+#define MkdirHierCmd mkdir -p
+#endif
+
+/*
+ * Add the s option to ArCmd and ArAddCmd so that empty archives can be created
+ */
+#ifndef ArCmd
+#define ArCmd ArCmdBase cqs
+#endif
+#ifndef ArAddCmd
+#define ArAddCmd ArCmdBase rus
+#endif
+
+/* Libtool on SVR4 uses minor numbers */
+#ifndef LibtoolMinorVersions
+#define LibtoolMinorVersions YES
+#endif
+
+#ifndef SunArchitecture
+/*
+ * These come from usl.cf, and at least some are required by other
+ * SVR4 versions
+ */
+#ifndef UseLocalRegex
+#define UseLocalRegex YES
+#endif
+#ifndef XmDefines
+#define XmDefines \
+ -DNO_REGCOMP -DNEED_STRCASECMP \
+ -DSUPPORT_ZERO_WIDTH -DHAS_WIDECHAR_FUNCTIONS
+#endif
+#ifndef DtSvcDefines
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#endif
+#ifndef DtSearchDefines
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#endif
+#ifndef DtWidgetDefines
+#define DtWidgetDefines DtSearchDefines
+#endif
+#ifndef DtPrintDefines
+#define DtPrintDefines DtSearchDefines
+#endif
+#ifndef HasStrcasecmp
+#define HasStrcasecmp NO
+#endif
+#endif
+
+/* SVR4 (including Solaris) doesn't have setenv() and unsetenv() */
+#ifndef HasSetenv
+#define HasSetenv NO
+#endif
+
+#ifndef SunArchitecture
+#if (OSMinorVersion == 0)
+#ifndef XawI18nDefines
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+#ifndef UseSmartScheduler
+#define UseSmartScheduler NO
+#endif
+#endif
+#ifdef i386Architecture
+#ifndef HasPosixRegex
+#define HasPosixRegex NO
+#endif
+#endif
+#ifndef LogDirectory
+#define LogDirectory $(VARDIR)/adm
+#endif
+#endif
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasPerl
+#define HasPerl NO
+#endif
+
+#ifdef i386Architecture
+#ifndef SunArchitecture
+#if (OSMinorVersion > 2) || ((OSMinorVersion == 2) && (OSTeenyVersion >= 2))
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -DSVR42MP -Di386
+#endif
+#ifndef HasParallelMake
+#define HasParallelMake YES
+#endif
+#if HasParallelMake
+#define TopParallelDefines -P -B
+#define MutexDirective .MUTEX
+#endif
+#else /* SVR4 < 4.2.2 */
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -Di386
+#endif
+#endif
+#endif
+#ifndef ToolkitStringsABIOptions
+#define ToolkitStringsABIOptions -intelabi -earlyR6bc
+#endif
+#ifndef DefaultCCOptions
+#if !HasGcc
+#define DefaultCCOptions -Xa -Dasm=__asm
+#endif
+#endif
+#ifndef DefaultCDebugFlags
+#if HasGcc
+#if HasGcc2
+#ifndef CcCmd
+#define CcCmd gcc
+#endif
+#define DefaultCDebugFlags DefaultGcc2i386Opt
+#else
+#define DefaultCDebugFlags -O2
+#endif
+#else
+#define DefaultCDebugFlags -O
+#endif
+#endif
+#ifndef ServerOSDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#endif
+#endif
+
+/*
+ * The TLI interface is more robust on most SVR4s, so it will be the default.
+ */
+#if !defined(SunArchitecture)
+#ifndef ConnectionFlags
+#define ConnectionFlags -DSTREAMSCONN -DUNIXCONN -DLOCALCONN
+#endif
+#endif
+
+#ifndef ManSuffix
+#define ManSuffix 1x
+#define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+#define LibManSuffix 3x
+#define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+#define FileManSuffix 4
+#endif
+
+#ifndef StaticLibrary
+#if !HasGcc
+#define StaticLibrary(libpath,libname) -B static Concat(-L,libpath) Concat(-l,libname) -B dynamic
+#endif
+#endif
+
+#ifndef SharedLibXdmGreet
+#define SharedLibXdmGreet HasSharedLibraries
+#endif
+
+/*
+ * At this point, an XFree86 port to Sparc/SunOS cannot be officially supported
+ * because the system I am using to develop this is just a loaner from Sun.
+ */
+#if defined(i386Architecture) || defined(AMD64Architecture) || \
+ defined(PpcArchitecture) || \
+ (defined(SparcArchitecture) && \
+ defined(SunArchitecture) && \
+ (!defined(XorgServer) || (XorgServer)))
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#include <xorg.cf>
+#endif
+
+#ifndef DoLoadableServer
+# define DoLoadableServer NO
+#endif
+#ifndef GccWarningOptions
+# define GccWarningOptions /* */
+#endif
+#ifndef XFree86ServerDefines
+# define XFree86ServerDefines /* */
+#endif
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines -DDDXOSINIT -DDDXOSFATALERROR -DDDXOSVERRORF
+#endif
+
+#if HasGcc2ForCplusplus
+# ifndef CplusplusLibCDir
+# define CplusplusLibCDir /usr/local/lib
+# endif
+#endif
+
+#include <sv4Lib.rules>
diff --git a/nx-X11/config/cf/svr4.cf.X.original b/nx-X11/config/cf/svr4.cf.X.original
new file mode 100644
index 000000000..46410f091
--- /dev/null
+++ b/nx-X11/config/cf/svr4.cf.X.original
@@ -0,0 +1,290 @@
+XCOMM $Xorg: svr4.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/svr4.cf,v 3.50 2003/11/04 01:25:31 dawes Exp $
+/*
+ * A default OS name
+ */
+#ifndef OSName
+#ifdef i386Architecture
+#define OSName UNIX System V/386 Release 4
+#else
+#define OSName UNIX System V Release 4
+#endif
+#endif
+#ifndef OSVendor
+#define OSVendor /**/
+#endif
+
+/*
+ * The default version will be 4.0.0 which should be
+ * the least common denominator of all SVR4
+ */
+
+#ifndef OSMajorVersion
+#define OSMajorVersion 4
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion 0
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion 0
+#endif
+#ifndef BootstrapCFlags
+#ifdef i386Architecture
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#ifdef SYSV386
+#define BootstrapCFlags -DSVR4 -Di386
+#else
+#define BootstrapCFlags -DSVR4
+#endif
+#endif
+#endif
+
+/* Some stuff that all SVR4s should have */
+
+#ifndef SystemV4
+#define SystemV4 YES
+#endif
+#ifndef HasLdRunPath
+#define HasLdRunPath YES
+#endif
+#define HasPoll YES
+#ifndef SVR4Architecture
+#define SVR4Architecture
+#endif
+#ifndef PatheticCpp
+#define PatheticCpp YES
+#endif
+#define Malloc0ReturnsNull YES /* in case -lmalloc used */
+
+/*
+ * Here are the default paths to use to pick up tools for building.
+ */
+#ifndef ArCmdBase
+#define ArCmdBase /usr/ccs/bin/ar
+#endif
+#ifndef AsCmd
+#define AsCmd /usr/ccs/bin/as
+#endif
+#ifndef CppCmd
+#define CppCmd /usr/ccs/lib/cpp
+#endif
+#ifndef RawCppCmd
+#if !defined(SunArchitecture)
+#define RawCppCmd CppCmd -Uunix -Ui386
+#endif
+#endif
+#ifndef LdCmd
+#define LdCmd /usr/ccs/bin/ld
+#endif
+#ifndef LexCmd
+#define LexCmd /usr/ccs/bin/lex
+#endif
+#ifndef MakeCmd
+#define MakeCmd /usr/ccs/bin/make
+#endif
+#ifndef YaccCmd
+#define YaccCmd /usr/ccs/bin/yacc
+#endif
+#ifndef MkdirHierCmd
+#define MkdirHierCmd mkdir -p
+#endif
+
+/*
+ * Add the s option to ArCmd and ArAddCmd so that empty archives can be created
+ */
+#ifndef ArCmd
+#define ArCmd ArCmdBase cqs
+#endif
+#ifndef ArAddCmd
+#define ArAddCmd ArCmdBase rus
+#endif
+
+/* Libtool on SVR4 uses minor numbers */
+#ifndef LibtoolMinorVersions
+#define LibtoolMinorVersions YES
+#endif
+
+#ifndef SunArchitecture
+/*
+ * These come from usl.cf, and at least some are required by other
+ * SVR4 versions
+ */
+#ifndef UseLocalRegex
+#define UseLocalRegex YES
+#endif
+#ifndef XmDefines
+#define XmDefines \
+ -DNO_REGCOMP -DNEED_STRCASECMP \
+ -DSUPPORT_ZERO_WIDTH -DHAS_WIDECHAR_FUNCTIONS
+#endif
+#ifndef DtSvcDefines
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
+#endif
+#ifndef DtSearchDefines
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#endif
+#ifndef DtWidgetDefines
+#define DtWidgetDefines DtSearchDefines
+#endif
+#ifndef DtPrintDefines
+#define DtPrintDefines DtSearchDefines
+#endif
+#ifndef HasStrcasecmp
+#define HasStrcasecmp NO
+#endif
+#endif
+
+/* SVR4 (including Solaris) doesn't have setenv() and unsetenv() */
+#ifndef HasSetenv
+#define HasSetenv NO
+#endif
+
+#ifndef SunArchitecture
+#if (OSMinorVersion == 0)
+#ifndef XawI18nDefines
+#define XawI18nDefines -DUSE_XWCHAR_STRING
+#endif
+#ifndef UseSmartScheduler
+#define UseSmartScheduler NO
+#endif
+#endif
+#ifdef i386Architecture
+#ifndef HasPosixRegex
+#define HasPosixRegex NO
+#endif
+#endif
+#ifndef LogDirectory
+#define LogDirectory $(VARDIR)/adm
+#endif
+#endif
+
+#ifndef HasGcc3
+#define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+#define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+#define HasGcc HasGcc2
+#endif
+
+#ifndef HasPerl
+#define HasPerl NO
+#endif
+
+#ifdef i386Architecture
+#ifndef SunArchitecture
+#if (OSMinorVersion > 2) || ((OSMinorVersion == 2) && (OSTeenyVersion >= 2))
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -DSVR42MP -Di386
+#endif
+#ifndef HasParallelMake
+#define HasParallelMake YES
+#endif
+#if HasParallelMake
+#define TopParallelDefines -P -B
+#define MutexDirective .MUTEX
+#endif
+#else /* SVR4 < 4.2.2 */
+#ifndef StandardDefines
+#define StandardDefines -DSVR4 -Di386
+#endif
+#endif
+#endif
+#ifndef ToolkitStringsABIOptions
+#define ToolkitStringsABIOptions -intelabi -earlyR6bc
+#endif
+#ifndef DefaultCCOptions
+#if !HasGcc
+#define DefaultCCOptions -Xa -Dasm=__asm
+#endif
+#endif
+#ifndef DefaultCDebugFlags
+#if HasGcc
+#if HasGcc2
+#ifndef CcCmd
+#define CcCmd gcc
+#endif
+#define DefaultCDebugFlags DefaultGcc2i386Opt
+#else
+#define DefaultCDebugFlags -O2
+#endif
+#else
+#define DefaultCDebugFlags -O
+#endif
+#endif
+#ifndef ServerOSDefines
+#define ServerOSDefines -DDDXTIME XFree86ServerOSDefines
+#endif
+#endif
+
+/*
+ * The TLI interface is more robust on most SVR4s, so it will be the default.
+ */
+#if !defined(SunArchitecture)
+#ifndef ConnectionFlags
+#define ConnectionFlags -DSTREAMSCONN -DUNIXCONN -DLOCALCONN
+#endif
+#endif
+
+#ifndef ManSuffix
+#define ManSuffix 1x
+#define ManDir $(MANSOURCEPATH)1
+#endif
+#ifndef LibManSuffix
+#define LibManSuffix 3x
+#define LibmanDir $(MANSOURCEPATH)3
+#endif
+#ifndef FileManSuffix
+#define FileManSuffix 4
+#endif
+
+#ifndef StaticLibrary
+#if !HasGcc
+#define StaticLibrary(libpath,libname) -B static Concat(-L,libpath) Concat(-l,libname) -B dynamic
+#endif
+#endif
+
+#ifndef SharedLibXdmGreet
+#define SharedLibXdmGreet HasSharedLibraries
+#endif
+
+/*
+ * At this point, an XFree86 port to Sparc/SunOS cannot be officially supported
+ * because the system I am using to develop this is just a loaner from Sun.
+ */
+#if defined(i386Architecture) || defined(AMD64Architecture) || \
+ defined(PpcArchitecture) || \
+ (defined(SparcArchitecture) && \
+ defined(SunArchitecture) && \
+ (!defined(XorgServer) || (XorgServer)))
+#ifndef DoLoadableServer
+#define DoLoadableServer YES
+#endif
+#include <xorg.cf>
+#endif
+
+#ifndef DoLoadableServer
+# define DoLoadableServer NO
+#endif
+#ifndef GccWarningOptions
+# define GccWarningOptions /* */
+#endif
+#ifndef XFree86ServerDefines
+# define XFree86ServerDefines /* */
+#endif
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines -DDDXOSINIT
+#endif
+
+#if HasGcc2ForCplusplus
+# ifndef CplusplusLibCDir
+# define CplusplusLibCDir /usr/local/lib
+# endif
+#endif
+
+#include <sv4Lib.rules>
diff --git a/nx-X11/config/cf/ultrix.cf b/nx-X11/config/cf/ultrix.cf
new file mode 100644
index 000000000..51bd20dba
--- /dev/null
+++ b/nx-X11/config/cf/ultrix.cf
@@ -0,0 +1,82 @@
+XCOMM platform: $Xorg: ultrix.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86$
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion.OSMinorVersion)
+
+#define HasNdbm YES
+#define HasPutenv YES
+#define HasShm YES
+#define LintLibFlag -o
+#define LintOpts -ax
+
+#ifndef HasDECnet
+#define HasDECnet NO
+#endif
+#if HasDECnet
+#define ExtraLibraries -ldnet
+#endif
+
+#if ThreadedX
+/* if you want to experiment, turn this on, but no guarantees */
+#define HasThreadSafeAPI NO
+#define HasPosixThreads YES
+#define ThreadPreStdAPIDefines -DXPRE_STANDARD_API
+#define ExtraLibraries -lpthreads -li
+#endif
+
+#ifdef VaxArchitecture
+#define NativeFPFormat DEC_F_Float
+#define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
+#define BuildServer NO
+#endif
+
+#ifdef MipsArchitecture
+#if OSMajorVersion > 4 || (OSMajorVersion == 4 && OSMinorVersion >= 2)
+#define XdecServer YES
+#define ServerOSDefines -DDDXTIME
+/* Even under ultrix 4.2, the compiler miscompiles some alloca calls */
+#define AllocateLocalDefines /* -DINCLUDE_ALLOCA_H */
+#else
+#define BuildServer NO
+#define AllocateLocalDefines /**/
+#endif
+#if !HasGcc
+#define NeedFunctionPrototypes YES
+/*
+ * NormalLibObjCompile - compile fragment for a library object file
+ * do ld -x to remove line number symbols for libraries
+ */
+#define NormalLibObjCompile(options) $(RM) $@ $*.os \ @@\
+ && $(CC) -c options $(CFLAGS) $*.c \ @@\
+ && $(LD) $(LDSTRIPFLAGS) -r $@ -o $*.os \ @@\
+ && $(MV) $*.os $@
+#endif
+#endif
+
+#if HasGcc
+#ifdef VaxArchitecture
+#define CcCmd gcc -ansi -Dvax -Dultrix -fpcc-struct-return
+#endif
+#ifdef MipsArchitecture
+#define CcCmd gcc -ansi -Dmips -Dultrix -fpcc-struct-return
+#endif
+#define ServerCCOptions /* */
+#define AllocateLocalDefines /* */
+#endif
+
+#define ServerExtraDefines AllocateLocalDefines
+#define HasWChar32 YES
+
+#define MotifDefines -DNO_REGEX -DNO_REGCOMP -DNO_CONST
diff --git a/nx-X11/config/cf/usl.cf b/nx-X11/config/cf/usl.cf
new file mode 100644
index 000000000..e54476bee
--- /dev/null
+++ b/nx-X11/config/cf/usl.cf
@@ -0,0 +1,318 @@
+XCOMM platform: $Xorg: usl.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM platform: $XFree86: xc/config/cf/usl.cf,v 3.22 2001/01/12 19:28:24 dawes Exp $
+
+#ifndef OSName
+# define OSName DefaultOSName
+#endif
+#ifndef OSMajorVersion
+# define OSMajorVersion DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+# define OSMinorVersion DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+# define OSTeenyVersion DefaultOSTeenyVersion
+#endif
+XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#ifndef CcCmd
+# define CcCmd /usr/ccs/bin/cc
+#endif
+#ifndef LexCmd
+# define LexCmd /usr/ccs/bin/lex
+#endif
+#ifndef YaccCmd
+# define YaccCmd /usr/ccs/bin/yacc
+#endif
+#ifndef MakeCmd
+# define MakeCmd /usr/gnu/bin/gmake
+#endif
+
+#ifndef HasGcc2ForCplusplus
+# ifndef CplusplusCmd
+# define CplusplusCmd /usr/ccs/bin/CC
+# endif
+# ifndef CplusplusFilt
+# define CplusplusFilt /usr/ccs/bin/c++filt
+# endif
+# ifndef CplusplusDependIncludes
+# define CplusplusDependIncludes -I/usr/include/CC
+# endif
+#else
+# ifndef CplusplusCmd
+# define CplusplusCmd /usr/gnu/bin/g++
+# endif
+# ifndef CplusplusFilt
+# define CplusplusFilt /usr/gnu/bin/c++filt
+# endif
+#endif
+
+#ifndef LibraryCCOptions
+# define LibraryCCOptions -D_REENTRANT -DFD_SETSIZE=16384
+#endif
+
+#define BootstrapCFlags /* none needed */
+#define StandardDefines -DSVR4 -DSVR5 -Di386 -D__UNIXWARE__
+#define NeedWidePrototypes YES
+
+#ifdef HasGcc2
+# define DefaultCCOptions GccWarningOptions
+# ifndef CcCmd
+# define CcCmd /usr/gnu/bin/gcc
+# endif
+# define DefaultCDebugFlags -O6 -fomit-frame-pointer -march=i586 -mcpu=i586
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O6 -fomit-frame-pointer -march=i586 -mcpu=i586
+# endif
+#else
+# ifndef CcCmd
+# define CcCmd /usr/ccs/bin/cc
+# endif
+# define DefaultCCOptions -dy -O -Kalloca -Dasm=__asm
+# define DefaultCDebugFlags -O
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O
+# endif
+#endif
+
+#ifndef DoLoadableServer
+# define DoLoadableServer YES
+#endif
+
+#if DoLoadableServer
+# if HasGcc
+# define USLDynamicFlags -rdynamic
+# else
+# define USLDynamicFlags -Wl,-Bexport
+# endif
+#else
+# define USLDynamicFlags /**/
+#endif
+
+#define ServerExtraDefines XFree86ServerDefines
+#ifndef ServerExtraSysLibs
+# define ServerExtraSysLibs $(CBRT) -lm USLDynamicFlags
+#endif
+
+#define ServerOSDefines -D_REENTRANT -DFD_SETSIZE=16384 -DDDXTIME XFree86ServerOSDefines
+#define ToolkitStringsABIOptions -intelabi
+#if OSMajorVersion < 2
+#define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
+#else
+#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
+#endif
+#if OSMajorVersion > 1 || OSTeenyVersion > 1
+# if OSMajorVersion >= 7
+# define ExtraLibraries -lsocket -lnsl -lgen
+# else
+# define ExtraLibraries -lsocket -lnsl -lgen -lw
+# endif
+# define ThreadedX YES
+# define HasThreadSafeAPI NO
+/* UnixWare does not have MT-safe pwd routines. */
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI -DXNO_MTSAFE_GRPAPI
+# define SystemMTDefines -D_REENTRANT
+# ifdef HasGcc2
+# define ThreadsLoadFlags -pthread
+# else
+# define ThreadsLoadFlags -Kpthread
+# endif
+#endif
+#define BuildLibPathVar LD_LIBRARY_PATH
+
+#ifndef BuildXterm
+# define BuildXterm BuildClients
+#endif
+
+#ifndef HasNCurses
+# define HasNCurses YES
+#endif
+#ifndef NCursesLibName
+# define NCursesLibName -lcurses
+#endif
+#ifndef TermcapLibrary
+# define TermcapLibrary -lcurses
+#endif
+
+#ifndef BuildFreetypeDlModule
+# define BuildFreetypeDlModule NO
+#endif
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver NO
+#endif
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+
+#ifndef LibManSuffix
+# define LibManSuffix 3
+#endif
+
+#ifndef FileManSuffix
+# define FileManSuffix 4
+#endif
+
+#ifndef UseExportLists
+# define UseExportLists NO
+#endif
+
+#define GencatFlags -m
+
+#ifndef HasCplusplus
+# define HasCplusplus YES
+#endif
+
+#ifndef HasDlopen
+# define HasDlopen YES
+#endif
+
+#ifndef HasShm
+# define HasShm YES
+#endif
+
+#ifndef HasStrcasecmp
+# define HasStrcasecmp YES
+#endif
+
+#ifndef HasSnprintf
+# define HasSnprintf NO
+#endif
+
+#ifndef UseSmartScheduler
+# define UseSmartScheduler NO
+#endif
+
+#define SharedLibXmu YES
+
+#ifndef NothingOutsideProjectRoot
+# define NothingOutsideProjectRoot YES
+#endif
+
+#ifndef UseSeparateConfDir
+# define UseSeparateConfDir NO
+#endif
+
+#ifndef BuildHtmlManPages
+# define BuildHtmlManPages NO
+#endif
+
+#ifndef SCOHasGWXLIBS
+# define SCOHasGWXLIBS YES
+#endif
+
+#if SCOHasGWXLIBS
+#define HasExpat YES
+#define HasFreetype2 YES
+#define HasLibpng YES
+#define HasZlib YES
+#define HasFontconfig YES
+#define HasXpm YES
+#endif /* SCOHasGWXLIBS */
+
+#define InstallHardcopyDocs NO
+
+#define HasPerl YES
+#define HasPerl5 YES
+
+/*
+ * When generating templates the UnixWare 2.02 C++ compiler leaves
+ * protected .i files behind. Remove them so other people can
+ * compile too.
+ */
+#ifndef ObjectCplusplusCompile
+#define ObjectCplusplusCompile(options) RemoveFiles($@ $*.i) @@\
+ ClearmakeOSName \
+ $(CXX) -c $(CXXFLAGS) options $*.CCsuf
+#endif
+
+/* USL does not have a shared regex library. */
+#define UseLocalRegex YES
+
+#define XmDefines -DSUPPORT_ZERO_WIDTH -DHAS_WIDECHAR_FUNCTIONS
+#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE
+#define DtSearchDefines -DI18N_MSG DtSvcDefines
+#define DtWidgetDefines DtSearchDefines
+#define DtPrintDefines DtSearchDefines
+
+/* For DtHelp's TIFF processing routines. */
+#define LSBBitOrder YES
+
+#define ArchitectureDefines -DUSL_ARCHITECTURE
+
+#define ExportListGenSource elistgen.usl
+#define ShlibExportListOpt(filename) Concat(-Bexport:,filename)
+
+/* <X11/Xos_r.h> requires process locking for missing _r functions */
+#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
+#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+#define CdeProjectDefines \
+ -DANSICPP -DMULTIBYTE -DNLS16 \
+ -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
+
+/*
+ * These settings control the interdependence of the shared libraries.
+ * Mostly borrowed from darwinLib.tmpl.
+ */
+#ifndef FixupLibReferences
+#define FixupLibReferences() @@\
+XMULIBONLY = -lXmu @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWCLIENTLIBS) $(XLIB)
+#endif
+
+#define SharedXlibi18nReqs $(LDPRELIB) $(XLIBONLY)
+
+#define SharedXfontReqs $(LDPRELIB) $(FONTSTUBLIB) GzipLibrary $(FREETYPE2LIB) $(XLIB)
+#define SharedFontencReqs $(LDPRELIB) GzipLibrary
+#define SharedGLReqs $(LDPRELIB) $(XLIB)
+#define SharedGLUReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedOSMesaReqs $(LDPRELIB) $(XLIB) $(GLXLIB)
+#define SharedPexReqs $(LDPRELIB) $(XONLYLIB) MathLibrary
+#define SharedSMReqs $(LDPRELIB) $(ICELIB)
+#define SharedX11Reqs $(LDPRELIB) -lsocket -lnsl
+#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(EXTRAXAWREQS) $(XLIB)
+#define SharedXaw7Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXcursorReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXiReqs $(LDPRELIB) $(XLIB)
+#define SharedXieReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXmuuReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedXpReqs $(LDPRELIB) $(XLIB)
+#define SharedXpmReqs $(LDPRELIB) $(XLIB)
+#define SharedXrandrReqs $(LDPRELIB) $(XRENDERLIB) $(XLIB)
+#define SharedXrenderReqs $(LDPRELIB) $(XLIB)
+#define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB)
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXvReqs $(LDPRELIB) $(XLIB)
+#define SharedDPSReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedDPSTKReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(DPSLIB) $(XLIB)
+#define SharedOldXReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedpsresReqs $(LDPRELIB) $(SMLIB) $(ICELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXResReqs $(LDPRELIB) $(XLIB)
+#define SharedXfontcacheReqs $(LDPRELIB) $(XLIB)
+#define SharedXineramaReqs $(LDPRELIB) $(XLIB)
+#define SharedXssReqs $(LDPRELIB) $(XLIB)
+#define SharedXvMCReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86miscReqs $(LDPRELIB) $(XLIB)
+#define SharedXxf86vmReqs $(LDPRELIB) $(XLIB)
+#define SharedxkbfileReqs $(LDPRELIB) $(XONLYLIB)
+#define SharedxkbuiReqs $(LDPRELIB) $(XKBFILELIB) $(XONLYLIB)
+#define SharedXReqs $(XTOOLLIB) $(XPLIB) $(XLIB)
+#define SharedXmReqs $(LDPRELIB) SharedXReqs
+#define SharedMrmReqs $(LDPRELIB) $(XMLIB) SharedXReqs
+#define SharedUilReqs $(LDPRELIB) $(XMLIB) SharedXReqs
+
+#include <scoLib.rules> /* minor changes to sv4Lib.rules */
+#include <svr4.cf>
diff --git a/nx-X11/config/cf/x386.cf b/nx-X11/config/cf/x386.cf
new file mode 100644
index 000000000..d7d4c803f
--- /dev/null
+++ b/nx-X11/config/cf/x386.cf
@@ -0,0 +1,153 @@
+XCOMM platform: $Xorg: x386.cf,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+/*****************************************************************************
+ * Site-specfic parameters *
+ *****************************************************************************/
+
+/*
+ * there are some switches to set appropriate...
+ */
+
+#define HasGcc YES /* doesn't work for SVR4 */
+#define HasNdbm YES /* correct for GNU dbm & SVR4 */
+#define StripInstalledPrograms YES
+#define X386Server YES
+#define ExtensionOSDefines -DXTESTEXT1
+#define MotifBC YES
+
+/*****************************************************************************
+ * Do not change anything below *
+ *****************************************************************************/
+
+/* You mus manually compute BootstrapCFlags for initial build */
+#define BootstrapCFlags OSDefines OSRelease
+
+#define StandardDefines OSDefines OSRelease
+#define LdCombineFlags -r
+
+#if defined(i386SVR3Architecture)
+
+#define SystemV YES
+
+#define NeedBerklib YES
+#define HasSymLinks NO
+
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver YES
+#endif
+
+/*
+ * V/386 Release 3.2
+ */
+#ifdef ISC
+/* INTERACTIVE UNIX Version 2.2.1 */
+# define OSVendor "Interactive System Corp."
+# define OSDefines -DISC
+# define LocalLibraries -lpt
+# define PosixLibraries -lcposix
+# define SocketLibraries -linet
+#endif
+
+#ifdef ESIX
+#define OSVendor "ESIX System Inc."
+#define OSDefines -DESIX
+#define LocalLibraries -lpt
+#define SocketLibraries -lnet -lnsl_s
+#define PosixLibraries /**/
+#endif
+
+#ifdef ATT
+#define OSDefines -DATT
+#define OSVendor "AT&T"
+#define LocalLibraries -lpt
+#define SocketLibraries -lnet -lnsl_s /* just a guess */
+#define PosixLibraries /**/
+#endif
+
+#define OSName Unix System V/386 Release 3.2
+#define OSMajorVersion 3
+#define OSMinorVersion 2
+#define OSRelease -DSYSV -DSYSV386
+
+#if HasGcc
+# define CcCmd gcc -DNO_ASM -fstrength-reduce -fpcc-struct-return -fwritable-strings
+# define LibraryCcCmd gcc -DNO_ASM -fstrength-reduce -fpcc-struct-return
+# define ShlibDefines -D__GNUC__ -DGNULIB=/usr/local/lib/gcc-gnulib
+#else
+# define ShlibDefines /**/
+#endif
+
+#if HasSockets
+/* # define ConnectionFlags -DLOCALCONN -DTCPCONN */
+# define ConnectionFlags -DTCPCONN
+# define ExtraLibraries SocketLibraries LocalLibraries -lc_s PosixLibraries
+#else
+# define ConnectionFlags -DLOCALCONN
+# define ExtraLibraries $(LIBDIR)/etc/inetemul.o LocalLibraries -lc_s PosixLibraries
+#endif
+
+/* #include <sv3Lib.rules> */ /* not working yet */
+
+/*
+ * Man pages need to be formatted when installed, so override the default
+ * imake rules.
+ */
+#define InstallManPageLong(file,destdir,dest) @@\
+install.man:: file.man @@\
+ $(RM) destdir/dest.$(MANSUFFIX) @@\
+ cat file.man | $(NEQN) | $(NROFF) $(MANMACROS) >/tmp/file.man @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man destdir/dest.$(MANSUFFIX) @@\
+ $(RM) /tmp/file.man
+
+#define InstallMultipleMan(list,dest) @@\
+install.man:: list @@\
+ @MakeFlagsToShellFlags(i,set +e); \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ $(RM) dest/$$i; \ @@\
+ cat $$i | $(NEQN) | $(NROFF) $(MANMACROS) >/tmp/$$i; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i dest/$$i; \ @@\
+ $(RM) /tmp/$$i); \ @@\
+ done
+
+/* If you have trouble with make bombing out in Xlib, try uncommenting this. */
+/* You will not get dependencies as a result, but better than nothing. */
+/* #define DependTarget3(srcs1,srcs2,srcs3) */
+
+#endif /* i386SVR3Architecture */
+
+
+/*
+ * V/386 Release 4.0
+ */
+#if defined(i386SVR4Architecture)
+
+#define SystemV4 YES
+
+/* this is now just for Dell's one */
+
+#ifdef DELL
+#define OSDefines -DDELL
+#define OSVendor "DELL Computer Corp."
+#endif
+
+#define OSName Unix System V/386 Release 4.0
+#define OSMajorVersion 4
+#define OSMinorVersion 0
+#define OSRelease -DSVR4 -DSYSV386
+
+#if HasGcc
+# define CcCmd gcc -ansi -fstrength-reduce -fpcc-struct-return -Di386
+# if HasSharedLibraries
+# define LibraryCcCmd cc -Xa -Di386 -Dasm=__asm
+# endif
+#else
+# define CcCmd cc -Xa -Di386 -Dasm=__asm
+#endif
+
+#include <sv4Lib.rules>
+
+#endif /* i386SVR4Architecture */
+
+
+XCOMM operating system: OSName OSVendor
diff --git a/nx-X11/config/cf/xf86.rules b/nx-X11/config/cf/xf86.rules
new file mode 100644
index 000000000..3c69445f4
--- /dev/null
+++ b/nx-X11/config/cf/xf86.rules
@@ -0,0 +1,229 @@
+XCOMM $Xorg: xf86.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+
+XCOMM $XFree86: xc/config/cf/xf86.rules,v 3.34tsi Exp $
+
+/*
+ * Rules needed to build the XFree86 X Servers
+ */
+
+#ifndef ObjectMapIncludeFromSpecialSource
+#define ObjectMapIncludeFromSpecialSource(dst,src,flags) @@\
+dst.c: src.c @@\
+ RemoveFile($@) @@\
+ echo "#include \"mfbmap.h\"" > $@ @@\
+ echo "#include \"$?\"" >> $@ @@\
+ @@\
+SpecialCObjectRule(dst,NullParameter,flags) @@\
+ @@\
+depend:: dst.c @@\
+ @@\
+clean:: @@\
+ RemoveFile(dst.c)
+#endif
+
+
+/*
+ * Rules for building config files from scripts
+ */
+
+#ifndef Depend
+# define Depend depend
+#endif
+
+#ifndef ConfigTargetLong
+#define ConfigTargetLong(target,dep,script,args,extra) @@\
+all:: Configure @@\
+ @@\
+Configure:: target.o @@\
+ @@\
+target.c: script dep @@\
+ $(MAKE) $(MFLAGS) Makefile @@\
+ $(MAKE) $(MFLAGS) extra Concat(Build,target) @@\
+ @@\
+Concat(Build,target): @@\
+ $(RM) target.c @@\
+ $(SHELL) script args @@\
+ @@\
+clean:: @@\
+ $(RM) target.c
+#endif
+
+#define ConfigTarget(target,dep,script,args) ConfigTargetLong(target,dep,script,args,Depend)
+
+#define ConfigTargetNoDepend(target,dep,script,args) ConfigTargetLong(target,dep,script,args,)
+
+#ifndef DriverObjectList
+#define DriverObjectList(drivers,list) @@\
+list: $(ICONFIGFILES) drivers @@\
+ RemoveFile(list) @@\
+ @echo Creating list for drivers; \ @@\
+ DRIVERS="drivers"; \ @@\
+ if [ x"$$DRIVERS" != x ]; then \ @@\
+ for i in $$DRIVERS; do \ @@\
+ DRIVER="$$i/*_drv.o"; \ @@\
+ for j in $$DRIVER; do \ @@\
+ echo $$j >> list; \ @@\
+ done; \ @@\
+ done; \ @@\
+ else \ @@\
+ echo "" > list; \ @@\
+ fi @@\
+ @@\
+clean:: @@\
+ RemoveFile(list)
+#endif
+
+/*
+ * Rules for installing Driver SDK parts (target is install.sdk)
+ */
+
+#ifndef InstallDriverSDKNonExecFile
+#if !DoLoadableServer
+#define InstallDriverSDKNonExecFile(file,dest) /**/
+#else
+#define InstallDriverSDKNonExecFile(file,dest) @@\
+install.sdk:: file @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTDATFLAGS) file $(DESTDIR)dest
+#endif
+#endif
+
+#ifndef InstallDriverSDKLibrary
+#if !DoLoadableServer
+#define InstallDriverSDKLibrary(libname,dest) /**/
+#else
+#define InstallDriverSDKLibrary(libname,dest) @@\
+install.sdk:: Concat(lib,libname.a) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) $(DESTDIR)dest @@\
+ RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,libname.a))
+#endif
+#endif
+
+#ifndef InstallDriverSDKNamedLibrary
+#if !DoLoadableServer
+#define InstallDriverSDKNamedLibrary(libname,dlibname,dest) /**/
+#else
+#define InstallDriverSDKNamedLibrary(libname,dlibname,dest) @@\
+install.sdk:: Concat(lib,libname.a) @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTLIBFLAGS) Concat(lib,libname.a) \ @@\
+ Concat($(DESTDIR)dest/lib,dlibname.a) @@\
+ RanLibrary($(RANLIBINSTFLAGS) Concat($(DESTDIR)dest/lib,dlibname.a))
+#endif
+#endif
+
+#ifndef InstallDriverSDKNamedNonExec
+#if !DoLoadableServer
+#define InstallDriverSDKNamedNonExec(srcname,dstname,dest) /**/
+#else
+#define InstallDriverSDKNamedNonExec(srcname,dstname,dest) @@\
+install.sdk:: srcname @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTDATFLAGS) srcname $(DESTDIR)dest/dstname
+#endif
+#endif
+
+#ifndef InstallDriverSDKNamedProg
+#if !DoLoadableServer
+#define InstallDriverSDKNamedProg(srcname,dstname,dest) /**/
+#else
+#define InstallDriverSDKNamedProg(srcname,dstname,dest) @@\
+install.sdk:: srcname @@\
+ MakeDir($(DESTDIR)dest) @@\
+ $(INSTALL) -c $(INSTBINFLAGS) srcname $(DESTDIR)dest/dstname
+#endif
+#endif
+
+#ifndef InstallDriverSDKSubdirs
+#if !DoLoadableServer
+#define InstallDriverSDKSubdirs(dirs) /**/
+#else
+#define InstallDriverSDKSubdirs(dirs) \
+NamedTargetSubdirs(install.sdk,dirs,"installing driver SDK",DESTDIR='$(DESTDIR)',install.sdk)
+#endif
+#endif
+
+#ifndef InstallDriverSDKMultipleDestFlags
+#if !DoLoadableServer
+#define InstallDriverSDKMultipleDestFlags(list,dest,flags) /**/
+#else
+#define InstallDriverSDKMultipleDestFlags(list,dest,flags) \
+InstallMultipleDestFlags(install.sdk,list,dest,flags)
+#endif
+#endif
+
+#ifndef InstallDriverSDKDynamicModule
+#if !DoLoadableServer
+#define InstallDriverSDKDynamicModule(module,dest,subdir) /**/
+#else
+#define InstallDriverSDKDynamicModule(module,dest,subdir) @@\
+install.sdk:: module @@\
+ MakeDir($(DESTDIR)dest/subdir) @@\
+ $(INSTALL) -c module $(DESTDIR)dest/subdir
+#endif
+#endif
+
+#ifndef InstallDriverSDKObjectModule
+#if !DoLoadableServer
+#define InstallDriverSDKObjectModule(module,dest,subdir) /**/
+#else
+#if MakeDllModules
+#define InstallDriverSDKObjectModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(Concat(module,_drv.so),dest,subdir)
+#else
+#define InstallDriverSDKObjectModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(Concat(module,_drv.o),dest,subdir)
+#endif
+#endif
+#endif
+
+
+#ifndef InstallDriverSDKObjectSubModule
+#if !DoLoadableServer
+#define InstallDriverSDKObjectSubModule(module,dest,subdir) /**/
+#else
+#if MakeDllModules
+#define InstallDriverSDKObjectSubModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(Concat(module,.so),dest,subdir)
+#else
+#define InstallDriverSDKObjectSubModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(Concat(module,.o),dest,subdir)
+#endif
+#endif
+#endif
+
+#ifndef InstallDriverSDKLibraryModule
+#if !DoLoadableServer
+#define InstallDriverSDKLibraryModule(module,dest,subdir) /**/
+#else
+#if MakeDllModules
+#define InstallDriverSDKLibraryModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(Concat3(lib,module,.so),dest,subdir)
+#else
+#define InstallDriverSDKLibraryModule(module,dest,subdir) @@\
+InstallDriverSDKDynamicModule(ModuleLibraryTargetName(module),dest,subdir)
+#endif
+#endif
+#endif
+
+#ifndef ServerDriverSDKTarget
+#if !DoLoadableServer
+#define ServerDriverSDKTarget(program) /**/
+#else
+#define ServerDriverSDKTarget(program) @@\
+InstallDriverSDKProgramWithFlags(program,$(DRIVERSDKDIR),$(_NOOP_))
+#endif
+#endif
+
+#ifndef InstallDriverSDKProgramWithFlags
+#if !DoLoadableServer
+#define InstallDriverSDKProgramWithFlags(program,dest,flags) /**/
+#else
+#define InstallDriverSDKProgramWithFlags(program,dest,flags) @@\
+InstallTarget(install.sdk,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest)
+#endif
+#endif
diff --git a/nx-X11/config/cf/xf86.tmpl b/nx-X11/config/cf/xf86.tmpl
new file mode 100644
index 000000000..ba352445e
--- /dev/null
+++ b/nx-X11/config/cf/xf86.tmpl
@@ -0,0 +1,128 @@
+XCOMM $Xorg: xf86.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/cf/xf86.tmpl,v 3.32 2002/11/14 21:01:14 tsi Exp $
+
+#ifdef BuilderEMailAddr
+BUILDERADDR = BuilderEMailAddr
+#else
+BUILDERADDR = "xorg@freedesktop.org"
+#endif
+BUGMSG = -DBUILDERADDR='$(BUILDERADDR)'
+
+#if defined(XF86DriverSDK)
+ BUILDMODULEDIR = $(DRIVERSDKMODULEDIR)
+ BUILDMODULETOP = ..
+ TOP_INCLUDES = TopIncludes
+ IMAKE_DEFINES = -DXF86DriverSDK=1
+#ifdef UseInstalled
+ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP) -I$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#else
+ IMAKE_CMD = $(IMAKE) -I$(TOP) -I$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#endif
+
+#undef ImakeSubCmdHelper
+#ifdef UseInstalled
+#define ImakeSubCmdHelper $(IMAKE) -DUseInstalled -I$(IMAKETOP) \
+ -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#else
+#define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKETOP) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS) \
+ -I$(IMAKEPREFIX)$(IRULESRC)
+#endif
+#endif
+
+#ifndef JoystickSupport
+#define JoystickSupport NO
+#endif
+
+/*
+ * Module support: These overrides must be here, not in xf86.rules,
+ * because they will replace rules after having seen the first lines
+ * of Imakefile (include <Server.tmpl>)
+ */
+
+
+#ifndef HasGccMergeConstants
+#define HasGccMergeConstants NO
+#endif
+
+#if HasGccMergeConstants && DoLoadableServer && !MakeDllModules
+MODULE_GCC_FLAGS = -fno-merge-constants
+#endif
+
+#if defined(IHaveModules) && MakeDllModules
+MODULE_PIC_FLAGS = $(PICFLAGS)
+#endif
+
+MODULE_CFLAGS = $(MODULE_PIC_FLAGS) $(MODULE_GCC_FLAGS)
+
+#if defined(IHaveModules)
+# if DoLoadableServer
+MODULE_DEFINES = -DIN_MODULE -DXFree86Module
+# else
+MODULE_DEFINES = -DXFree86Module
+# endif
+#endif
+
+#if defined(IHaveModules) && DoLoadableServer
+
+/* This overrides the ObjCompile in Imake.rules! */
+#undef ObjectCompile
+#define ObjectCompile(options) RemoveFile($@) @@\
+ ClearmakeOSName\
+ $(MODCC) $(MODCFLAGS) options -c $*.c
+
+/* This overrides an AssembleObject in xf86.rules or in an os-dependent
+ * rules file (currently only minix.cf and os2.rules (uncritical))
+ */
+#define ModCPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
+ $(MODCPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.S | \ @@\
+ grep -v '^\#' > basename.i
+
+#undef AssembleObject
+#define AssembleObject(basename,flags) ModCPPOnlyAsm(basename,flags) @@\
+ RemoveFile(basename.o) @@\
+ $(MODAS) $(MODASFLAGS) -o basename.o basename.i @@\
+ RemoveFile(basename.i)
+
+/* This overrides the NormalRelocatableTarget in Imake.rules */
+#undef NormalRelocatableTarget
+#define NormalRelocatableTarget(objname,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
+
+/* This overrides the NormalDepRelocatableTarget in Imake.rules */
+#undef NormalDepRelocatableTarget
+#define NormalDepRelocatableTarget(objname,deplist,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
+
+/* This overrides the RanLibrary in Imake.rules */
+#if DoRanlibCmd || NeedModuleRanlib
+#undef RanLibrary
+#define RanLibrary(args) $(MODRANLIB) args
+#endif
+
+/* This overrides the MakeLibrary rule in Imake.rules */
+#undef MakeLibrary
+#define MakeLibrary(libname,objlist) $(MODAR) libname objlist
+
+/* This overrides the LibraryTargetName rule in Imake.rules */
+#undef LibraryTargetName
+#define LibraryTargetName(libname)Concat(lib,libname.a)
+
+/* This disables an OS/2 rule */
+#undef BuildLibSupportLibs
+#define BuildLibSupportLibs(dummy)
+
+#endif /* IHaveModules */
diff --git a/nx-X11/config/cf/xf86site.def b/nx-X11/config/cf/xf86site.def
new file mode 100644
index 000000000..d445c1c72
--- /dev/null
+++ b/nx-X11/config/cf/xf86site.def
@@ -0,0 +1,693 @@
+XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
+/******************************************************************************/
+/*
+ * This file is to provide a quick method for most people to change the
+ * behaviour of their XFree86 installation without having to fully
+ * understand the workings of site.def and all the various '.cf' files.
+ *
+ * In the vast majority of cases, it should not be necessary to use this
+ * file at all or change it in any way.
+ *
+ * This file is divided into two sections. The first contains settings
+ * that end-users might reasonably change. The second contains settings
+ * that developers might want to change.
+ *
+ * IMPORTANT NOTE: In all cases changing the defaults may cause problems
+ * and/or unexpected side-effects. If you don't understand what a setting
+ * does, then it's best to not change it. If you make changes and have
+ * problems, verify that those problems are also present when using an
+ * empty host.def file and unchanged version of this file before reporting
+ * them.
+ *
+ * A good way to use this file is to copy it to host.def, and make the
+ * changes there. That way, future patches to this file won't fail.
+ * The host.def file will never be patched.
+ *
+ * The distributed version of this file MUST contain no uncommented
+ * definitions. Default definitions belong in xfree86.cf, or <vendor>.cf
+ * files.
+ */
+/******************************************************************************/
+
+/*
+ * If you have build-specific modifications in your host.def file, but
+ * want an empty host.def file installed when doing 'make install',
+ * uncomment the following
+ *
+#define InstallEmptyHostDef
+ */
+
+/*
+ * Which servers to build. There is now only one XFree86 server.
+ * It can be disabled by the following.
+ *
+#define XF86Server NO
+ */
+
+/*
+ * To disable building the Xnest server, uncomment this.
+ *
+#define XnestServer NO
+ */
+
+/*
+ * To disable building Xvfb, uncomment this.
+ *
+#define XVirtualFramebufferServer NO
+ */
+
+/*
+ * To enable building Xdmx, uncomment this.
+ *
+#define XdmxServer YES
+ */
+
+/*
+ * To disable building Xprt, uncomment this.
+ *
+#define XprtServer NO
+ */
+
+/*
+ * Set the default server (ie the one that gets the sym-link to "X")
+ *
+#define ServerToInstall XFree86
+ */
+
+/*
+ * If you only run the X server under xdm the X servers don't need to be
+ * installed SetUID, and you may comment out the lines below. If you run
+ * the servers by hand (with xinit or startx), then they do need to be
+ * installed SetUID on most platforms.
+ *
+ * Consult your system administrator before making the X server setuid.
+ *
+#define InstallXserverSetUID NO
+ */
+
+
+/*
+ * Server configuration parameters. The defaults are shown here:
+ */
+
+/*
+ * Which drivers to build. When building a static server, each of these
+ * will be included in it. When building the loadable server each of these
+ * modules will be built.
+ *
+#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver fbdev i128 \
+ ati AgpGartDrivers DevelDrivers ark cyrix \
+ siliconmotion \
+ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers
+ */
+
+/*
+ * To add third party drivers to the standard driver list, set the
+ * following.
+ *
+#define XF86ExtraCardDrivers extradriver1 extradriver2 ...
+ */
+
+/*
+ * Select the XInput devices you want by uncommenting this.
+ *
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magictouch aiptek
+ */
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+/*
+ * To disable use of the Matrox HAL library, uncomment this:
+ *
+#define UseMatroxHal NO
+ */
+
+/*
+ * If you have the HALlib.a binary installed in xfree86/drivers/mga/HALlib,
+ * uncomment this:
+ *
+#define HaveMatroxHal YES
+ */
+
+/*
+ * If you have the HALlib source code installed in xfree86/drivers/mga/hallib,
+ * uncomment this:
+#define BuildMatroxHal YES
+ */
+
+/*
+ * To disable building the font server, uncomment this.
+ *
+#define BuildFontServer NO
+ */
+
+/*
+ * To disable support for Speedo fonts, uncomment this.
+ *
+#define BuildSpeedo NO
+ */
+
+/*
+ * To disable support for Type1 fonts, uncomment this.
+ *
+#define BuildType1 NO
+ */
+
+/*
+ * To disable support for CID fonts, uncomment this.
+ *
+#define BuildCID NO
+ */
+
+/*
+ * To disable support for TrueType fonts, uncomment these.
+ *
+#define BuildFreeType NO
+ */
+
+/*
+ * To set non-default build options for the underlying FreeType libraries,
+ * add them here and uncomment.
+ *
+#define Freetype2BuildDefines -DFREETYPE_BUILD_DEFINES
+ */
+
+/*
+ * To build the FreeType libraries with the TrueType byte code interpreter
+ * enabled, uncomment this. Note that there are patent issues related to the
+ * TrueType byte code interpreter, and we only recommend you enabling this
+ * if you are sure that there are no legal impediments to you doing so. See
+ * <http://www.freetype.org/patents.html> for further information.
+ *
+#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ */
+
+/*
+ * Do you want to Build Fonts (Usually you only want to build and install
+ * fonts once, if this is a first time install you will want to build the
+ * fonts)
+ *
+#define BuildFonts NO
+ */
+
+/*
+ * To not build/install the 75dpi fonts, uncomment the following
+ *
+#define Build75DpiFonts NO
+ */
+
+/*
+ * To not build/install the 100dpi fonts, uncomment the following
+ *
+#define Build100DpiFonts NO
+ */
+
+/*
+ * To not build/install the Speedo fonts, uncomment the following
+ *
+#define BuildSpeedoFonts NO
+ */
+
+/*
+ * To not build/install the Type1 fonts, uncomment the following
+ *
+#define BuildType1Fonts NO
+ */
+
+/*
+ * To not build/install the CID fonts, uncomment the following
+ *
+#define BuildCIDFonts NO
+ */
+
+/*
+ * To not build/install the True Type fonts, uncomment the following
+ *
+#define BuildTrueTypeFonts NO
+ */
+
+/*
+ * To not build/install the Cyrillic fonts, uncomment the following
+ *
+#define BuildCyrillicFonts NO
+ */
+
+/*
+ * To not install the local font directory, uncomment the following
+ *
+#define MakeLocalFontDir NO
+ */
+
+/*
+ * To build only the servers with a cut-down source tree, uncomment
+ * this.
+ *
+#define BuildServersOnly YES
+ */
+
+/*
+ * By default, the sample config files for xinit, xdm and xfs are installed
+ * only when there is no pre-existing version installed. Uncommenting the
+ * following lines will force the sample versions to be installed even if
+ * it means over-writing existing versions.
+ *
+#define InstallXinitConfig YES
+#define InstallXdmConfig YES
+#define InstallFSConfig YES
+ */
+
+/*
+ * By default the application defaults files are always installed.
+ * Uncommenting the the following will prevent exising application
+ * defaults files from being over-written.
+ *
+#define InstallAppDefFiles NO
+ */
+
+/*
+ * Undefine the following if you don't want to have config files and
+ * app-defaults installed in a separate directory (i.e. /etc/X11).
+ *
+#define UseSeparateConfDir NO
+ */
+
+/*
+ * To enable building the glide driver, you need to define
+ * HasGlide2 to YES and set the Glide2IncDir variable.
+ * HasGlide2 is per default NO.
+ *
+#define HasGlide2 YES
+ */
+
+/*
+ * Set the path to your Glide include files.
+ *
+#define Glide2IncDir /usr/include/glide
+ */
+
+/*
+ * Have glide 3?
+ *
+#define HasGlide3 YES
+ */
+
+/*
+ * Set the path to your Glide 3 include files.
+ *
+#define Glide3IncDir /usr/include/glide3
+ */
+
+
+
+/*
+ * Unless you're a developer you shouldn't need to change anything
+ * beyond this point.
+ */
+
+/*
+ * If you want to enable some developer settings, like more verbose
+ * compiler warnings, uncomment this.
+ *
+#define XFree86Devel YES
+*/
+
+/*
+ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ * If you are building binaries for a 486, it may be beneficial to add
+ * -m486
+ *
+#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
+ */
+
+/*
+ * This allows the GCC warning flags to be set. The default is shown here.
+ *
+#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs
+ */
+
+/*
+ * Sun Compiler stuff..
+ *
+#define HasSunC YES
+#define HasSunCplusplus YES
+#define CplusplusCompilerMajorVersion 5
+#define CplusplusCompilerMinorVersion 0
+#define CCompilerMajorVersion 5
+#define CCompilerMinorVersion 0
+ */
+
+/*
+ * Optimized Sun Compiler Build.
+ *
+#define DefaultCDebugFlags -xO4 -xtarget=pentium_pro
+#define OptimizedCDebugFlags -xO4 -xtarget=pentium_pro
+ */
+
+/*
+ * Debuggable Sun Compiler Build.
+ * Note: This builds _EVERYTHING_ as debuggable
+ *
+#define DefaultCDebugFlags -g -xs
+#define OptimizedCDebugFlags -g -xs
+ */
+
+/*
+ * For Linux, this should match the Binutils version you have. This example
+ * is for 2.6.0.7. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxBinUtilsMajorVersion 26
+ */
+
+/*
+ * For Linux, these should match the libc version you have. This example
+ * is for libc.5.4.x. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxCLibMajorVersion 5
+#define LinuxClibMinorVersion 4
+ */
+
+/*
+ * If you want to use the GNU malloc library, uncomment this
+ *
+#define UseGnuMalloc YES
+ */
+
+/*
+ * Set this to whatever is required to access the GNU malloc library.
+ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
+ *
+#define GnuMallocLibrary -L/usr/local/lib -lgmalloc
+ */
+
+/*
+ * To enable the internal Xserver malloc, uncomment this
+ *
+#define UseInternalMalloc YES
+ */
+
+/*
+ * Some Linux releases don't have a libtermcap. In this case you may need
+ * to uncomment the following
+ *
+#define TermcapLibrary -lncurses
+ */
+
+/*
+ * Build a server that dynamically loads the modules by setting
+ * this to YES. This defaults to YES on most platforms. A static server
+ * can be built by setting this to NO.
+ *
+#define DoLoadableServer NO
+ */
+
+/*
+ * Build dlopen() style modules instead of the standard loader modules.
+ * Don't enable this unless you have specific development reasons for
+ * doing so and understand how to deal with the problems you'll run in to.
+ *
+ * Enabling this for regular use is NOT supported, and will almost
+ * certainly cause you problems.
+ *
+#define MakeDllModules YES
+ */
+
+/*
+ * Build XAA. This can be disabled with:
+ *
+#define XF86XAA NO
+ */
+
+/*
+ * Build vgahw. This can be disabled with:
+ *
+#define XF86VgaHw NO
+ */
+
+/*
+ * Build xf1bpp. This can be disabled with:
+ *
+#define XF1Bpp NO
+ */
+
+/*
+ * Build xf4bpp. This can be disabled with:
+ *
+#define XF4Bpp NO
+ */
+
+
+/*
+ * BSD Console driver support (for FreeBSD and NetBSD).
+ *
+ * By default, support is included for pccons and pcvt for NetBSD, and
+ * pccons, syscons and pcvt for FreeBSD.
+ *
+ * To change the list of supported drivers, set the following parameter.
+ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
+ * The following example includes support for syscons and pcvt only.
+ *
+#define XFree86ConsoleDefines -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+ */
+
+/*
+ * To link the X server with a dynamic version of the Xfont library,
+ * uncomment this.
+ *
+#define XserverStaticFontLib NO
+ */
+
+/*
+ * To enable binary compatibility with previous versions of the font
+ * encoding support, uncomment this.
+ *
+#define FontencCompatibility YES
+ */
+
+/*
+ * To disable building XInput support, uncomment this
+ *
+#define BuildXInputExt NO
+ */
+
+/*
+ * Uncomment this for joystick support.
+ *
+ * Note: Joystick support is broken, so don't enable this.
+ *
+#define JoystickSupport YES
+ */
+
+/*
+ * To disable the ScreenSaver Extension, uncomment this line.
+ *
+#define BuildScreenSaverExt NO
+ */
+
+/*
+ * If you don't want to build Xinerama support, uncomment this.
+ *
+#define BuildXinerama NO
+ */
+
+/*
+ * If you don't want to build support for the GLX extension, uncomment this.
+ *
+#define BuildGlxExt NO
+ */
+
+/*
+ * If you want to build the xf86rush extension, uncomment this line.
+ * This isn't recommended.
+ *
+#define BuildXF86RushExt YES
+ */
+
+/*
+ * If you want to build the client library for the xf86rush extension,
+ * uncomment this line. This isn't recommended.
+ *
+#define BuildXF86RushLibrary NO
+ */
+
+/*
+ * If you are running NetBSD 0.9C or later, and have the aperture driver
+ * installed, uncomment this.
+ *
+#define HasNetBSDApertureDriver YES
+ */
+
+/*
+ * If you are running SVR3 and have the mmap driver installed (for linear
+ * framebuffer access) uncomment this.
+ *
+#define HasSVR3mmapDrv YES
+ */
+
+/*
+ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
+ * you can * uncomment this to have manual pages installed under their
+ * full names
+ *
+#define ExpandManNames YES
+ */
+
+/*
+ * For a POSIXized build on Interactive uncomment this
+ * Could be used with gcc 'till Version 2.6.3
+ * Should be used with gcc 2.7.2.
+ *
+#define UsePosix YES
+ */
+
+/*
+ * If you want XDMAUTH support (if you have Wraphelp.c), uncomment this.
+ *
+#define HasXdmAuth YES
+ */
+
+/*
+ * If you have Linux DECnet support, and want to build XFree86 with support
+ * for connections over DECnet, uncomment this.
+ *
+#define HasDECnet YES
+ */
+
+/*
+ * To build static and shared libraries with debugging information, uncomment
+ * this. Assumes you have Gcc2.
+ * (If you don't have Gcc2, you can use the DebugLib{X11,Xt,Xaw,...} variables
+ * to build debugging versions of the libraries separately.)
+ *
+#define DebuggableLibraries YES
+*/
+
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * uncomment this.
+ *
+#define ForceNormalLib YES
+ */
+
+/*
+ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
+ * not the Linux ELF versions.
+ *
+#define LinuxElfDefault NO
+ */
+
+/*
+ * To use ELF format shared libraries for supported OSs, uncomment this.
+ *
+ * For Linux the default setting of this is the same as the setting of
+ * LinuxElfDefault.
+ *
+ * For FreeBSD this should automatically be set correctly by imake. Only
+ * change it here if you need to override the automatic setting.
+ *
+#define UseElfFormat YES
+ */
+
+/*
+ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
+ * a.out compatibility libraries. To enable that, uncomment this.
+ *
+#define BuildAoutLibraries YES
+ */
+
+/*
+ * If you have trouble with make bombing out in Xlib, try uncommenting this.
+ * You will not get dependencies as a result, but better than nothing.
+ *
+#define MakeHashTableBug YES
+ */
+
+/*
+ * If you do not want your man pages compress under SVR3 systems that
+ * support it, uncomment this.
+ *
+#define CompressManPages NO
+ */
+
+/*
+ * If you have sgmlfmt (the XFree86 doctools package) and want to build
+ * formatted docs from the SGML source, uncomment this.
+ *
+#define HasSgmlFmt YES
+ */
+
+/*
+ * To disable building some document formats, uncomment some of these.
+ *
+#define BuildLinuxDocText NO
+#define BuildLinuxDocHtml NO
+#define BuildLinuxDocPS NO
+ */
+
+/*
+ * To install Japanese versions of the documentation uncomment this.
+ * Note: The Japanese documentation consists of a subset of the
+ * XFree86 3.1 docs.
+ *
+#define InstallJapaneseDocs YES
+ */
+
+/*
+ * To build/install X specs docs, uncomment the following.
+ * The SpecsDocDirs setting here is recommended because it covers
+ * the docs that XFree86 has changed or added.
+ *
+#define BuildSpecsDocs YES
+#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
+ */
+
+/*
+ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
+ * the following.
+ *
+#define BuildAllSpecsDocs YES
+ */
+
+/*
+ * If your system doesn't support vm86() mode and you have
+ * libx86emu set library path here
+ *
+#define X86EMU_LIBPATH /usr/local/lib
+ */
+
+
diff --git a/nx-X11/config/cf/xfree86.cf b/nx-X11/config/cf/xfree86.cf
new file mode 100644
index 000000000..f7c151c41
--- /dev/null
+++ b/nx-X11/config/cf/xfree86.cf
@@ -0,0 +1,2132 @@
+XCOMM $XFree86: xc/config/cf/xfree86.cf,v 3.466 2004/01/11 18:48:11 dawes Exp $
+/*
+ * This configuration file contains all of the configuration
+ * information for the XFree86 based X Servers.
+ *
+ * Most of these settings can be overridden in a vendor.cf or the
+ * BeforeVendor part of the site.def file.
+ */
+XCOMM $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $
+
+
+/* Get and set version information. */
+
+#include "version.def"
+#include "date.def"
+/*
+ * As of the development trunk after 4.0.2, XFree86 versions are
+ * M.m.P.s, and XFree86Version is:
+ *
+ * M * 10000000 + m * 100000 + P * 1000 + s
+ *
+ * See xc/programs/Xserver/hw/xfree86/doc/Versions for further details.
+ *
+ * From 3.9.15 to 4.0.x, XFree86 release versions are X.Y.Z, and
+ * XFree86Version is:
+ *
+ * X * 1000 + Y * 100 + Z
+ *
+ * For the 3.3.x branch, the versions are X.Y.Z.W, with XFree86Version
+ * calculated as:
+ *
+ * X * 1000 + Y * 100 + Z * 10 + W
+ *
+ */
+#ifndef XFree86Version
+# ifdef XF86_VERSION_CURRENT
+# define XFree86Version XF86_VERSION_CURRENT
+# else /* Must be defined for bootstrapping purposes */
+# define XFree86Version 0
+# endif
+#endif
+
+#if !defined(XFree86VersionString) && \
+ defined(XF86_VERSION_MAJOR) && defined(XF86_VERSION_MINOR) && \
+ defined(XF86_VERSION_PATCH) && defined(XF86_VERSION_SNAP)
+# if XF86_VERSION_SNAP == 0
+#define XFree86VersionString `echo XF86_VERSION_MAJOR XF86_VERSION_MINOR XF86_VERSION_PATCH | sed 's/ /./g'`
+#else
+#define XFree86VersionString `echo XF86_VERSION_MAJOR XF86_VERSION_MINOR XF86_VERSION_PATCH XF86_VERSION_SNAP | sed 's/ /./g'`
+# endif
+#endif
+
+#if !defined(XFree86ManVersionString) && \
+ defined(XF86_VERSION_MAJOR) && defined(XF86_VERSION_MINOR) && \
+ defined(XF86_VERSION_PATCH) && defined(XF86_VERSION_SNAP)
+# if XF86_VERSION_SNAP == 0
+#define XFree86ManVersionString `echo XF86_VERSION_MAJOR XF86_VERSION_MINOR XF86_VERSION_PATCH | sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+#else
+#define XFree86ManVersionString `echo XF86_VERSION_MAJOR XF86_VERSION_MINOR XF86_VERSION_PATCH XF86_VERSION_SNAP | sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+# endif
+#endif
+
+#if !defined(XFree86DateString) && defined(XF86_DATE)
+# define XFree86DateString XF86_DATE
+#endif
+
+#ifndef BuildDateCmd
+# define BuildDateCmd date +%Y%m%d
+#endif
+
+#if !defined(BuildDate)
+# define BuildDate `BuildDateCmd`
+#endif
+
+#ifndef ChangelogDateCmd
+# define ChangelogDateCmd if tail $(CHANGELOGFILE) | \ @@\
+ fgrep '$$XFree86:' >/dev/null 2>&1; then \ @@\
+ tail $(CHANGELOGFILE) | fgrep '$$XFree86:' | \ @@\
+ sed s,'.* \([0-9][0-9]*\)/\([0-9][0-9]*\)/\([0-9][0-9]*\).*,\1\2\3,'; \ @@\
+ else echo 0; fi
+#endif
+
+#if !defined(ChangelogDate)
+# define ChangelogDate `ChangelogDateCmd`
+#endif
+
+#ifndef XVendorString
+# define XVendorString "The X.Org Foundation, Inc"
+#endif
+
+#ifndef XVendorRelease
+# define XVendorRelease XFree86Version
+#endif
+
+#ifndef XVendorManVersionString
+#define XVendorManVersionString XFree86ManVersionString
+#endif
+
+#ifndef XVendorManNameString
+#define XVendorManNameString XFree86
+#endif
+
+/*
+ * This enables some settings for developers.
+ */
+
+#ifndef XFree86Devel
+# if !defined(PatheticCpp) || !PatheticCpp
+# if (XFree86Version % 1000)
+# define XFree86Devel YES
+# else
+# define XFree86Devel NO
+# endif
+# else
+# define XFree86Devel NO /* Assume the worst */
+# endif
+#endif
+
+#ifndef BuildDebug
+# define BuildDebug YES
+#endif
+
+/*
+ * settings for the config file parser
+ */
+
+#ifndef XConfigFile
+#define XConfigFile XF86Config
+#endif
+#ifndef XConfigDir
+#define XConfigDir $(LIBDIR)
+#endif
+#ifndef XLogFile
+#define XLogFile XFree86
+#endif
+
+/*
+ * BuildXFree86ConfigTools:
+ *
+ * Turning this on allows the XFree86 config tools to build when
+ * BuildServersOnly is YES. This requires more than the servonly CVS
+ * module. This cannot be used to disable building the config tools with
+ * a full build.
+ */
+#ifndef BuildXFree86ConfigTools
+#ifdef BuildServersOnly
+#define BuildXFree86ConfigTools !BuildServersOnly
+#else
+#define BuildXFree86ConfigTools YES
+#endif
+#endif
+
+#ifndef BuildLibrariesForConfigTools
+#define BuildLibrariesForConfigTools BuildXFree86ConfigTools
+#endif
+
+#if BuildXFree86ConfigTools && BuildLibrariesForConfigTools
+#define BuildLibraries YES
+#define BuildXF86MiscLibrary YES
+#define BuildXF86VidModeLibrary YES
+#define BuildXKBlib YES
+#define BuildXKBfilelib YES
+#define BuildXKBuilib YES
+#endif
+
+/*
+ * When this is set, modules are always built separately from the libraries
+ * that statically link into an Xserver. This is for platforms where the
+ * module and native object formats are different (e.g., OS/2).
+ */
+#ifndef BuildModuleInSubdir
+#define BuildModuleInSubdir NO
+#endif
+
+#ifndef MakeDllModules
+#define MakeDllModules NO
+#endif
+#ifndef DoLoadableServer
+#define DoLoadableServer NO
+#endif
+
+/*
+ * Default settings for which X Servers to build.
+ */
+
+/* OS.cf files may set this for OS-specific input drivers */
+#ifndef OSXInputDrivers
+#define OSXInputDrivers /**/
+#endif
+
+/* This may be set in host.def for 3rd party input drivers */
+#ifndef ExtraXInputDrivers
+#define ExtraXInputDrivers /**/
+#endif
+
+/* XInput drivers */
+#ifndef XInputDrivers
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics tek4957 \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magellan /* magictouch */ hyperpen \
+ jamstudio fpit \
+ palmax OSXInputDrivers ExtraXInputDrivers
+#endif
+
+/* <linux/input.h> support mainly for USB support */
+#ifndef HasLinuxInput
+# define HasLinuxInput NO
+#endif
+
+/* OS.cf files may set this for OS-specific drivers */
+#ifndef XF86OSCardDrivers
+#define XF86OSCardDrivers /**/
+#endif
+
+/* This may be set in host.def for 3rd party drivers */
+#ifndef XF86ExtraCardDrivers
+#define XF86ExtraCardDrivers /**/
+#endif
+
+/* OS.cf files may set this for OS-specific drivers */
+#ifndef HasAgpGart
+#define HasAgpGart NO
+#endif
+
+/* The glide driver only works for the loadable server at the moment */
+#ifndef HasGlide2
+#define HasGlide2 NO
+#endif
+#if HasGlide2 && DoLoadableServer
+#define GlideDriver glide
+#else
+#define GlideDriver /**/
+#endif
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+#ifndef HaveMatroxHal
+#define HaveMatroxHal NO
+#endif
+
+#ifndef BuildMatroxHal
+#define BuildMatroxHal NO
+#endif
+
+#ifndef UseMatroxHal
+#if DoLoadableServer
+#define UseMatroxHal YES
+#else
+#define UseMatroxHal (HaveMatroxHal || BuildMatroxHal)
+#endif
+#endif
+
+/*
+ * For Intel platforms, the default is to build all modules which
+ * are supported on this platform.
+ */
+#if defined(i386Architecture) || defined(ia64Architecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* EXA module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+/*
+ * Amiga framebuffer module.
+ * This is mostly for build testing, but the vesa driver references it.
+ */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+
+# define AgpGartDrivers /**/
+
+/*
+ * Drivers under development, but not ready for binary releases, or
+ * drivers included on this platform only for build testing.
+ */
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers imstt newport
+# else
+# define DevelDrivers /**/
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# /* Don't build the nsc driver on IA64 */
+# ifndef ia64Architecture
+# define NscDriver nsc
+# else
+# define NscDriver /**/
+# endif
+# define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver i128 NscDriver \
+ ati i810 AgpGartDrivers DevelDrivers ark \
+ cyrix siliconmotion via \
+ fbdev vesa vga \
+ dummy XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+
+/*
+ * DRI drivers under development, or drivers included on this platform
+ * only for build testing.
+ */
+# ifndef DevelDRIDrivers
+# if XFree86Devel
+# define DevelDRIDrivers ffb
+# else
+# define DevelDRIDrivers /**/
+# endif
+# endif
+
+# ifndef DriDrivers
+# define DriDrivers gamma i810 i830 mga r128 radeon r200 \
+ sis tdfx DevelDRIDrivers
+# endif
+#endif
+
+#if defined(AMD64Architecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* EXA module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# define AgpGartDrivers /**/
+
+# define DevelDrivers /**/
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic tdfx savage cirrus tseng trident \
+ chips apm i128 ati ark cyrix siliconmotion \
+ vga dummy fbdev vesa
+# endif
+
+/* DRI tdfx driver needs Glide, which is not available for AMD64 */
+# define TdfxDriDriver /**/
+
+# define DevelDRIDrivers /**/
+
+# define DriDrivers gamma i810 mga r128 radeon r200 \
+ TdfxDriDriver DevelDRIDrivers
+#endif /*AMD64Arcitecture*/
+
+/* SPARC and UltraSPARC drivers */
+
+#if (defined(SparcArchitecture) || defined(Sparc64Architecture)) && \
+ !defined(LynxOSArchitecture) && \
+ !defined(NetBSDArchitecture) && \
+ !defined(OpenBSDArchitecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32wid fb module */
+# ifndef XF8_32Wid
+# define XF8_32Wid YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* EXA module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+ /*
+ * Some of these are compiled just for the fun of it. Undoubtedly some
+ * require changes (or even removal) for things like endianness, etc. Move
+ * those known to work into the main XF86CardDrivers #define.
+ */
+# define DevelDrivers apm ark chips cirrus i128 i740 i810 imstt \
+ neomagic newport nv rendition s3virge savage \
+ siliconmotion tga trident vmware dummy
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure SBUS and PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers sunffb sunleo suncg6 suncg3 suncg14 suntcx \
+ sunbw2 glint mga tdfx ati vesa vga fbdev \
+ XF86OSCardDrivers XF86ExtraCardDrivers \
+ DevelDrivers
+# endif
+# ifndef DriDrivers
+# define DriDrivers ffb
+# endif
+
+#endif
+
+/* Sparc64 Drivers */
+#if defined(OpenBSDArchitecture) && defined(Sparc64Architecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB NO
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* EXA module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+# ifndef UseX86Emu
+# define UseX86Emu NO
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati \
+ DevelDrivers \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# define TdfxDriDriver /**/
+# ifndef DriDrivers
+# define DriDrivers /**/
+# endif
+#endif
+
+/* MIPS drivers */
+
+#ifdef MipsArchitecture
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga glint nv s3 s3virge sis savage \
+ trident chips tdfx fbdev ati \
+ DevelDrivers newport \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+#endif
+
+/*
+ * DEC Alpha drivers
+ */
+#ifdef AlphaArchitecture
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga tdfx glint s3 s3virge rendition tga ati \
+ savage nv cirrus DevelDrivers siliconmotion \
+ vga XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# ifndef DriDrivers
+# define DriDrivers gamma tdfx mga r128 radeon r200 /*sis*/
+# endif
+#endif
+
+/*
+ * Motorola 68k and PowerPC drivers
+ */
+#if defined(PpcArchitecture) || defined(Mc68020Architecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers imstt
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga glint nv s3 s3virge sis savage\
+ trident chips tdfx fbdev \
+ DevelDrivers vga \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# ifndef DriDrivers
+# define DriDrivers gamma tdfx mga r128 radeon r200
+# endif
+#endif
+
+/*
+ * Intel StrongARM and Hewlett-Packard PA-RISC
+ */
+#if defined(Arm32Architecture) || defined(HPArchitecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga glint nv s3 s3virge sis savage\
+ trident chips tdfx fbdev \
+ DevelDrivers vga \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# if HasGlide3
+# define TdfxDriDriver tdfx
+# else
+# define TdfxDriDriver /**/
+# endif
+# ifndef DriDrivers
+# define DriDrivers gamma tdfx mga r128 radeon r200
+# endif
+#endif
+
+/* SuperH drivers */
+
+#if defined(SuperHArchitecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+# ifndef XF86CardDrivers
+# define XF86CardDrivers fbdev XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+#endif
+
+/*
+ * For PowerPC 64bit systems
+ * only libraries are strictly needed
+ */
+#if defined(Ppc64Architecture)
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB NO
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp NO
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp NO
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* 24/32bpp conversion module */
+# ifndef XF24_32Bpp
+# define XF24_32Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw NO
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga \
+ DevelDrivers \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# if HasGlide3
+# define TdfxDriDriver
+# else
+# define TdfxDriDriver /**/
+# endif
+# ifndef DriDrivers
+# define DriDrivers gamma r128
+# endif
+#endif
+
+/*
+ * For Mips/Arc platforms, the default is to build all modules which
+ * are supported on this platform.
+ */
+#ifdef ArcArchitecture
+# ifndef XF86Server
+# define XF86Server YES
+# endif
+#endif
+
+#if BuildDebug
+# define DebugDefines -DBUILDDEBUG
+#else
+# define DebugDefines /**/
+#endif
+
+#ifndef XF86Server
+# define XF86Server NO
+#endif
+#if !XF86Server
+# undef DoLoadableServer
+# define DoLoadableServer NO
+#endif
+
+/*
+ * Fbdev module defines. They are set to indicate the fb types supported
+ * on different architectures.
+ */
+#ifndef XF86AFB
+# define XF86AFB NO
+#endif
+#ifndef XF86ILBM
+# define XF86ILBM NO
+#endif
+#ifndef XF86IPLAN2P2
+# define XF86IPLAN2P2 NO
+#endif
+#ifndef XF86IPLAN2P4
+# define XF86IPLAN2P4 NO
+#endif
+#ifndef XF86IPLAN2P8
+# define XF86IPLAN2P8 NO
+#endif
+#if XF86AFB
+AFB_DEFS = -DUSE_AFB
+#endif
+#if XF86ILBM
+ILBM_DEFS = -DUSE_ILBM
+#endif
+#if XF86IPLAN2P2
+IPLAN2P2_DEFS = -DUSE_IPLAN2P2
+#endif
+#if XF86IPLAN2P4
+IPLAN2P4_DEFS = -DUSE_IPLAN2P4
+#endif
+#if XF86IPLAN2P8
+IPLAN2P8_DEFS = -DUSE_IPLAN2P8
+#endif
+#ifndef FbdevDefines
+# define FbdevDefines $(AFB_DEFS) $(ILBM_DEFS) $(IPLAN2P2_DEFS) \
+ $(IPLAN2P4_DEFS) $(IPLAN2P8_DEFS)
+#endif
+
+/*
+ * The default is to install the X servers setuid-root on most OSs.
+ * It the servers are only started by xdm, they should not be setuid-root.
+ */
+#if !defined(i386MachArchitecture) && !defined(OS2Architecture)
+# ifndef InstallXserverSetUID
+# define InstallXserverSetUID YES
+# endif
+#endif
+
+/*
+ * Build GLX server interface
+ * --- Doesn't work for 1-bit and 4-bit servers
+ */
+#ifndef BuildGlxExt
+# define BuildGlxExt YES
+#endif
+
+#ifndef BuildXF86DRI
+#define BuildXF86DRI NO
+#endif
+
+#ifndef GlxUseSGISI
+#define GlxUseSGISI NO
+#endif
+
+#if BuildXF86DRI
+
+#ifndef BuildGLXLibrary
+# if defined (BuildServersOnly) && BuildServersOnly
+# define BuildGLXLibrary NO
+# else
+# define BuildGLXLibrary YES
+# endif
+#endif
+
+/*
+ * One and ONLY one of the GlxBuiltIn* drivers can be defined to be YES.
+ * If more than one are defined, the compilation will fail with multiply
+ * defined references of GLX and OpenGL functions.
+ */
+
+/*
+ * The first is a built-in driver that does software rendering client-side
+ * and renders to the X server via Xlib.
+ */
+
+# ifndef GlxBuiltInXMesa
+# define GlxBuiltInXMesa NO
+# endif
+
+/*
+ * The rest are hardware-specific DRI drivers.
+ */
+# ifndef GlxBuiltInGamma
+# define GlxBuiltInGamma NO
+# endif
+# ifndef GlxBuiltInTdfx
+# define GlxBuiltInTdfx NO
+# endif
+# ifndef GlxBuiltInMga
+# define GlxBuiltInMga NO
+# endif
+# ifndef GlxBuiltInI810
+# define GlxBuiltInI810 NO
+# endif
+# ifndef GlxBuiltInI830
+# define GlxBuiltInI830 NO
+# endif
+# ifndef GlxBuiltInR128
+# define GlxBuiltInR128 NO
+# endif
+# ifndef GlxBuiltInRadeon
+# define GlxBuiltInRadeon NO
+# endif
+# ifndef GlxBuiltInR200
+# define GlxBuiltInR200 NO
+# endif
+# ifndef GlxBuiltInFfb
+# define GlxBuiltInFfb NO
+# endif
+# ifndef GlxBuiltInSIS
+# define GlxBuiltInSIS NO
+# endif
+
+# if GlxBuiltInTdfx || \
+ GlxBuiltInMga || \
+ GlxBuiltInI810 || \
+ GlxBuiltInI830 || \
+ GlxBuiltInR128 || \
+ GlxBuiltInRadeon || \
+ GlxBuiltInR200 || \
+ GlxBuiltInFfb || \
+ GlxBuiltInSIS
+# define GlxDriverUsesMesa YES
+# else
+# define GlxDriverUsesMesa NO
+# endif
+
+# if GlxBuiltInGamma || \
+ GlxBuiltInTdfx || \
+ GlxBuiltInMga || \
+ GlxBuiltInI810 || \
+ GlxBuiltInI830 || \
+ GlxBuiltInR128 || \
+ GlxBuiltInRadeon || \
+ GlxBuiltInR200 || \
+ GlxBuiltInFfb || \
+ GlxBuiltInSIS
+# define GlxUseBuiltInDRIDriver YES
+# define DRIDynLoadDefines /**/
+# else
+# define GlxUseBuiltInDRIDriver NO
+# define DRIDynLoadDefines -DGLX_USE_DLOPEN
+# endif
+
+# if GlxUseBuiltInDRIDriver
+# undef DriDrivers
+# if GlxBuiltInGamma
+# define DriDrivers gamma
+# endif
+# if GlxBuiltInTdfx
+# define DriDrivers tdfx
+# endif
+# if GlxBuiltInMga
+# define DriDrivers mga
+# endif
+# if GlxBuiltInI810
+# define DriDrivers i810
+# endif
+# if GlxBuiltInI830
+# define DriDrivers i830
+# endif
+# if GlxBuiltInR128
+# define DriDrivers r128
+# endif
+# if GlxBuiltInRadeon
+# define DriDrivers radeon
+# endif
+# if GlxBuiltInR200
+# define DriDrivers r200
+# endif
+# if GlxBuiltInSIS
+# define DriDrivers sis
+# endif
+# if GlxBuiltInFfb
+# define DriDrivers ffb
+# endif
+# endif
+
+#endif
+
+/*
+ * This enables building DRI support into video drivers, which can be done
+ * even on platforms that don't have functional DRI support.
+ *
+ * Defining BuildXF86DRIDriverSupport to YES will not work until we have a
+ * separate set of defines set up for building driver-only support for the
+ * DRI.
+ */
+#ifndef BuildXF86DRIDriverSupport
+# define BuildXF86DRIDriverSupport NO
+#endif
+
+#if BuildGlxExt
+
+# if BuildXF86DRI
+# define DRIDefines -DXF86DRI -DGLX_DIRECT_RENDERING DRIDynLoadDefines
+# else
+# define DRIDefines /**/
+# endif
+# if defined(GlxUseSGISI) && GlxUseSGISI
+# define GlxCoreLibDefines -DGLX_USE_SGI_SI
+# else
+# define GlxCoreLibDefines -DGLX_USE_MESA
+# endif
+
+# if defined(SparcArchitecture) \
+ || defined (Sparc64Architecture) \
+ || defined(ia64Architecture) \
+ || defined(s390xArchitecture) \
+ || defined(AMD64Architecture)
+# define GlxArchDefines -D__GLX_ALIGN64
+# elif defined(AlphaArchitecture)
+/* On the Alpha we need to ensure floating point accuracy for 3D */
+# define GlxArchDefines -D__GLX_ALIGN64 -mieee
+# elif defined(DarwinArchitecture)
+/* GLX contains lots of uninitialized globals, which can upset Darwin */
+# define GlxArchDefines -fno-common
+# else
+# define GlxArchDefines /**/
+# endif
+
+# ifndef GlxExtraDefines
+# define GlxExtraDefines DRIDefines GlxCoreLibDefines GlxArchDefines
+# endif
+
+#else
+
+/* If we are not building GLX, then make sure the DRI is not built */
+# undef BuildXF86DRI
+# define BuildXF86DRI NO
+# undef BuildXF86DRIDriverSupport
+# define BuildXF86DRIDriverSupport NO
+
+#endif
+
+#if !BuildXF86DRI
+# define GlxUseBuiltInDRIDriver NO /* For libOSmesa */
+#endif
+
+# ifndef UseX86Emu
+# define UseX86Emu YES
+# endif
+
+#define X86INT10_STUB 0
+#define X86EMU_GENERIC 1
+#define X86VM 2
+#define X86EMU_OS 3
+
+#ifndef XF86INT10_BUILD
+# if UseX86Emu
+# define XF86INT10_BUILD X86EMU_GENERIC
+# else
+# define XF86INT10_BUILD X86INT10_STUB
+# endif
+#endif
+/*
+ * Build the Rush extension library (non standard extension for cooperation
+ * between glide library and X server). Enabled by default only for Linux.
+ */
+#ifndef BuildXF86RushExt
+# define BuildXF86RushExt NO
+#endif
+
+#ifndef BuildDBElib
+# define BuildDBElib YES
+#endif
+
+#ifndef BuildRECORDlib
+# define BuildRECORDlib YES
+#endif
+
+#ifndef BuildXKBlib
+# define BuildXKBlib YES
+#endif
+
+#ifndef BuildScreenSaverExt
+# define BuildScreenSaverExt YES
+#endif
+
+/*
+ * Build XInput support
+ */
+#ifndef BuildXInputExt
+# define BuildXInputExt YES
+#endif
+
+/* Build Xinerama (aka panoramiX) extension */
+#ifndef BuildXinerama
+# define BuildXinerama YES
+#endif
+
+/* Build Render extension */
+#ifndef BuildRender
+# define BuildRender YES
+#endif
+
+#if 0
+#ifndef JoystickSupport
+# define JoystickSupport NO
+#endif
+#endif
+
+#if 0
+/*
+ * Build the extra extension libs even when not including the extra extensions
+ * in the servers
+ */
+#ifndef BuildScreenSaverLibrary
+# define BuildScreenSaverLibrary YES
+#endif
+#ifndef BuildXF86MiscLibrary
+# define BuildXF86MiscLibrary YES
+#endif
+#ifndef BuildXF86DGALibrary
+# define BuildXF86DGALibrary YES
+#endif
+#ifndef BuildXF86VidModeLibrary
+# define BuildXF86VidModeLibrary YES
+#endif
+#ifndef BuildXvLibrary
+# define BuildXvLibrary YES
+#endif
+#ifndef BuildXvMCLibrary
+# define BuildXvMCLibrary YES
+#endif
+#ifndef BuildGLXLibrary
+# define BuildGLXLibrary YES
+#endif
+#ifndef BuildXResLibrary
+# define BuildXResLibrary YES
+#endif
+#endif
+
+/*
+ * Build the XFree86-VidMode extension
+ */
+#ifndef BuildXF86VidModeExt
+# define BuildXF86VidModeExt YES
+#endif
+
+/* Don't build this now because the interface hasn't been done yet */
+/*
+ * Build the XFree86-Misc extension
+ */
+#ifndef BuildXF86MiscExt
+# define BuildXF86MiscExt YES
+#endif
+
+/*
+ * Build the XFree86-Bigfont extension
+ */
+#ifndef BuildXF86BigfontExt
+# define BuildXF86BigfontExt YES
+#endif
+
+/*
+ * Build the XFree86 DGA support
+ */
+#ifndef BuildXF86DGA
+# define BuildXF86DGA YES
+#endif
+
+/*
+ * Build the DPMS extension support
+ */
+#ifndef BuildDPMSExt
+# define BuildDPMSExt YES
+#endif
+
+/*
+ * Build the X Video Extension
+ */
+#ifndef BuildXvExt
+# define BuildXvExt YES
+#endif
+
+/*
+ * Build the X Video Motion Compensation Extension
+ */
+#ifndef BuildXvMCExt
+# define BuildXvMCExt YES
+#endif
+
+/*
+ * Build the X-Resource Extension
+ */
+#ifndef BuildXResExt
+# define BuildXResExt YES
+#endif
+
+#if Malloc0ReturnsNull
+# ifndef XtMalloc0ReturnsNullDefines
+# define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
+# endif
+#endif
+
+#ifndef UseInternalMalloc
+# define UseInternalMalloc NO
+#endif
+
+#ifndef HasDlsymBug
+# define HasDlsymBug NO
+#endif
+
+#ifndef HasMTRRSupport
+# define HasMTRRSupport NO
+#endif
+
+/*
+ * Build the font server
+ */
+#ifndef BuildFontServer
+# define BuildFontServer YES
+#endif
+
+/*
+ * Include fonts support
+ */
+#ifndef BuildSpeedo
+# define BuildSpeedo NO
+#endif
+
+#ifndef BuildType1
+# define BuildType1 NO
+#endif
+
+#ifndef BuildCID
+# define BuildCID YES
+#endif
+
+#ifndef BuildFreeType
+# define BuildFreeType YES
+#endif
+
+/*
+ * By default, build all of the fonts.
+ */
+#ifndef Build75DpiFonts
+# define Build75DpiFonts YES
+#endif
+#ifndef Build100DpiFonts
+# define Build100DpiFonts YES
+#endif
+#ifndef BuildSpeedoFonts
+# define BuildSpeedoFonts NO
+#endif
+#ifndef BuildType1Fonts
+# define BuildType1Fonts YES
+#endif
+#ifndef BuildCIDFonts
+# define BuildCIDFonts YES
+#endif
+#ifndef BuildTrueTypeFonts
+# define BuildTrueTypeFonts YES
+#endif
+#ifndef BuildCyrillicFonts
+# define BuildCyrillicFonts YES
+#endif
+
+/*
+ * Build scanpci?
+ */
+#ifndef SystemV
+#define SystemV NO
+#endif
+#ifndef SystemV4
+#define SystemV4 NO
+#endif
+#ifndef BuildScanpci
+# if SystemV || SystemV4 || \
+ (defined(LinuxArchitecture) && !defined(Mc68020Architecture)) || \
+ defined(i386BsdArchitecture) || defined(LynxOSArchitecture) || \
+ defined(OS2Architecture) || defined(GNUMachArchitecture) || \
+ (defined(KFreeBSDArchitecture) && defined(i386Architecture))
+# define BuildScanpci YES
+# else
+# define BuildScanpci NO
+# endif
+#endif
+
+#ifndef CompressAllFonts
+# define CompressAllFonts YES
+#endif
+
+#ifndef GzipFontCompression
+# define GzipFontCompression YES
+#endif
+
+/* Disable stripping installed programs for this release. */
+#ifndef StripInstalledPrograms
+# define StripInstalledPrograms NO
+#endif
+
+#ifndef InstallJapaneseDocs
+#define InstallJapaneseDocs NO
+#endif
+
+#if BuildXF86DGA
+# define XFree86DGADefines -DXFreeXDGA
+#else
+# define XFree86DGADefines /**/
+#endif
+
+#if BuildXvExt
+# define XFree86XvDefines -DXvExtension
+#else
+# define XFree86XvDefines /**/
+#endif
+
+#if BuildXvMCExt
+# define XFree86XvMCDefines -DXvMCExtension
+#else
+# define XFree86XvMCDefines /**/
+#endif
+
+#if BuildXResExt
+# define XFree86XResDefines -DXResExtension
+#else
+# define XFree86XResDefines /**/
+#endif
+
+#ifndef DlopenHack
+# define DlopenHack -DDLOPEN_HACK
+#endif
+
+#ifndef ExtraLoaderDefines
+# if MakeDllModules
+# define ExtraLoaderDefines DlopenHack
+# else
+# define ExtraLoaderDefines /**/
+# endif
+#endif
+
+#if DoLoadableServer
+# define XFree86LoaderDefines -DXFree86LOADER ExtraLoaderDefines
+#else
+# define XFree86LoaderDefines /**/
+#endif
+
+#ifndef HasBsdMake
+#define HasBsdMake NO
+#endif
+
+#ifndef MakeHasPosixVariableSubstitutions
+# if !HasBsdMake && !defined(SunArchitecture)
+# define MakeHasPosixVariableSubstitutions NO
+# else
+# define MakeHasPosixVariableSubstitutions YES
+# endif
+#endif
+
+#ifndef UseSmartScheduler
+#define UseSmartScheduler YES
+#endif
+
+#if UseSmartScheduler
+#define SmartScheduleDefines -DSMART_SCHEDULE
+#else
+#define SmartScheduleDefines /**/
+#endif
+
+/* Server defines required for all OSs */
+#ifndef XFree86ServerDefines
+# define XFree86ServerDefines -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH \
+ XFree86DGADefines XFree86XvDefines \
+ XFree86LoaderDefines -DXFree86Server \
+ VidModeExtensionDefines \
+ XFree86XvMCDefines \
+ SmartScheduleDefines \
+ DebugDefines XFree86XResDefines \
+ -DX_BYTE_ORDER=$(X_BYTE_ORDER)
+#endif
+
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \
+ -DDDXOSVERRORF
+#endif
+
+#ifndef XFree86ConsoleDefines
+# if defined(i386BsdArchitecture) || defined(AlphaBsdArchitecture) || (defined(KFreeBSDArchitecture) && defined(i386Architecture))
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+# elif defined(KFreeBSDArchitecture)
+# define XFree86ConsoleDefines -DSYSCONS_SUPPORT
+# else
+# define XFree86ConsoleDefines /**/
+# endif
+#endif
+
+/* Support for USB mouse */
+#ifndef UsbMouseSupport
+# define UsbMouseSupport NO
+#endif
+/* Does this OS have libusb ? */
+#ifndef HasLibUsb
+# define HasLibUsb NO
+#endif
+
+#ifndef UseServerLock
+# define UseServerLock YES
+#endif
+
+#ifndef XnestServer
+# define XnestServer YES
+#endif
+#ifndef XVirtualFramebufferServer
+# define XVirtualFramebufferServer YES
+#endif
+#ifndef XprtServer
+# define XprtServer YES
+#endif
+
+#ifndef ServerExtraDefines
+# define ServerExtraDefines XFree86ServerDefines
+#endif
+
+#ifndef ServerOSDefines
+# define ServerOSDefines XFree86ServerOSDefines
+#endif
+
+#ifndef DriverSDKDir
+# define DriverSDKDir $(USRLIBDIR)/Server
+#endif
+
+#ifndef DriverSDKModuleDir
+# define DriverSDKModuleDir $(USRLIBDIR)/Server/modules
+#endif
+
+#ifndef DriverSDKIncludeDir
+# define DriverSDKIncludeDir $(USRLIBDIR)/Server/include
+#endif
+
+DRIVERSDKDIR = DriverSDKDir
+DRIVERSDKMODULEDIR = DriverSDKModuleDir
+DRIVERSDKINCLUDEDIR = DriverSDKIncludeDir
+
+/*
+ * Some commonly refered to directories are defined here.
+ */
+
+ XF86SRC = $(SERVERSRC)/hw/xfree86
+ XF86COMSRC = $(XF86SRC)/common
+ XF86PARSERSRC = $(XF86SRC)/parser
+ XF86OSSRC = $(XF86SRC)/os-support
+ XF86DRIVERSRC = $(XF86SRC)/drivers
+ DRIVERSRC = $(XF86DRIVERSRC)
+
+/*
+ * Installed location of the XFree86 documentation
+ */
+
+ XFREE86DOCDIR = $(DOCDIR)
+ XFREE86PSDOCDIR = $(DOCPSDIR)
+ XFREE86PDFDOCDIR = $(DOCPDFDIR)
+ XFREE86HTMLDOCDIR = $(DOCHTMLDIR)
+XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
+
+/*
+ * Other stuff used in the X Server source.
+ */
+
+#ifndef OtherIConfigFiles
+# define OtherIConfigFiles $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules
+#endif
+
+#ifndef UseRgbTxt
+# define UseRgbTxt YES
+#endif
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+
+/*
+ * GNU Compiler stuff
+ */
+#ifndef HasGcc3
+# define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+# define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+# define HasGcc HasGcc2
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus HasGcc2
+#endif
+
+#if HasGcc
+# ifndef Gcc28Warnings
+# if (GccMajorVersion > 2) || \
+ ((GccMajorVersion == 2) && (GccMinorVersion >= 8))
+# define Gcc28Warnings -Wundef
+# else
+# define Gcc28Warnings /* */
+# endif
+# endif
+# ifndef GccWarningOptions
+# if XFree86Devel
+# define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs Gcc28Warnings
+# else
+# define GccWarningOptions -Wall -Wpointer-arith Gcc28Warnings
+# endif
+# endif
+# ifndef DefaultCCOptions
+# if defined(UseInstalled)
+# define DefaultCCOptions /* -ansi */
+# else
+# define DefaultCCOptions -ansi GccWarningOptions
+# endif
+# endif
+# if defined(UseInstalled)
+# ifndef UseGccMakeDepend
+# define UseGccMakeDepend YES
+# endif
+# endif
+#endif
+
+/* Make imake noisier. Note that this is ineffective for 3.0 <= GCC <= 3.2 */
+#ifndef ImakeWarningFlags
+# ifdef Gcc28Warnings
+# define ImakeWarningFlags Gcc28Warnings
+# else
+# define ImakeWarningFlags /* */
+# endif
+#endif
+
+#if (GccMajorVersion == 3) && (GccMinorVersion >= 1)
+# define GccAliasingArgs -fno-strict-aliasing
+#else
+# define GccAliasingArgs /* */
+#endif
+
+#if HasGcc2 && defined(i386Architecture)
+# ifndef DefaultGcc2i386Opt
+# define DefaultGcc2i386Opt -O2 -fno-strength-reduce GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(AMD64Architecture)
+# ifndef DefaultGcc2AMD64Opt
+# define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(AlphaArchitecture)
+# ifndef DefaultGcc2AxpOpt
+# define DefaultGcc2AxpOpt -O2 GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(Ppc64Architecture)
+# ifndef DefaultGcc2Ppc64Opt
+# define DefaultGcc2Ppc64Opt -O2 GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(PpcArchitecture)
+# ifndef DefaultGcc2PpcOpt
+# define DefaultGcc2PpcOpt -O2 GccAliasingArgs
+# endif
+#endif
+
+#ifndef DefaultGcc2DebugOpt
+# define DefaultGcc2DebugOpt -g
+#endif
+
+#ifndef DebuggableLibraries
+# define DebuggableLibraries NO
+#endif
+
+#if HasGcc2 && DebuggableLibraries
+# define LibraryDebugOpt DefaultGcc2DebugOpt
+#endif
+
+/*
+ * Some versions of gcc have optimisation bugs that cause problems building
+ * some files. The definitions here cover those.
+ */
+
+#ifndef Egcs112Bug
+ /* Not exactly precise, but it'll do for now... */
+# if HasGcc2 && defined(i386Architecture) && \
+ (GccMajorVersion == 2) && (GccMinorVersion > 8)
+# define Egcs112Bug YES
+# else
+# define Egcs112Bug NO
+# endif
+#endif
+
+#ifdef i386Architecture
+# ifndef HasX86Support
+# define HasX86Support YES
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport YES
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#elif defined (AMD64Architecture)
+# ifndef HasX86Support
+# define HasX86Support NO
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport NO
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#else
+# ifndef HasX86Support
+# define HasX86Support NO
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport NO
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#endif
+
+#ifndef StaticNeedsPicForShared
+# if defined (AMD64Architecture)\
+ || defined (AlphaArchitecture) \
+ || defined (ia64Architecture) \
+ || defined (PpcArchitecture) \
+ || defined (SparcArchitecture) \
+ || defined (s390xArchitecture)
+# define StaticNeedsPicForShared YES
+# else
+# define StaticNeedsPicForShared NO
+# endif
+#endif
+
+#ifndef XF8_32Wid
+# define XF8_32Wid NO
+#endif
+
+#if CrossCompiling
+#include <cross.def>
+#endif
+#include <xf86.rules>
+
diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf
new file mode 100644
index 000000000..6c42574aa
--- /dev/null
+++ b/nx-X11/config/cf/xorg.cf
@@ -0,0 +1,1689 @@
+XCOMM $XdotOrg: xc/config/cf/xorg.cf,v 1.53 2005/10/03 16:08:44 alanc Exp $
+/*
+ * This configuration file contains all of the configuration
+ * information for the Xorg based X Servers.
+ *
+ * Most of these settings can be overridden in a vendor.cf or the
+ * BeforeVendor part of the site.def file.
+ */
+XCOMM $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $
+
+/* Get and set version information. */
+
+#include "date.def"
+#include "xorgversion.def"
+
+#if !defined(XorgVersionString) && \
+ defined(XORG_VERSION_MAJOR) && defined(XORG_VERSION_MINOR) && \
+ defined(XORG_VERSION_PATCH) && defined(XORG_VERSION_SNAP)
+# if XORG_VERSION_SNAP == 0
+# if XORG_VERSION_PATCH == 0
+# define XorgVersionString `echo XORG_VERSION_MAJOR XORG_VERSION_MINOR | sed 's/ /./g'`
+# else
+# define XorgVersionString `echo XORG_VERSION_MAJOR XORG_VERSION_MINOR XORG_VERSION_PATCH | sed 's/ /./g'`
+# endif
+# else
+# define XorgVersionString `echo XORG_VERSION_MAJOR XORG_VERSION_MINOR XORG_VERSION_PATCH XORG_VERSION_SNAP | sed 's/ /./g'`
+# endif
+#endif
+
+#if !defined(XORG_DATE) && defined(XF86_DATE)
+# define XORG_DATE XF86_DATE
+#endif
+
+/*
+ * Xorg versions are M.m.P.s, and XorgVersion is:
+ *
+ * M * 10000000 + m * 100000 + P * 1000 + s
+ *
+ */
+
+#ifndef XorgVersion
+# define XorgVersion (((XORG_VERSION_MAJOR) * 10000000) + ((XORG_VERSION_MINOR) * 100000) + ((XORG_VERSION_PATCH) * 1000) + XORG_VERSION_SNAP)
+#endif
+
+#ifndef VersionDefines
+# define VersionDefines -DXORG_VERSION_CURRENT="$(XORG_VERSION_CURRENT)"
+#endif
+
+/* Place the version of the relevant changelog file here */
+#ifndef ReleaseVersion
+# define ReleaseVersion RELEASE-1
+#endif
+
+XORG_VERSION_CURRENT = XorgVersion
+RELEASE_VERSION = ReleaseVersion
+
+#if !defined(XorgManVersionString) && \
+ defined(XORG_VERSION_MAJOR) && defined(XORG_VERSION_MINOR) && \
+ defined(XORG_VERSION_PATCH) && defined(XORG_VERSION_SNAP)
+# if XORG_VERSION_SNAP == 0
+#define XorgManVersionString `echo XORG_VERSION_MAJOR XORG_VERSION_MINOR XORG_VERSION_PATCH | sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+#else
+#define XorgManVersionString `echo XORG_VERSION_MAJOR XORG_VERSION_MINOR XORG_VERSION_PATCH XORG_VERSION_SNAP | sed -e 's/ /./g' -e 's/^/Version\\\ /'`
+# endif
+#endif
+
+#if !defined(XorgDateString) && defined(XORG_DATE)
+# define XorgDateString XORG_DATE
+#endif
+
+#if !defined(XFree86DateString) && defined(XorgDateString)
+# define XFree86DateString XorgDateString
+#endif
+
+#ifndef BuildDateCmd
+# define BuildDateCmd date +%Y%m%d
+#endif
+
+#if !defined(BuildDate)
+# define BuildDate `BuildDateCmd`
+#endif
+
+#ifndef ChangelogDateCmd
+# define ChangelogDateCmd if tail $(CHANGELOGFILE) 2>/dev/null | \ @@\
+ fgrep '$$XdotOrg:' >/dev/null 2>&1; then \ @@\
+ tail $(CHANGELOGFILE) | fgrep '$$XdotOrg:' | \ @@\
+ sed s,'.* \([0-9][0-9]*\)/\([0-9][0-9]*\)/\([0-9][0-9]*\).*,\1\2\3,'; \ @@\
+ else echo 0; fi
+#endif
+
+#if !defined(ChangelogDate)
+# define ChangelogDate `ChangelogDateCmd`
+#endif
+
+#ifndef XVendorString
+# define XVendorString "The X.Org Foundation"
+#endif
+
+#ifndef XVendorRelease
+# define XVendorRelease XorgVersion
+#endif
+
+#ifndef XVendorManVersionString
+#define XVendorManVersionString XorgManVersionString
+#endif
+
+#ifndef XVendorManNameString
+#define XVendorManNameString X.Org
+#endif
+
+/*
+ * This enables some settings for developers.
+ */
+
+#ifndef XFree86Devel
+# if !defined(PatheticCpp) || !PatheticCpp
+# if (XorgVersion % 1000)
+# define XFree86Devel YES
+# else
+# define XFree86Devel NO
+# endif
+# else
+# define XFree86Devel NO /* Assume the worst */
+# endif
+#endif
+
+#ifndef BuildDebug
+# define BuildDebug YES
+#endif
+
+/*
+ * settings for the config file parser
+ */
+
+#ifndef XConfigFile
+#define XConfigFile xorg.conf
+#endif
+#ifndef XConfigDir
+#define XConfigDir $(LIBDIR)
+#endif
+#ifndef XLogFile
+#define XLogFile Xorg
+#endif
+#ifndef XServerName
+# define XServerName Xorg
+#endif
+
+/*
+ * BuildXFree86ConfigTools:
+ *
+ * Turning this on allows the XFree86 config tools to build when
+ * BuildServersOnly is YES. This requires more than the servonly CVS
+ * module. This cannot be used to disable building the config tools with
+ * a full build.
+ */
+#ifndef BuildXFree86ConfigTools
+#ifdef BuildServersOnly
+#define BuildXFree86ConfigTools !BuildServersOnly
+#else
+#define BuildXFree86ConfigTools YES
+#endif
+#endif
+
+#ifndef BuildLibrariesForConfigTools
+#define BuildLibrariesForConfigTools BuildXFree86ConfigTools
+#endif
+
+#if BuildXFree86ConfigTools && BuildLibrariesForConfigTools
+#define BuildLibraries YES
+#define BuildXF86MiscLibrary YES
+#define BuildXF86VidModeLibrary YES
+#define BuildXKBlib YES
+#define BuildXKBfilelib YES
+#define BuildXKBuilib YES
+#endif
+
+/*
+ * When this is set, modules are always built separately from the libraries
+ * that statically link into an Xserver. This is for platforms where the
+ * module and native object formats are different (e.g., OS/2).
+ */
+#ifndef BuildModuleInSubdir
+#define BuildModuleInSubdir NO
+#endif
+
+#ifndef DoLoadableServer
+#define DoLoadableServer NO
+#endif
+
+#ifndef MakeDllModules
+#if DoLoadableServer
+#define MakeDllModules YES
+#else
+#define MakeDllModules NO
+#endif
+#endif
+
+/*
+ * Default settings for which X Servers to build.
+ */
+
+/* OS.cf files may set this for OS-specific input drivers */
+#ifndef OSXInputDrivers
+#define OSXInputDrivers /**/
+#endif
+
+/* This may be set in host.def for 3rd party input drivers */
+#ifndef ExtraXInputDrivers
+#define ExtraXInputDrivers /**/
+#endif
+
+/* XInput drivers */
+#ifndef XInputDrivers
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics tek4957 \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magellan /* magictouch */ hyperpen \
+ jamstudio fpit \
+ palmax OSXInputDrivers ExtraXInputDrivers
+#endif
+
+
+/* Deprecated keyboard driver */
+#ifndef UseDeprecatedKeyboardDriver
+#define UseDeprecatedKeyboardDriver NO
+#endif
+
+/* <linux/input.h> support mainly for USB support */
+#ifndef HasLinuxInput
+# define HasLinuxInput NO
+#endif
+
+/* OS.cf files may set this for OS-specific drivers */
+#ifndef XF86OSCardDrivers
+#define XF86OSCardDrivers /**/
+#endif
+
+/* This may be set in host.def for 3rd party drivers */
+#ifndef XF86ExtraCardDrivers
+#define XF86ExtraCardDrivers /**/
+#endif
+
+/* OS.cf files may set this for OS-specific drivers */
+#ifndef HasAgpGart
+#define HasAgpGart NO
+#endif
+
+/* Some DRI drivers are disabled because they are either insecure or unusable on
+ * this architecture. This switch allows you to enable building these drivers.
+ */
+#ifndef BuildDevelDRIDrivers
+#define BuildDevelDRIDrivers NO
+#endif
+
+/* The glide driver only works for the loadable server at the moment */
+#ifndef HasGlide2
+#define HasGlide2 NO
+#endif
+#if HasGlide2 && DoLoadableServer
+#define GlideDriver glide
+#else
+#define GlideDriver /**/
+#endif
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+#ifndef HaveMatroxHal
+#define HaveMatroxHal NO
+#endif
+
+#ifndef BuildMatroxHal
+#define BuildMatroxHal NO
+#endif
+
+#ifndef UseMatroxHal
+#if DoLoadableServer
+#define UseMatroxHal YES
+#else
+#define UseMatroxHal (HaveMatroxHal || BuildMatroxHal)
+#endif
+#endif
+
+/*
+ * Many architectures share common X Server pieces. List them here.
+ */
+#if defined(i386Architecture) || defined(ia64Architecture) || \
+ defined(AMD64Architecture) || defined(SparcArchitecture) || \
+ defined(Sparc64Architecture) || defined(MipsArchitecture) || \
+ defined(AlphaArchitecture) || defined(PpcArchitecture) || \
+ defined(Mc68020Architecture) || defined(Arm32Architecture) || \
+ defined(HPArchitecture) || defined(SuperHArchitecture)
+# ifndef XorgServer
+# define XorgServer YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp YES
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp YES
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+#endif
+
+/*
+ * Intel x86 and ia64 drivers
+ */
+#if defined(i386Architecture) || defined(ia64Architecture)
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* Amiga framebuffer module. Required by vesa module. */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+
+/*
+ * Drivers under development, but not ready for binary releases, or
+ * drivers included on this platform only for build testing.
+ */
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers imstt newport
+# else
+# define DevelDrivers /**/
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# /* Don't build the nsc driver on IA64 */
+# ifndef ia64Architecture
+# define i386Drivers nsc i810
+# else
+# define i386Drivers /**/
+# endif
+# define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver i128 i386Drivers \
+ ati DevelDrivers ark \
+ cyrix siliconmotion via \
+ vesa vga \
+ dummy XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+
+# ifndef DevelDRIDrivers
+# define DevelDRIDrivers ffb mach64 unichrome
+# endif
+
+# ifndef DriDrivers
+# ifndef ia64Architecture
+# define i386DRIDrivers i810 i915 sis
+# else
+ /* SiS is 64-bit unclean as of this writing. */
+# define i386DRIDrivers /**/
+# endif
+# define DriDrivers i386DRIDrivers mga r128 radeon r200 tdfx
+# endif
+#endif /* i386Architecture || ia64Architecture */
+
+#if defined(AMD64Architecture)
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* Amiga framebuffer module. Required by vesa module. */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+
+/*
+ * Drivers under development, but not ready for binary releases, or
+ * drivers included on this platform only for build testing.
+ */
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /**/
+# else
+# define DevelDrivers /**/
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic tdfx savage cirrus tseng trident \
+ chips apm i128 ati ark cyrix siliconmotion \
+ vga dummy vesa i810 vmware \
+ XF86OSCardDrivers XF86ExtraCardDrivers DevelDrivers
+# endif
+
+/* SiS is 64-bit unclean as of this writing. */
+# ifndef DriDrivers
+# define DriDrivers i915 mga r128 radeon r200 tdfx
+# endif
+#endif /*AMD64Arcitecture*/
+
+/* SPARC and UltraSPARC drivers */
+
+#if (defined(SparcArchitecture) || defined(Sparc64Architecture)) && \
+ !defined(LynxOSArchitecture) && \
+ !defined(NetBSDArchitecture) && \
+ !defined(OpenBSDArchitecture)
+/* 8/32wid fb module */
+# ifndef XF8_32Wid
+# define XF8_32Wid YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* Amiga framebuffer module. Required by vesa module. */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+ /*
+ * Some of these are compiled just for the fun of it. Undoubtedly some
+ * require changes (or even removal) for things like endianness, etc. Move
+ * those known to work into the main XF86CardDrivers #define.
+ */
+# define DevelDrivers apm ark chips cirrus i128 i740 i810 imstt \
+ neomagic newport nv rendition s3virge savage \
+ siliconmotion tga trident vmware dummy
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure SBUS and PCI drivers should go first */
+# ifndef XF86CardDrivers
+# ifdef SunArchitecture
+# define XF86CardDrivers /* sunffb */ sunleo suncg6 suncg3 suncg14 \
+ suntcx sunbw2 glint mga tdfx ati vesa vga \
+ dummy XF86OSCardDrivers XF86ExtraCardDrivers \
+ DevelDrivers
+# else
+# define XF86CardDrivers sunffb sunleo suncg6 suncg3 suncg14 suntcx \
+ sunbw2 glint mga tdfx ati vesa vga dummy \
+ XF86OSCardDrivers XF86ExtraCardDrivers \
+ DevelDrivers
+# endif
+# endif
+# ifndef DriDrivers
+# define DriDrivers ffb
+# endif
+
+#endif
+
+/* Sparc64 Drivers */
+#if defined(OpenBSDArchitecture) && defined(Sparc64Architecture)
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB NO
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+# ifndef UseX86Emu
+# define UseX86Emu NO
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati dummy \
+ DevelDrivers \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+#endif /* OpenBSDArchitecture && Sparc64Architecture */
+
+/* MIPS drivers */
+
+#ifdef MipsArchitecture
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga glint nv s3 s3virge sis savage \
+ trident chips tdfx ati dummy \
+ DevelDrivers newport \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+#endif /* MipsArchitecture */
+
+/*
+ * DEC Alpha drivers
+ */
+#ifdef AlphaArchitecture
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers mga tdfx glint s3 s3virge rendition tga ati \
+ savage nv cirrus DevelDrivers siliconmotion \
+ vga dummy XF86OSCardDrivers \
+ XF86ExtraCardDrivers
+# endif
+/*
+ * Glide is available for Alpha, therefore build tdfx DRM module.
+ * SiS is 64-bit unclean as of this writing.
+ */
+# ifndef DriDrivers
+# define DriDrivers tdfx mga r128 radeon r200
+# endif
+#endif /* AlphaArchitecture */
+
+/*
+ * Motorola 68k and PowerPC drivers
+ */
+#if defined(PpcArchitecture) || defined(Mc68020Architecture)
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB YES
+# endif
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers imstt
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga glint nv s3 s3virge sis savage\
+ trident chips tdfx \
+ DevelDrivers vga dummy \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+/* The tdfx driver needs Glide, which is not available for PPC. */
+# ifndef DriDrivers
+# define DriDrivers mga r128 radeon r200
+# endif
+#endif /* PpcArchitecture || Mc68020Architecture */
+
+/*
+ * Intel StrongARM and Hewlett-Packard PA-RISC
+ */
+#if defined(Arm32Architecture) || defined(HPArchitecture)
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers /* */
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga glint nv s3 s3virge sis savage\
+ trident chips tdfx \
+ DevelDrivers vga dummy \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# ifndef DriDrivers
+# define DriDrivers mga r128 radeon r200
+# endif
+#endif
+
+/* SuperH drivers */
+#if defined(SuperHArchitecture)
+# ifndef XF86CardDrivers
+# define XF86CardDrivers XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+#endif
+
+/*
+ * For PowerPC 64bit systems
+ * only libraries are strictly needed
+ */
+#if defined(Ppc64Architecture)
+# ifndef XorgServer
+# define XorgServer YES
+# endif
+/* 1bpp module */
+# ifndef XF1Bpp
+# define XF1Bpp NO
+# endif
+/* 4bpp module */
+# ifndef XF4Bpp
+# define XF4Bpp NO
+# endif
+/* 8/32bpp overlay module */
+# ifndef XF8_32Bpp
+# define XF8_32Bpp YES
+# endif
+/* 8/16bpp dual fb module */
+# ifndef XF8_16Bpp
+# define XF8_16Bpp YES
+# endif
+/* shadow fb module */
+# ifndef XFShadowFB
+# define XFShadowFB YES
+# endif
+/* fbdevhw module */
+# ifndef XF86FBDevHw
+# define XF86FBDevHw YES
+# endif
+/* XAA module */
+# ifndef XF86XAA
+# define XF86XAA YES
+# endif
+/* Exa module */
+# ifndef XF86EXA
+# define XF86EXA YES
+# endif
+/* ramdac module */
+# ifndef XF86Ramdac
+# define XF86Ramdac YES
+# endif
+/* I2C module */
+# ifndef XF86I2C
+# define XF86I2C YES
+# endif
+/* DDC module */
+# ifndef XF86DDC
+# define XF86DDC YES
+# endif
+/* RAC (Resource Access Control) module */
+# ifndef XF86RAC
+# define XF86RAC YES
+# endif
+/* int10 module */
+# ifndef XF86Int10
+# define XF86Int10 YES
+# endif
+/* vbe module */
+# ifndef XF86VBE
+# define XF86VBE YES
+# endif
+
+/* vgahw module */
+# ifndef XF86VgaHw
+# define XF86VgaHw YES
+# endif
+/* Amiga framebuffer module */
+# ifndef XF86AFB
+# define XF86AFB NO
+# endif
+
+# ifndef DevelDrivers
+# if XFree86Devel
+# define DevelDrivers
+# else
+# define DevelDrivers /* */
+# endif
+# endif
+
+/* Pure PCI drivers should go first */
+# ifndef XF86CardDrivers
+# define XF86CardDrivers ati mga dummy \
+ DevelDrivers \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+# endif
+# define TdfxDriDriver /**/
+# ifndef DriDrivers
+# define DriDrivers r128
+# endif
+#endif /* Ppc64Architecture */
+
+/*
+ * For Mips/Arc platforms, the default is to build all modules which
+ * are supported on this platform.
+ */
+#ifdef ArcArchitecture
+# ifndef XorgServer
+# define XorgServer YES
+# endif
+#endif
+
+#if BuildDebug
+# define DebugDefines -DBUILDDEBUG
+#else
+# define DebugDefines /**/
+#endif
+
+#ifndef XorgServer
+# define XorgServer NO
+#endif
+#if !XorgServer
+# undef DoLoadableServer
+# define DoLoadableServer NO
+#endif
+
+/*
+ * Fbdev module defines. They are set to indicate the fb types supported
+ * on different architectures.
+ */
+#ifndef XF86AFB
+# define XF86AFB NO
+#endif
+#ifndef XF86ILBM
+# define XF86ILBM NO
+#endif
+#ifndef XF86IPLAN2P2
+# define XF86IPLAN2P2 NO
+#endif
+#ifndef XF86IPLAN2P4
+# define XF86IPLAN2P4 NO
+#endif
+#ifndef XF86IPLAN2P8
+# define XF86IPLAN2P8 NO
+#endif
+#if XF86AFB
+AFB_DEFS = -DUSE_AFB
+#endif
+#if XF86ILBM
+ILBM_DEFS = -DUSE_ILBM
+#endif
+#if XF86IPLAN2P2
+IPLAN2P2_DEFS = -DUSE_IPLAN2P2
+#endif
+#if XF86IPLAN2P4
+IPLAN2P4_DEFS = -DUSE_IPLAN2P4
+#endif
+#if XF86IPLAN2P8
+IPLAN2P8_DEFS = -DUSE_IPLAN2P8
+#endif
+#ifndef FbdevDefines
+# define FbdevDefines $(AFB_DEFS) $(ILBM_DEFS) $(IPLAN2P2_DEFS) \
+ $(IPLAN2P4_DEFS) $(IPLAN2P8_DEFS)
+#endif
+
+/*
+ * The default is to install the X servers setuid-root on most OSs.
+ * It the servers are only started by xdm, they should not be setuid-root.
+ */
+#if !defined(i386MachArchitecture) && !defined(OS2Architecture)
+# ifndef InstallXserverSetUID
+# define InstallXserverSetUID YES
+# endif
+#endif
+
+/*
+ * Build GLX server interface
+ * --- Doesn't work for 1-bit and 4-bit servers
+ */
+#ifndef BuildGlxExt
+# define BuildGlxExt YES
+#endif
+
+#ifndef BuildXF86DRI
+#define BuildXF86DRI NO
+#endif
+
+#ifndef GlxUseSGISI
+#define GlxUseSGISI NO
+#endif
+
+#if BuildXF86DRI
+
+#ifndef DriDrivers
+#define DriDrivers /**/
+#endif
+
+#ifndef DevelDRIDrivers
+#define DevelDRIDrivers /**/
+#endif
+
+#ifndef BuildGLXLibrary
+# if defined (BuildServersOnly) && BuildServersOnly
+# define BuildGLXLibrary NO
+# else
+# define BuildGLXLibrary YES
+# endif
+#endif
+
+/*
+ * One and ONLY one of the GlxBuiltIn* drivers can be defined to be YES.
+ * If more than one are defined, the compilation will fail with multiply
+ * defined references of GLX and OpenGL functions.
+ */
+
+/*
+ * The first is a built-in driver that does software rendering client-side
+ * and renders to the X server via Xlib.
+ */
+
+# ifndef GlxBuiltInXMesa
+# define GlxBuiltInXMesa NO
+# endif
+
+/*
+ * The rest are hardware-specific DRI drivers.
+ */
+# ifndef GlxBuiltInGamma
+# define GlxBuiltInGamma NO
+# endif
+# ifndef GlxBuiltInTdfx
+# define GlxBuiltInTdfx NO
+# endif
+# ifndef GlxBuiltInMga
+# define GlxBuiltInMga NO
+# endif
+# ifndef GlxBuiltInI810
+# define GlxBuiltInI810 NO
+# endif
+# ifndef GlxBuiltInI915
+# define GlxBuiltInI915 NO
+# endif
+# ifndef GlxBuiltInR128
+# define GlxBuiltInR128 NO
+# endif
+# ifndef GlxBuiltInRadeon
+# define GlxBuiltInRadeon NO
+# endif
+# ifndef GlxBuiltInR200
+# define GlxBuiltInR200 NO
+# endif
+# ifndef GlxBuiltInFfb
+# define GlxBuiltInFfb NO
+# endif
+# ifndef GlxBuiltInSIS
+# define GlxBuiltInSIS NO
+# endif
+
+# if GlxBuiltInTdfx || \
+ GlxBuiltInMga || \
+ GlxBuiltInI810 || \
+ GlxBuiltInI915 || \
+ GlxBuiltInR128 || \
+ GlxBuiltInRadeon || \
+ GlxBuiltInR200 || \
+ GlxBuiltInFfb || \
+ GlxBuiltInSIS
+# define GlxDriverUsesMesa YES
+# else
+# define GlxDriverUsesMesa NO
+# endif
+
+# if GlxBuiltInGamma || \
+ GlxBuiltInTdfx || \
+ GlxBuiltInMga || \
+ GlxBuiltInI810 || \
+ GlxBuiltInI915 || \
+ GlxBuiltInR128 || \
+ GlxBuiltInRadeon || \
+ GlxBuiltInR200 || \
+ GlxBuiltInFfb || \
+ GlxBuiltInSIS
+# define GlxUseBuiltInDRIDriver YES
+# define DRIDynLoadDefines /**/
+# else
+# define GlxUseBuiltInDRIDriver NO
+# define DRIDynLoadDefines -DGLX_USE_DLOPEN
+# endif
+
+# if GlxUseBuiltInDRIDriver
+# undef DriDrivers
+# if GlxBuiltInGamma
+# define DriDrivers gamma
+# endif
+# if GlxBuiltInTdfx
+# define DriDrivers tdfx
+# endif
+# if GlxBuiltInMga
+# define DriDrivers mga
+# endif
+# if GlxBuiltInI810
+# define DriDrivers i810
+# endif
+# if GlxBuiltInI915
+# define DriDrivers i915
+# endif
+# if GlxBuiltInR128
+# define DriDrivers r128
+# endif
+# if GlxBuiltInRadeon
+# define DriDrivers radeon
+# endif
+# if GlxBuiltInR200
+# define DriDrivers r200
+# endif
+# if GlxBuiltInSIS
+# define DriDrivers sis
+# endif
+# if GlxBuiltInFfb
+# define DriDrivers ffb
+# endif
+# endif
+
+#endif
+
+/*
+ * This enables building DRI support into video drivers, which can be done
+ * even on platforms that don't have functional DRI support.
+ *
+ * Defining BuildXF86DRIDriverSupport to YES will not work until we have a
+ * separate set of defines set up for building driver-only support for the
+ * DRI.
+ */
+#ifndef BuildXF86DRIDriverSupport
+# define BuildXF86DRIDriverSupport NO
+#endif
+
+#if BuildGlxExt
+
+# if BuildXF86DRI
+# define DRIDefines -DXF86DRI -DGLX_DIRECT_RENDERING DRIDynLoadDefines
+# else
+# define DRIDefines /**/
+# endif
+# if defined(GlxUseSGISI) && GlxUseSGISI
+# define GlxCoreLibDefines -DGLX_USE_SGI_SI
+# else
+# define GlxCoreLibDefines -DGLX_USE_MESA
+# endif
+
+# if defined(SparcArchitecture) \
+ || defined (Sparc64Architecture) \
+ || defined(ia64Architecture) \
+ || defined(s390xArchitecture) \
+ || defined(AMD64Architecture)
+# define GlxArchDefines -D__GLX_ALIGN64
+# elif defined(AlphaArchitecture)
+/* On the Alpha we need to ensure floating point accuracy for 3D */
+# define GlxArchDefines -D__GLX_ALIGN64 -mieee
+# elif defined(DarwinArchitecture)
+/* GLX contains lots of uninitialized globals, which can upset Darwin */
+# define GlxArchDefines -fno-common
+# else
+# define GlxArchDefines /**/
+# endif
+
+# ifndef GlxExtraDefines
+# define GlxExtraDefines DRIDefines GlxCoreLibDefines GlxArchDefines
+# endif
+
+#else
+
+/* If we are not building GLX, then make sure the DRI is not built */
+# undef BuildXF86DRI
+# define BuildXF86DRI NO
+# undef BuildXF86DRIDriverSupport
+# define BuildXF86DRIDriverSupport NO
+
+#endif
+
+#if !BuildXF86DRI
+# define GlxUseBuiltInDRIDriver NO /* For libOSmesa */
+#endif
+
+# ifndef UseX86Emu
+# define UseX86Emu YES
+# endif
+
+#define X86INT10_STUB 0
+#define X86EMU_GENERIC 1
+#define X86VM 2
+#define X86EMU_OS 3
+
+#ifndef XF86INT10_BUILD
+# if UseX86Emu
+# define XF86INT10_BUILD X86EMU_GENERIC
+# else
+# define XF86INT10_BUILD X86INT10_STUB
+# endif
+#endif
+/*
+ * Build the Rush extension library (non standard extension for cooperation
+ * between glide library and X server). Enabled by default only for Linux.
+ */
+#ifndef BuildXF86RushExt
+# define BuildXF86RushExt NO
+#endif
+
+#ifndef BuildDBElib
+# define BuildDBElib YES
+#endif
+
+#ifndef BuildRECORDlib
+# define BuildRECORDlib YES
+#endif
+
+#ifndef BuildXKBlib
+# define BuildXKBlib YES
+#endif
+
+#ifndef BuildScreenSaverExt
+# define BuildScreenSaverExt YES
+#endif
+
+/*
+ * Build XInput support
+ */
+#ifndef BuildXInputExt
+# define BuildXInputExt YES
+#endif
+
+/* Build Xinerama (aka panoramiX) extension */
+#ifndef BuildXinerama
+# define BuildXinerama YES
+#endif
+
+/* Build Render extension */
+#ifndef BuildRender
+# define BuildRender YES
+#endif
+
+#if 0
+#ifndef JoystickSupport
+# define JoystickSupport NO
+#endif
+#endif
+
+#if 0
+/*
+ * Build the extra extension libs even when not including the extra extensions
+ * in the servers
+ */
+#ifndef BuildScreenSaverLibrary
+# define BuildScreenSaverLibrary YES
+#endif
+#ifndef BuildXF86MiscLibrary
+# define BuildXF86MiscLibrary YES
+#endif
+#ifndef BuildXF86DGALibrary
+# define BuildXF86DGALibrary YES
+#endif
+#ifndef BuildXF86VidModeLibrary
+# define BuildXF86VidModeLibrary YES
+#endif
+#ifndef BuildXvLibrary
+# define BuildXvLibrary YES
+#endif
+#ifndef BuildXvMCLibrary
+# define BuildXvMCLibrary YES
+#endif
+#ifndef BuildGLXLibrary
+# define BuildGLXLibrary YES
+#endif
+#ifndef BuildXResLibrary
+# define BuildXResLibrary YES
+#endif
+#endif
+
+/*
+ * Build the XFree86-VidMode extension
+ */
+#ifndef BuildXF86VidModeExt
+# define BuildXF86VidModeExt YES
+#endif
+
+/* Don't build this now because the interface hasn't been done yet */
+/*
+ * Build the XFree86-Misc extension
+ */
+#ifndef BuildXF86MiscExt
+# define BuildXF86MiscExt YES
+#endif
+
+/*
+ * Build the XFree86-Bigfont extension
+ */
+#ifndef BuildXF86BigfontExt
+# define BuildXF86BigfontExt YES
+#endif
+
+/*
+ * Build the XFree86 DGA support
+ */
+#ifndef BuildXF86DGA
+# define BuildXF86DGA YES
+#endif
+
+/*
+ * Build the DPMS extension support
+ */
+#ifndef BuildDPMSExt
+# define BuildDPMSExt YES
+#endif
+
+/*
+ * Build the X Video Extension
+ */
+#ifndef BuildXvExt
+# define BuildXvExt YES
+#endif
+
+/*
+ * Build the X Video Motion Compensation Extension
+ */
+#ifndef BuildXvMCExt
+# define BuildXvMCExt YES
+#endif
+
+/*
+ * Build the X-Resource Extension
+ */
+#ifndef BuildXResExt
+# define BuildXResExt YES
+#endif
+
+#if Malloc0ReturnsNull
+# ifndef XtMalloc0ReturnsNullDefines
+# define XtMalloc0ReturnsNullDefines Malloc0ReturnsNullDefines -DXTMALLOC_BC
+# endif
+#endif
+
+#ifndef UseInternalMalloc
+# define UseInternalMalloc NO
+#endif
+
+#ifndef HasDlsymBug
+# define HasDlsymBug NO
+#endif
+
+#ifndef HasMTRRSupport
+# define HasMTRRSupport NO
+#endif
+
+/*
+ * Build the font server
+ */
+#ifndef BuildFontServer
+# define BuildFontServer YES
+#endif
+
+/*
+ * Include fonts support
+ */
+#ifndef BuildSpeedo
+# define BuildSpeedo NO
+#endif
+
+#ifndef BuildType1
+# define BuildType1 NO
+#endif
+
+#ifndef BuildCID
+# define BuildCID YES
+#endif
+
+#ifndef BuildFreeType
+# define BuildFreeType YES
+#endif
+
+/*
+ * By default, build all of the fonts.
+ */
+#ifndef Build75DpiFonts
+# define Build75DpiFonts YES
+#endif
+#ifndef Build100DpiFonts
+# define Build100DpiFonts YES
+#endif
+#ifndef BuildSpeedoFonts
+# define BuildSpeedoFonts NO
+#endif
+#ifndef BuildType1Fonts
+# define BuildType1Fonts YES
+#endif
+#ifndef BuildCIDFonts
+# define BuildCIDFonts YES
+#endif
+#ifndef BuildTrueTypeFonts
+# define BuildTrueTypeFonts YES
+#endif
+#ifndef BuildCyrillicFonts
+# define BuildCyrillicFonts YES
+#endif
+
+/*
+ * Build scanpci?
+ */
+#ifndef SystemV
+#define SystemV NO
+#endif
+#ifndef SystemV4
+#define SystemV4 NO
+#endif
+#ifndef BuildScanpci
+# if SystemV || SystemV4 || \
+ (defined(LinuxArchitecture) && !defined(Mc68020Architecture)) || \
+ defined(i386BsdArchitecture) || defined(LynxOSArchitecture) || \
+ defined(OS2Architecture) || defined(GNUMachArchitecture) || \
+ (defined(KFreeBSDArchitecture) && defined(i386Architecture))
+# define BuildScanpci YES
+# else
+# define BuildScanpci NO
+# endif
+#endif
+
+#ifndef CompressAllFonts
+# define CompressAllFonts YES
+#endif
+
+#ifndef GzipFontCompression
+# define GzipFontCompression YES
+#endif
+
+/* Disable stripping installed programs for this release. */
+#ifndef StripInstalledPrograms
+# define StripInstalledPrograms NO
+#endif
+
+#ifndef InstallJapaneseDocs
+#define InstallJapaneseDocs NO
+#endif
+
+#if BuildXF86DGA
+# define XFree86DGADefines -DXFreeXDGA
+#else
+# define XFree86DGADefines /**/
+#endif
+
+#if BuildXvExt
+# define XFree86XvDefines -DXvExtension
+#else
+# define XFree86XvDefines /**/
+#endif
+
+#if BuildXvMCExt
+# define XFree86XvMCDefines -DXvMCExtension
+#else
+# define XFree86XvMCDefines /**/
+#endif
+
+#if BuildXResExt
+# define XFree86XResDefines -DXResExtension
+#else
+# define XFree86XResDefines /**/
+#endif
+
+#ifndef DlopenHack
+# define DlopenHack -DDLOPEN_HACK
+#endif
+
+#ifndef ExtraLoaderDefines
+# if MakeDllModules
+# define ExtraLoaderDefines DlopenHack
+# else
+# define ExtraLoaderDefines /**/
+# endif
+#endif
+
+#if DoLoadableServer
+# define XFree86LoaderDefines -DXFree86LOADER ExtraLoaderDefines
+#else
+# define XFree86LoaderDefines /**/
+#endif
+
+#ifndef HasBsdMake
+#define HasBsdMake NO
+#endif
+
+#ifndef MakeHasPosixVariableSubstitutions
+# if !HasBsdMake && !defined(SunArchitecture)
+# define MakeHasPosixVariableSubstitutions NO
+# else
+# define MakeHasPosixVariableSubstitutions YES
+# endif
+#endif
+
+#ifndef UseSmartScheduler
+#define UseSmartScheduler YES
+#endif
+
+#if UseSmartScheduler
+#define SmartScheduleDefines -DSMART_SCHEDULE
+#else
+#define SmartScheduleDefines /**/
+#endif
+
+/* Server defines required for all OSs */
+#ifndef XFree86ServerDefines
+# define XFree86ServerDefines -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH \
+ XFree86DGADefines XFree86XvDefines \
+ XFree86LoaderDefines -DXFree86Server \
+ VidModeExtensionDefines \
+ XFree86XvMCDefines \
+ SmartScheduleDefines \
+ DebugDefines XFree86XResDefines \
+ -DX_BYTE_ORDER=$(X_BYTE_ORDER) \
+ VersionDefines
+#endif
+
+#ifndef XFree86ServerOSDefines
+# define XFree86ServerOSDefines -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \
+ -DDDXOSVERRORF
+#endif
+
+#ifndef XFree86ConsoleDefines
+# if defined(i386BsdArchitecture) || defined(AlphaBsdArchitecture) || (defined(KFreeBSDArchitecture) && defined(i386Architecture))
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+# elif defined(KFreeBSDArchitecture)
+# define XFree86ConsoleDefines -DSYSCONS_SUPPORT
+# else
+# define XFree86ConsoleDefines /**/
+# endif
+#endif
+
+/* Support for USB mouse */
+#ifndef UsbMouseSupport
+# define UsbMouseSupport NO
+#endif
+/* Does this OS have libusb ? */
+#ifndef HasLibUsb
+# define HasLibUsb NO
+#endif
+
+#ifndef UseServerLock
+# define UseServerLock YES
+#endif
+
+#ifndef XnestServer
+# define XnestServer YES
+#endif
+#ifndef XVirtualFramebufferServer
+# define XVirtualFramebufferServer YES
+#endif
+
+#ifndef ServerExtraDefines
+# define ServerExtraDefines XFree86ServerDefines
+#endif
+
+#ifndef ServerOSDefines
+# define ServerOSDefines XFree86ServerOSDefines
+#endif
+
+#ifndef DriverSDKDir
+# define DriverSDKDir $(USRLIBDIR)/Server
+#endif
+
+#ifndef DriverSDKModuleDir
+# define DriverSDKModuleDir $(USRLIBDIR)/Server/modules
+#endif
+
+#ifndef DriverSDKIncludeDir
+# define DriverSDKIncludeDir $(USRLIBDIR)/Server/include
+#endif
+
+DRIVERSDKDIR = DriverSDKDir
+DRIVERSDKMODULEDIR = DriverSDKModuleDir
+DRIVERSDKINCLUDEDIR = DriverSDKIncludeDir
+
+/*
+ * Some commonly refered to directories are defined here.
+ */
+
+ XF86SRC = $(SERVERSRC)/hw/xfree86
+ XF86COMSRC = $(XF86SRC)/common
+ XF86PARSERSRC = $(XF86SRC)/parser
+ XF86OSSRC = $(XF86SRC)/os-support
+ XF86DRIVERSRC = $(XF86SRC)/drivers
+ DRIVERSRC = $(XF86DRIVERSRC)
+
+/*
+ * Installed location of the XFree86 documentation
+ */
+
+ XFREE86DOCDIR = $(DOCDIR)
+ XFREE86PSDOCDIR = $(DOCPSDIR)
+ XFREE86PDFDOCDIR = $(DOCPDFDIR)
+ XFREE86HTMLDOCDIR = $(DOCHTMLDIR)
+XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
+
+/*
+ * Other stuff used in the X Server source.
+ */
+
+#ifndef OtherIConfigFiles
+# define OtherIConfigFiles $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules
+#endif
+
+#ifndef UseRgbTxt
+# define UseRgbTxt YES
+#endif
+
+#ifndef ManSuffix
+# define ManSuffix 1
+#endif
+
+/*
+ * GNU Compiler stuff
+ */
+#ifndef HasGcc3
+# define HasGcc3 NO
+#endif
+#ifndef HasGcc2
+# define HasGcc2 HasGcc3
+#endif
+#ifndef HasGcc
+# define HasGcc HasGcc2
+#endif
+#ifndef HasGcc2ForCplusplus
+# define HasGcc2ForCplusplus HasGcc2
+#endif
+
+#if HasGcc
+# ifndef Gcc28Warnings
+# if (GccMajorVersion > 2) || \
+ ((GccMajorVersion == 2) && (GccMinorVersion >= 8))
+# define Gcc28Warnings -Wundef
+# else
+# define Gcc28Warnings /* */
+# endif
+# ifndef HasGcc34
+# if (((GccMajorVersion == 3) && (GccMinorVersion >= 4)) || \
+ (GccMajorVersion > 3))
+# define HasGcc34 YES
+# else
+# define HasGcc34 NO
+# endif
+# endif
+# endif
+# ifndef GccWarningOptions
+# if XFree86Devel
+# define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs Gcc28Warnings
+# else
+# define GccWarningOptions -Wall -Wpointer-arith Gcc28Warnings
+# endif
+# endif
+# ifndef DefaultCCOptions
+# if defined(UseInstalled)
+# define DefaultCCOptions /* -ansi */
+# else
+# define DefaultCCOptions -ansi GccWarningOptions
+# endif
+# endif
+# if defined(UseInstalled)
+# ifndef UseGccMakeDepend
+# define UseGccMakeDepend YES
+# endif
+# endif
+#endif
+
+/* Make imake noisier. Note that this is ineffective for 3.0 <= GCC <= 3.2 */
+#ifndef ImakeWarningFlags
+# ifdef Gcc28Warnings
+# define ImakeWarningFlags Gcc28Warnings
+# else
+# define ImakeWarningFlags /* */
+# endif
+#endif
+
+#if ((GccMajorVersion == 3) && (GccMinorVersion >= 1)) || (GccMajorVersion > 3)
+# define GccAliasingArgs -fno-strict-aliasing
+#else
+# define GccAliasingArgs /* */
+#endif
+
+#if HasGcc2 && defined(i386Architecture)
+# ifndef DefaultGcc2i386Opt
+# define DefaultGcc2i386Opt -O2 -fno-strength-reduce GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(AMD64Architecture)
+# ifndef DefaultGcc2AMD64Opt
+# define DefaultGcc2AMD64Opt -O2 -fno-strength-reduce GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(AlphaArchitecture)
+# ifndef DefaultGcc2AxpOpt
+# define DefaultGcc2AxpOpt -O2 GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(Ppc64Architecture)
+# ifndef DefaultGcc2Ppc64Opt
+# define DefaultGcc2Ppc64Opt -O2 GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(MipsArchitecture)
+# ifndef DefaultGcc2MipsOpt
+# define DefaultGcc2MipsOpt -O2 GccAliasingArgs
+# endif
+#endif
+
+#if HasGcc2 && defined(PpcArchitecture)
+# ifndef DefaultGcc2PpcOpt
+# define DefaultGcc2PpcOpt -O2 GccAliasingArgs
+# endif
+#endif
+
+#ifndef DefaultGcc2DebugOpt
+# define DefaultGcc2DebugOpt -g
+#endif
+
+#ifndef DebuggableLibraries
+# define DebuggableLibraries NO
+#endif
+
+#if HasGcc2 && DebuggableLibraries
+# define LibraryDebugOpt DefaultGcc2DebugOpt
+#endif
+
+/*
+ * Some versions of gcc have optimisation bugs that cause problems building
+ * some files. The definitions here cover those.
+ */
+
+#ifndef Egcs112Bug
+ /* Not exactly precise, but it'll do for now... */
+# if HasGcc2 && defined(i386Architecture) && \
+ (GccMajorVersion == 2) && (GccMinorVersion > 8)
+# define Egcs112Bug YES
+# else
+# define Egcs112Bug NO
+# endif
+#endif
+
+#ifdef i386Architecture
+# ifndef HasX86Support
+# define HasX86Support YES
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport YES
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#elif defined (AMD64Architecture)
+# ifndef HasX86Support
+# define HasX86Support NO
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport NO
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#else
+# ifndef HasX86Support
+# define HasX86Support NO
+# endif
+# ifndef HasMMXSupport
+# define HasMMXSupport NO
+# endif
+# ifndef HasSSESupport
+# define HasSSESupport NO
+# endif
+# ifndef Has3DNowSupport
+# define Has3DNowSupport NO
+# endif
+#endif
+
+#ifndef StaticNeedsPicForShared
+# if defined (AMD64Architecture)\
+ || defined (AlphaArchitecture) \
+ || defined (ia64Architecture) \
+ || defined (PpcArchitecture) \
+ || defined (SparcArchitecture) \
+ || defined (s390xArchitecture)
+# define StaticNeedsPicForShared YES
+# else
+# define StaticNeedsPicForShared NO
+# endif
+#endif
+
+#if (defined(SparcArchitecture) || defined(Sparc64Architecture)) \
+ && !defined(LargePositionIndependentCFlags) \
+ && defined(HasGcc)
+# define LargePositionIndependentCFlags -fPIC
+#endif
+
+#ifndef XF8_32Wid
+# define XF8_32Wid NO
+#endif
+
+#if CrossCompiling
+#include <cross.def>
+#endif
+#include <xf86.rules>
+
diff --git a/nx-X11/config/cf/xorg.tmpl b/nx-X11/config/cf/xorg.tmpl
new file mode 100644
index 000000000..a1703b56b
--- /dev/null
+++ b/nx-X11/config/cf/xorg.tmpl
@@ -0,0 +1,145 @@
+XCOMM $Xorg: xf86.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/cf/xorg.tmpl,v 1.5 2005/11/08 06:33:24 jkj Exp $
+
+#ifndef ConfigDefines
+# define ConfigDefines -D__XCONFIGFILE__='"$(XCONFIGFILE)"' \
+ -D__XCONFIGDIR__='"$(XCONFIGDIR)"' -D__XLOGFILE__='"$(XLOGFILE)"' \
+ -D__XSERVERNAME__='"$(XSERVERNAME)"'
+#endif
+
+CONFIG_DEFINES = ConfigDefines
+
+#ifndef ServerDefines
+#define ServerDefines StandardDefines VersionDefines
+#endif
+
+#ifdef BuilderEMailAddr
+BUILDERADDR = BuilderEMailAddr
+#else
+BUILDERADDR = "xorg@lists.freedesktop.org"
+#endif
+#ifdef VendorSupportAddress
+ VENDORSUPPORT = VendorSupportAddress
+ BUGMSG = -DBUILDERADDR='$(BUILDERADDR)' -DVENDORSUPPORT='$(VENDORSUPPORT)'
+#else
+ BUGMSG = -DBUILDERADDR='$(BUILDERADDR)'
+#endif
+
+#if defined(XF86DriverSDK)
+ BUILDMODULEDIR = $(DRIVERSDKMODULEDIR)
+ BUILDMODULETOP = ..
+ TOP_INCLUDES = TopIncludes
+ IMAKE_DEFINES = -DXF86DriverSDK=1
+#ifdef UseInstalled
+ IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP) -I$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#else
+ IMAKE_CMD = $(IMAKE) -I$(TOP) -I$(IRULESRC) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#endif
+
+#undef ImakeSubCmdHelper
+#ifdef UseInstalled
+#define ImakeSubCmdHelper $(IMAKE) -DUseInstalled -I$(IMAKETOP) \
+ -I$(IRULESRC) $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
+#else
+#define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKETOP) \
+ $(IMAKE_DEFINES) $(IMAKE_WARNINGS) \
+ -I$(IMAKEPREFIX)$(IRULESRC)
+#endif
+#endif
+
+#ifndef JoystickSupport
+#define JoystickSupport NO
+#endif
+
+/*
+ * Module support: These overrides must be here, not in xf86.rules,
+ * because they will replace rules after having seen the first lines
+ * of Imakefile (include <Server.tmpl>)
+ */
+
+#ifndef ProPoliceSupport
+#define ProPoliceSupport O
+#endif
+
+#ifndef HasGccMergeConstants
+#define HasGccMergeConstants NO
+#endif
+
+#if HasGccMergeConstants && DoLoadableServer && !MakeDllModules
+MODULE_GCC_FLAGS = -fno-merge-constants
+#endif
+
+#if defined(IHaveModules) && MakeDllModules
+MODULE_PIC_FLAGS = $(PICFLAGS)
+#endif
+
+MODULE_CFLAGS = $(MODULE_PIC_FLAGS) $(MODULE_GCC_FLAGS)
+
+#if defined(IHaveModules)
+# if DoLoadableServer
+MODULE_DEFINES = -DIN_MODULE -DXFree86Module
+# else
+MODULE_DEFINES = -DXFree86Module
+# endif
+#endif
+
+#if defined(IHaveModules) && DoLoadableServer
+
+/* This overrides the ObjCompile in Imake.rules! */
+#undef ObjectCompile
+#define ObjectCompile(options) RemoveFile($@) @@\
+ ClearmakeOSName\
+ $(MODCC) $(MODCFLAGS) options -c $*.c
+
+/* This overrides an AssembleObject in xf86.rules or in an os-dependent
+ * rules file (currently only minix.cf and os2.rules (uncritical))
+ */
+#define ModCPPOnlyAsm(basename,options) RemoveFile(basename.i) @@\
+ $(MODCPP) AsmDefines $(DEFINES) $(INCLUDES) options basename.S | \ @@\
+ grep -v '^\#' > basename.i
+
+#undef AssembleObject
+#define AssembleObject(basename,flags) ModCPPOnlyAsm(basename,flags) @@\
+ RemoveFile(basename.o) @@\
+ $(MODAS) $(MODASFLAGS) -o basename.o basename.i @@\
+ RemoveFile(basename.i)
+
+/* This overrides the NormalRelocatableTarget in Imake.rules */
+#undef NormalRelocatableTarget
+#define NormalRelocatableTarget(objname,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: objlist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
+
+/* This overrides the NormalDepRelocatableTarget in Imake.rules */
+#undef NormalDepRelocatableTarget
+#define NormalDepRelocatableTarget(objname,deplist,objlist) @@\
+AllTarget(objname.Osuf) @@\
+ @@\
+objname.Osuf: deplist $(EXTRALIBRARYDEPS) @@\
+ RemoveFile($@) @@\
+ $(MODLD) $(MODLDCOMBINEFLAGS) objlist -o $@
+
+/* This overrides the RanLibrary in Imake.rules */
+#if DoRanlibCmd || NeedModuleRanlib
+#undef RanLibrary
+#define RanLibrary(args) $(MODRANLIB) args
+#endif
+
+/* This overrides the MakeLibrary rule in Imake.rules */
+#undef MakeLibrary
+#define MakeLibrary(libname,objlist) $(MODAR) libname objlist
+
+/* This overrides the LibraryTargetName rule in Imake.rules */
+#undef LibraryTargetName
+#define LibraryTargetName(libname)Concat(lib,libname.a)
+
+/* This disables an OS/2 rule */
+#undef BuildLibSupportLibs
+#define BuildLibSupportLibs(dummy)
+
+#endif /* IHaveModules */
diff --git a/nx-X11/config/cf/xorgsite.def b/nx-X11/config/cf/xorgsite.def
new file mode 100644
index 000000000..dea5ceb92
--- /dev/null
+++ b/nx-X11/config/cf/xorgsite.def
@@ -0,0 +1,768 @@
+XCOMM $XFree86: xc/config/cf/xf86site.def,v 3.186 2003/06/25 18:06:22 eich Exp $
+/******************************************************************************/
+/*
+ * This file is to provide a quick method for most people to change the
+ * behaviour of their Xorg installation without having to fully
+ * understand the workings of site.def and all the various '.cf' files.
+ *
+ * In the vast majority of cases, it should not be necessary to use this
+ * file at all or change it in any way.
+ *
+ * This file is divided into two sections. The first contains settings
+ * that end-users might reasonably change. The second contains settings
+ * that developers might want to change.
+ *
+ * IMPORTANT NOTE: In all cases changing the defaults may cause problems
+ * and/or unexpected side-effects. If you don't understand what a setting
+ * does, then it's best to not change it. If you make changes and have
+ * problems, verify that those problems are also present when using an
+ * empty host.def file and unchanged version of this file before reporting
+ * them.
+ *
+ * A good way to use this file is to copy it to host.def, and make the
+ * changes there. That way, future patches to this file won't fail.
+ * The host.def file will never be patched.
+ *
+ * The distributed version of this file MUST contain no uncommented
+ * definitions. Default definitions belong in xorg.cf, or <vendor>.cf
+ * files.
+ */
+/******************************************************************************/
+
+/*
+ * If you have build-specific modifications in your host.def file, but
+ * want an empty host.def file installed when doing 'make install',
+ * uncomment the following
+ *
+#define InstallEmptyHostDef
+ */
+
+/*
+ * Which servers to build. There is only Xorg server.
+ * It can be disabled by the following.
+ *
+#define XorgServer NO
+ */
+
+/*
+ * To disable building the Xnest server, uncomment this.
+ *
+#define XnestServer NO
+ */
+
+/*
+ * To disable building Xvfb, uncomment this.
+ *
+#define XVirtualFramebufferServer NO
+ */
+
+/*
+ * To enable building Xdmx, uncomment this.
+ *
+#define XdmxServer YES
+ */
+
+/*
+ * To disable building Xprt, uncomment this.
+ *
+#define XprtServer NO
+ */
+
+/*
+ * Set the default server (ie the one that gets the sym-link to "X")
+ *
+#define ServerToInstall Xorg
+ */
+
+/*
+ * If you only run the X server under xdm the X servers don't need to be
+ * installed SetUID, and you may comment out the lines below. If you run
+ * the servers by hand (with xinit or startx), then they do need to be
+ * installed SetUID on most platforms.
+ *
+ * Consult your system administrator before making the X server setuid.
+ *
+#define InstallXserverSetUID NO
+ */
+
+
+/*
+ * Server configuration parameters. The defaults are shown here:
+ */
+
+/*
+ * Which drivers to build. When building a static server, each of these
+ * will be included in it. When building the loadable server each of these
+ * modules will be built.
+ *
+#define XF86CardDrivers mga glint nv tga s3virge sis rendition \
+ neomagic i740 tdfx savage \
+ cirrus vmware tseng trident chips apm \
+ GlideDriver fbdev i128 \
+ ati DevelDrivers ark cyrix \
+ siliconmotion \
+ vesa vga XF86OSCardDrivers XF86ExtraCardDrivers
+ */
+
+/*
+ * To add third party drivers to the standard driver list, set the
+ * following.
+ *
+#define XF86ExtraCardDrivers extradriver1 extradriver2 ...
+ */
+
+/*
+ * Select the XInput devices you want by uncommenting this.
+ *
+#define XInputDrivers mouse keyboard acecad calcomp citron \
+ digitaledge dmc dynapro elographics \
+ microtouch mutouch penmount spaceorb summa \
+ wacom void magictouch aiptek
+ */
+
+/* To enable building of development DRI drivers (insecure, or not
+ * useful on the chosen architecture, uncomment this define.
+#define BuildDevelDRIDrivers YES
+ */
+
+/*
+ * To use the deprecated, old keyboard driver, uncomment this. But
+ * even better, make the new keyboard driver (hw/xfree86/input/keyboard)
+ * work for your architechture. The old driver will be removed in the
+ * next release.
+ *
+#define UseDeprecatedKeyboardDriver YES
+ */
+
+/*
+ * There are three parameters that determine where and how the Matrox HAL
+ * library is used:
+ *
+ * HaveMatroxHal -- You have the HALlib.a binary library installed
+ * in xfree86/drivers/mga/HALlib, and you want it to
+ * be used.
+ * Default: NO
+ *
+ * BuildMatroxHal -- You have the source for the HALlib library (installed
+ * in xfree86/drivers/mga/hallib), and want to build and
+ * use it.
+ * Default: NO
+ *
+ * UseMatroxHal -- You want to build support for loading/using the HAL
+ * library into the mga driver. For module server builds
+ * you don't need to have the HALlib library to do this.
+ * but you want to build support for loading it and using
+ * it into the mga driver module.
+ * Default: YES for loadable server build
+ * (HaveMatroxHal || BuildMatroxHal) for static
+ */
+
+/*
+ * To disable use of the Matrox HAL library, uncomment this:
+ *
+#define UseMatroxHal NO
+ */
+
+/*
+ * If you have the HALlib.a binary installed in xfree86/drivers/mga/HALlib,
+ * uncomment this:
+ *
+#define HaveMatroxHal YES
+ */
+
+/*
+ * If you have the HALlib source code installed in xfree86/drivers/mga/hallib,
+ * uncomment this:
+#define BuildMatroxHal YES
+ */
+
+/*
+ * To disable building the font server, uncomment this.
+ *
+#define BuildFontServer NO
+ */
+
+/*
+ * Speedo fonts have been disabled by default in this release.
+ * To re-enable support for Speedo fonts, uncomment this.
+ *
+#define BuildSpeedo YES
+ */
+
+/*
+ * To disable support for CID fonts, uncomment this.
+ *
+#define BuildCID NO
+ */
+
+/*
+ * To disable support for TrueType fonts, uncomment these.
+ *
+#define BuildFreeType NO
+ */
+
+/*
+ * To set non-default build options for the underlying FreeType libraries,
+ * add them here and uncomment.
+ *
+#define Freetype2BuildDefines -DFREETYPE_BUILD_DEFINES
+ */
+
+/*
+ * To build the FreeType libraries with the TrueType byte code interpreter
+ * enabled, uncomment this. Note that there are patent issues related to the
+ * TrueType byte code interpreter, and we only recommend you enabling this
+ * if you are sure that there are no legal impediments to you doing so. See
+ * <http://www.freetype.org/patents.html> for further information.
+ *
+#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ */
+
+/*
+ * Do you want to Build Fonts (Usually you only want to build and install
+ * fonts once, if this is a first time install you will want to build the
+ * fonts)
+ *
+#define BuildFonts NO
+ */
+
+/*
+ * To not build/install the 75dpi fonts, uncomment the following
+ *
+#define Build75DpiFonts NO
+ */
+
+/*
+ * To not build/install the 100dpi fonts, uncomment the following
+ *
+#define Build100DpiFonts NO
+ */
+
+/*
+ * To build/install the Speedo fonts, uncomment the following
+ * (see setting above about Speedo support as well)
+ *
+#define BuildSpeedoFonts YES
+ */
+
+/*
+ * To not build/install the Type1 fonts, uncomment the following
+ *
+#define BuildType1Fonts NO
+ */
+
+/*
+ * To not build/install the CID fonts, uncomment the following
+ *
+#define BuildCIDFonts NO
+ */
+
+/*
+ * To not build/install the True Type fonts, uncomment the following
+ *
+#define BuildTrueTypeFonts NO
+ */
+
+/*
+ * To not build/install the Cyrillic fonts, uncomment the following
+ *
+#define BuildCyrillicFonts NO
+ */
+
+/*
+ * To not install the local font directory, uncomment the following
+ *
+#define MakeLocalFontDir NO
+ */
+
+/*
+ * To build only the servers with a cut-down source tree, uncomment
+ * this.
+ *
+#define BuildServersOnly YES
+ */
+
+/*
+ * By default, the sample config files for xinit, xdm and xfs are installed
+ * only when there is no pre-existing version installed. Uncommenting the
+ * following lines will force the sample versions to be installed even if
+ * it means over-writing existing versions.
+ *
+#define InstallXinitConfig YES
+#define InstallXdmConfig YES
+#define InstallFSConfig YES
+ */
+
+/*
+ * By default the application defaults files are always installed.
+ * Uncommenting the the following will prevent exising application
+ * defaults files from being over-written.
+ *
+#define InstallAppDefFiles NO
+ */
+
+/*
+ * Undefine the following if you don't want to have config files and
+ * app-defaults installed in a separate directory (i.e. /etc/X11).
+ *
+#define UseSeparateConfDir NO
+ */
+
+/*
+ * To enable building the glide driver, you need to define
+ * HasGlide2 to YES and set the Glide2IncDir variable.
+ * HasGlide2 is per default NO.
+ *
+#define HasGlide2 YES
+ */
+
+/*
+ * Set the path to your Glide include files.
+ *
+#define Glide2IncDir /usr/include/glide
+ */
+
+/*
+ * Have glide 3?
+ *
+#define HasGlide3 YES
+ */
+
+/*
+ * Set the path to your Glide 3 include files.
+ *
+#define Glide3IncDir /usr/include/glide3
+ */
+
+
+
+/*
+ * Unless you're a developer you shouldn't need to change anything
+ * beyond this point.
+ */
+
+/*
+ * If you want to enable some developer settings, like more verbose
+ * compiler warnings, uncomment this.
+ *
+#define XFree86Devel YES
+*/
+
+/*
+ * The default optimisation flags for GCC 2.x. -fno-strength-reduce is
+ * here to work around a bug in -O2 for GCC 2.x on i386 platforms.
+ * If you are using a version that doesn't have this bug, you can
+ * uncomment the following line, and remove '-fno-strength-reduce'
+ * If you are building binaries for a 486, it may be beneficial to add
+ * -m486
+ *
+#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
+ */
+
+/*
+ * This allows the GCC warning flags to be set. The default is shown here.
+ *
+#define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
+ -Wmissing-prototypes -Wmissing-declarations \
+ -Wredundant-decls -Wnested-externs
+ */
+
+/*
+ * Sun Compiler stuff..
+ *
+#define HasSunC YES
+#define HasSunCplusplus YES
+#define CplusplusCompilerMajorVersion 5
+#define CplusplusCompilerMinorVersion 0
+#define CCompilerMajorVersion 5
+#define CCompilerMinorVersion 0
+ */
+
+/*
+ * Optimized Sun Compiler Build.
+ *
+#define DefaultCDebugFlags -xO4 -xtarget=pentium_pro
+#define OptimizedCDebugFlags -xO4 -xtarget=pentium_pro
+ */
+
+/*
+ * Debuggable Sun Compiler Build.
+ * Note: This builds _EVERYTHING_ as debuggable
+ *
+#define DefaultCDebugFlags -g -xs
+#define OptimizedCDebugFlags -g -xs
+ */
+
+/*
+ * For Linux, this should match the Binutils version you have. This example
+ * is for 2.6.0.7. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxBinUtilsMajorVersion 26
+ */
+
+/*
+ * For Linux, these should match the libc version you have. This example
+ * is for libc.5.4.x. See linux.cf for the default setting.
+ *
+ * This should automatically get set correctly by imake.
+ *
+#define LinuxCLibMajorVersion 5
+#define LinuxClibMinorVersion 4
+ */
+
+/*
+ * If you want to use the GNU malloc library, uncomment this
+ *
+#define UseGnuMalloc YES
+ */
+
+/*
+ * Set this to whatever is required to access the GNU malloc library.
+ * The default is '-lgmalloc' unless is specified in the OS's .cf file.
+ *
+#define GnuMallocLibrary -L/usr/local/lib -lgmalloc
+ */
+
+/*
+ * To enable the internal Xserver malloc, uncomment this
+ *
+#define UseInternalMalloc YES
+ */
+
+/*
+ * Some Linux releases don't have a libtermcap. In this case you may need
+ * to uncomment the following
+ *
+#define TermcapLibrary -lncurses
+ */
+
+/*
+ * Build a server that dynamically loads the modules by setting
+ * this to YES. This defaults to YES on most platforms. A static server
+ * can be built by setting this to NO.
+ *
+#define DoLoadableServer NO
+ */
+
+/*
+ * This release defaults to building dlopen() style modules instead of the
+ * previously standard loader modules.
+ *
+ * Uncomment the following to return to the XFree86 custom loader modules.
+ *
+#define MakeDllModules NO
+ */
+
+/*
+ * Build XAA. This can be disabled with:
+ *
+#define XF86XAA NO
+ */
+
+/*
+ * Build vgahw. This can be disabled with:
+ *
+#define XF86VgaHw NO
+ */
+
+/*
+ * Build xf1bpp. This can be disabled with:
+ *
+#define XF1Bpp NO
+ */
+
+/*
+ * Build xf4bpp. This can be disabled with:
+ *
+#define XF4Bpp NO
+ */
+
+
+/*
+ * BSD Console driver support (for FreeBSD and NetBSD).
+ *
+ * By default, support is included for pccons and pcvt for NetBSD, and
+ * pccons, syscons and pcvt for FreeBSD.
+ *
+ * To change the list of supported drivers, set the following parameter.
+ * Possible values are -DPCCONS_SUPPORT, -DSYSCONS_SUPPORT, -DPCVT_SUPPORT.
+ * The following example includes support for syscons and pcvt only.
+ *
+#define XFree86ConsoleDefines -DSYSCONS_SUPPORT -DPCVT_SUPPORT
+ */
+
+/*
+ * To link the X server with a dynamic version of the Xfont library,
+ * uncomment this.
+ *
+#define XserverStaticFontLib NO
+ */
+
+/*
+ * To enable binary compatibility with previous versions of the font
+ * encoding support, uncomment this.
+ *
+#define FontencCompatibility YES
+ */
+
+/*
+ * To disable building XInput support, uncomment this
+ *
+#define BuildXInputExt NO
+ */
+
+/*
+ * Uncomment this for joystick support.
+ *
+ * Note: Joystick support is broken, so don't enable this.
+ *
+#define JoystickSupport YES
+ */
+
+/*
+ * To disable the ScreenSaver Extension, uncomment this line.
+ *
+#define BuildScreenSaverExt NO
+ */
+
+/*
+ * If you don't want to build Xinerama support, uncomment this.
+ *
+#define BuildXinerama NO
+ */
+
+/*
+ * If you don't want to build support for the GLX extension, uncomment this.
+ *
+#define BuildGlxExt NO
+ */
+
+/*
+ * If you want to build the xf86rush extension, uncomment this line.
+ * This isn't recommended.
+ *
+#define BuildXF86RushExt YES
+ */
+
+/*
+ * If you want to build the client library for the xf86rush extension,
+ * uncomment this line. This isn't recommended.
+ *
+#define BuildXF86RushLibrary NO
+ */
+
+/*
+ * If you are running NetBSD 0.9C or later, and have the aperture driver
+ * installed, uncomment this.
+ *
+#define HasNetBSDApertureDriver YES
+ */
+
+/*
+ * If you are running SVR3 and have the mmap driver installed (for linear
+ * framebuffer access) uncomment this.
+ *
+#define HasSVR3mmapDrv YES
+ */
+
+/*
+ * If you are using an SVR3 (like ISC 4.x) which supports long file names,
+ * you can uncomment this to have manual pages installed under their
+ * full names
+ *
+#define ExpandManNames YES
+ */
+
+/*
+ * For a POSIXized build on Interactive uncomment this
+ * Could be used with gcc 'till Version 2.6.3
+ * Should be used with gcc 2.7.2.
+ *
+#define UsePosix YES
+ */
+
+/*
+ * If you don't want XDMAUTH support (if you don't have Wraphelp.c),
+ * comment this out.
+ *
+ */
+#define HasXdmAuth YES
+
+/*
+ * If you have Linux DECnet support, and want to build XFree86 with support
+ * for connections over DECnet, uncomment this.
+ *
+#define HasDECnet YES
+ */
+
+/*
+ * To build static and shared libraries with debugging information, uncomment
+ * this. Assumes you have Gcc2.
+ * (If you don't have Gcc2, you can use the DebugLib{X11,Xt,Xaw,...} variables
+ * to build debugging versions of the libraries separately.)
+ *
+#define DebuggableLibraries YES
+*/
+
+/*
+ * To forceably build static libraries in addition to shared libraries,
+ * uncomment this.
+ *
+#define ForceNormalLib YES
+ */
+
+/*
+ * Uncomment this if your default tools (eg, gcc, ld, as, etc) are
+ * not the Linux ELF versions.
+ *
+#define LinuxElfDefault NO
+ */
+
+/*
+ * To use ELF format shared libraries for supported OSs, uncomment this.
+ *
+ * For Linux the default setting of this is the same as the setting of
+ * LinuxElfDefault.
+ *
+ * For FreeBSD this should automatically be set correctly by imake. Only
+ * change it here if you need to override the automatic setting.
+ *
+#define UseElfFormat YES
+ */
+
+/*
+ * For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
+ * a.out compatibility libraries. To enable that, uncomment this.
+ *
+#define BuildAoutLibraries YES
+ */
+
+/*
+ * If you have trouble with make bombing out in Xlib, try uncommenting this.
+ * You will not get dependencies as a result, but better than nothing.
+ *
+#define MakeHashTableBug YES
+ */
+
+/*
+ * If you do not want your man pages compress under SVR3 systems that
+ * support it, uncomment this.
+ *
+#define CompressManPages NO
+ */
+
+/*
+ * If you have sgmlfmt (the XFree86 doctools package) and want to build
+ * formatted docs from the SGML source, uncomment this.
+ *
+#define HasSgmlFmt YES
+ */
+
+/*
+ * To disable building some document formats, uncomment some of these.
+ *
+#define BuildLinuxDocText NO
+#define BuildLinuxDocHtml NO
+#define BuildLinuxDocPS NO
+ */
+
+/*
+ * To install Japanese versions of the documentation uncomment this.
+ * Note: The Japanese documentation consists of a subset of the
+ * XFree86 3.1 docs.
+ *
+#define InstallJapaneseDocs YES
+ */
+
+/*
+ * To build/install X specs docs, uncomment the following.
+ * The SpecsDocDirs setting here is recommended because it covers
+ * the docs that XFree86 has changed or added.
+ *
+#define BuildSpecsDocs YES
+#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
+ */
+
+/*
+ * To build all specs docs, not just those listed in SpecsDocDirs, uncomment
+ * the following.
+ *
+#define BuildAllSpecsDocs YES
+ */
+
+/*
+ * If your system doesn't support vm86() mode and you have
+ * libx86emu set library path here
+ *
+#define X86EMU_LIBPATH /usr/local/lib
+ */
+
+/*
+ * Most platforms default to using an already installed FreeType 2 library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFreetype2 NO
+ */
+
+/*
+ * To use a FreeType library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+ *
+#define HasFreetype2 YES
+#define Freetype2Dir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Fontconfig library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasFontconfig NO
+ */
+
+/*
+ * To use a Fontconfig library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasFontconfig YES
+#define FontconfigDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed Expat library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasExpat NO
+ */
+
+/*
+ * To use a Expat library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasExpat YES
+#define ExpatDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed PNG library.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define HasLibpng NO
+ */
+
+/*
+ * To use a PNG library already installed outside the default search
+ * paths, uncomment the following and set the path as needed.
+#define HasLibpng YES
+#define LibpngDir /usr/local
+ */
+
+
+/*
+ * Most platforms default to using an already installed xterm program.
+ * To use the one included in this release instead, uncomment the following.
+ *
+#define BuildXterm YES
+ */
diff --git a/nx-X11/config/cf/xorgversion.def b/nx-X11/config/cf/xorgversion.def
new file mode 100644
index 000000000..f630100fa
--- /dev/null
+++ b/nx-X11/config/cf/xorgversion.def
@@ -0,0 +1,5 @@
+#define XORG_VERSION_MAJOR 6
+#define XORG_VERSION_MINOR 9
+#define XORG_VERSION_PATCH 0
+#define XORG_VERSION_SNAP 0
+#define XORG_DATE "21 December 2005"
diff --git a/nx-X11/config/cf/xprint_host.def b/nx-X11/config/cf/xprint_host.def
new file mode 100644
index 000000000..a9b4cee2f
--- /dev/null
+++ b/nx-X11/config/cf/xprint_host.def
@@ -0,0 +1,305 @@
+/* host.def config for the Xprint server standalone packages */
+
+/*
+ * Enable this if you want to build the GISWxprintglue package...
+ * #define BuildGISWxprintglue YES
+ * Then do a % make World ; cd packager/solaris/GISWxprintglue/ ; make make_GISWxprintglue
+ */
+
+/*
+ * Enable this if you want to build the GISWxprint package...
+ * #define BuildGISWxprint YES
+ * Then do a % make World ; cd packager/solaris/GISWxprint/ ; make make_GISWxprint
+ */
+
+/*
+ * Enable this if you want to build the Debian Xprint server package
+ * #define BuildDebianXprintPackage YES
+ */
+
+/*
+ * If you build a RPM package from this tree the xprint.spec file
+ * will set BuildXprintRPMPackage to YES
+ */
+
+/*
+ * Enable this if you want to build the Mozilla Xprint XPI server package
+ * #define BuildMozillaXprintXPIPackage YES
+ */
+
+/* HasDocBookTools - set to YES if "xsltproc", "xmllint", "docbook2man",
+ * "lynx" and the docbook-xsl-stylesheets are installed.
+ * #define HasDocBookTools YES
+ */
+
+/* #########################################################################
+ * ############ xprint.mozdev.org defaults start (do not edit!) ############
+ * #########################################################################
+ */
+
+#ifndef BuildGISWxprintglue
+# define BuildGISWxprintglue NO
+#endif /* BuildGISWxprintglue */
+
+#ifndef BuildGISWxprint
+# define BuildGISWxprint NO
+#endif /* BuildGISWxprint */
+
+#ifndef BuildDebianXprintPackage
+# define BuildDebianXprintPackage NO
+#endif /* BuildDebianXprintPackage */
+
+#ifndef BuildXprintRPMPackage
+# define BuildXprintRPMPackage NO
+#endif /* BuildXprintRPMPackage */
+
+#ifndef BuildMozillaXprintXPIPackage
+# define BuildMozillaXprintXPIPackage NO
+#endif /* BuildMozillaXprintXPIPackage */
+
+/* If we do not build any of the special packages then build and
+ * install everything */
+#ifndef BuildFullXprintDistrib
+# if BuildGISWxprintglue || BuildGISWxprint || BuildDebianXprintPackage || BuildXprintRPMPackage || BuildMozillaXprintXPIPackage
+# define BuildFullXprintDistrib NO
+# else
+# define BuildFullXprintDistrib YES
+# endif /* BuildGISWxprintglue || BuildGISWxprint || BuildDebianXprintPackage || BuildXprintRPMPackage || BuildMozillaXprintXPIPackage */
+#endif /* BuildFullXprintDistrib */
+
+/* Verify that only one package is enabled at the same time */
+#if (BuildGISWxprintglue + BuildGISWxprint + BuildDebianXprintPackage + BuildXprintRPMPackage + BuildFullXprintDistrib + BuildMozillaXprintXPIPackage) > 1
+# error Building more than one special package is not allowed.
+#endif /* Verify */
+
+/* Some flags to build the Xprint server (Xprt), the tools and the fonts */
+#define BuildServer YES
+#define XprtServer YES
+
+/* Needed to build encoding files */
+#define BuildFonts YES
+#define BuildSpeedoFonts NO
+#define BuildType1Fonts NO
+#define BuildCIDFonts NO
+#define BuildTrueTypeFonts NO
+#define BuildEthiopicFonts NO
+#define BuildBethMarduthoFonts NO
+
+/* X extensions not needed (or not supported yet by Xprt) */
+#define BuildXKB NO
+#define BuildRECORD NO
+#define BuildDPMS NO
+#define BuildXF86VidModeExt NO
+#define BuildXInputExt NO
+#define BuildScreenSaverExt NO
+#define BuildXvExt NO
+#define BuildXvMCExt NO
+#define BuildDmx NO
+#define BuildXF86DRI NO
+#define BuildRender NO
+#define BuildXfixes NO
+#define BuildDamage NO
+#define BuildComposite NO
+#define BuildXevie NO
+#define BuildXF86DGA NO
+#define BuildRandR NO
+#define BuildXinerama NO
+
+/* X extensions needed */
+#define BuildGlxExt YES
+/* LBX is needed for compatibility to the XWeb stuff */
+#define BuildLBX YES
+
+/* Xprt's non-bitmap based DDX (PS, PCL, PDF, SVGprint etc.) cannot support MIT-SHM */
+#undef HasShm
+#define HasShm NO
+/* Disable stipple code due portability issues
+ * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=2220) */
+#define BuildStippleCode NO
+
+/* Temporary for Xorg tree */
+#define BuildFontconfigLibrary NO
+#define XorgServer NO
+#define XF86Server NO
+#define XnestServer NO
+#define XVirtualFramebufferServer NO
+#define XdmxServer NO
+
+#define GzipFontCompression YES
+#define BuildFreeType YES
+#define BuildFreetype2Library YES
+#define SharedLibFreetype2 NO
+#define NormalLibFreetype2 YES
+#define HasFreetype2 NO
+#define Freetype2BuildDefines -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER
+
+#define BuildType1 NO
+#define BuildCID NO
+#define BuildSpeedo NO
+#define BuildFontCache NO
+#define BuildRender NO
+#define BuildRenderLibrary NO
+#define BuildRandRLibrary NO
+#define BuildXcursorLibrary NO
+#define BuildXcursorgen NO
+#define SharedLibFontEnc NO
+#define SharedLibFont NO
+#define XserverStaticFontLib YES
+
+/* Build only Xprint applications */
+#ifndef BuildXprintAppsOnly
+#define BuildXprintAppsOnly YES
+#endif /* BuildXprintAppsOnly */
+
+/* Set our own XVendorString/XVendorRelease
+ * (and to avoid that xorg.cf sets it's own stuff here) */
+#define XVendorString "xprint.mozdev.org"
+#define XVendorRelease 100000
+
+#define UseHackLinkAgainstInstalledX11Libs NO
+#if UseHackLinkAgainstInstalledX11Libs
+/* "Hack" to reuse an already installed X11 distribution when linking our
+ * programs (this assumes that the installed X version is at least X11R6.4) */
+# ifndef IBMArchitecture
+# define LdPreLib -L$(USRLIBDIR) -R$(USRLIBDIR) -L$(BUILDLIBDIR)
+# endif /* !IBMArchitecture */
+#endif /* UseHackLinkAgainstInstalledX11Libs */
+
+XCOMM #### Sun/Solaris-specifc stuff ... ####
+#if defined(SunArchitecture) && (OSMajorVersion > 4)
+#undef XsunServer
+#define XsunServer NO
+
+XCOMM X11R6.7's sun.cf does not set ProjectRoot to /usr/openwin anymore - why ?
+#define ProjectRoot /usr/openwin
+#define ServerConfigDir /usr/openwin/server/etc
+
+XCOMM Some build hacks for the GISWxprintglue package
+#if BuildGISWxprintglue
+# define ProjectRoot /usr/openwin
+# define ServerConfigDir /usr/openwin/server/etc
+# define BinDir /opt/GISWxprintglue/bin
+# define ManDirectoryRoot /opt/GISWxprintglue/man
+# undef XPrintDir
+# define XPrintDir /opt/GISWxprintglue/server/etc/XpConfig
+ /* PCL DDXs are currently defunct in Solaris Xprt, so do not ship the
+ * config files for now */
+# undef XpColorPclDDX
+# define XpColorPclDDX NO
+# undef XpMonoPclDDX
+# define XpMonoPclDDX NO
+ /* GISWxprintglue uses the Solaris Xprt server which uses the Solaris
+ * encoding/ttmap files for font encodings
+ */
+# define InstallXF86EncodingFiles NO
+#endif /* BuildGISWxprintglue */
+
+XCOMM Some build hacks for the GISWxprint package
+#if BuildGISWxprint
+# define ProjectRoot /usr/openwin
+# define ServerConfigDir /usr/openwin/server/etc
+# define BinDir /opt/GISWxprint/bin
+# define ManDirectoryRoot /opt/GISWxprint/man
+# undef XPrintDir
+# define XPrintDir /opt/GISWxprint/server/etc/XpConfig
+ /* PCL DDXs are currently defunct in Solaris Xprt, so do not ship the
+ * config files for now */
+# undef XpColorPclDDX
+# define XpColorPclDDX NO
+# undef XpMonoPclDDX
+# define XpMonoPclDDX NO
+ /* Make sure we install our own encoding files since Solaris uses a format we
+ * (currently) do not support (yet).
+ */
+# define InstallXF86EncodingFiles YES
+# undef XF86EncodingsPath
+# define XF86EncodingsPath /opt/GISWxprint/lib/X11/fonts/encodings
+#endif /* GISWxprint */
+
+/* Install XF86 encoding files since that's the only format we currently support */
+#ifndef InstallXF86EncodingFiles
+#define InstallXF86EncodingFiles YES
+#endif /* InstallXF86EncodingFiles */
+
+#define HasVarDirectory NO
+#undef HasMotif2
+#define HasMotif2 YES
+
+#if 1 /* Switch for 32bit binaries or 64bit binaries */
+ /* 32bit SPARC */
+# define CcCmd /opt/SUNWspro/bin/cc
+# define CplusplusCmd /opt/SUNWspro/bin/CC
+#else
+ /* 64bit sparc (Doesn't really work yet because the Xservers cannot link properly... ;-( */
+# define ServerExtraDefines -D_XSERVER64
+# define CcCmd /opt/SUNWspro/bin/cc -xarch=v9a
+# define CplusplusCmd /opt/SUNWspro/bin/CC -xarch=v9a
+# define UsrLibDir /usr/openwin/lib/sparcv9
+#endif
+
+#if 0 /* Development only */
+ XCOMM Explicitly use "-xs" to make Rational Purify "happy"
+# undef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -xs -g -DDEBUG_$(LOGNAME)
+#endif
+
+XCOMM #### FreeBSD-specifc stuff ... ####
+#elif defined(FreeBSDArchitecture)
+#define ProjectRoot /usr/X11R6
+#define XPrintDir /etc/X11/xserver
+#define DlLibrary -lc
+#undef XF86SVGAServer
+#define XF86SVGAServer NO
+#define HasVarDirectory NO
+#define HasMotif2 YES
+#define HasGhostScript YES
+#define InstallXF86EncodingFiles NO
+
+XCOMM #### NetBSD-specifc stuff ... ####
+#elif defined(NetBSDArchitecture)
+#define ProjectRoot /usr/X11R6
+#define XPrintDir /etc/X11/xserver
+#undef XF86SVGAServer
+#define XF86SVGAServer NO
+#define HasVarDirectory NO
+#define HasMotif2 YES
+#define HasGhostScript YES
+#define InstallXF86EncodingFiles NO
+
+XCOMM #### Linux-specifc stuff ... ####
+#elif defined(LinuxArchitecture)
+#define ProjectRoot /usr/X11R6
+#define XPrintDir /etc/X11/xserver
+#undef XF86SVGAServer
+#define XF86SVGAServer NO
+#define HasVarDirectory NO
+#define HasMotif2 YES
+#define HasGhostScript YES
+#define InstallXF86EncodingFiles NO
+/* Debian Xprint package puts the Xprt config files elsewhere */
+#if (LinuxDistribution == LinuxDebian)
+# define XPrintDir /usr/share/Xprint/xserver
+#endif
+
+#endif
+
+/* Do not strip binaries to ensure usefull stacktraces in bug reports
+ * (http://xprint.mozdev.org/bugs/show_bug.cgi?id=2264)
+ */
+#define StripInstalledPrograms NO
+
+/* Does the X11 installation have the Xfree86 encoding files ? */
+#ifndef InstallXF86EncodingFiles
+#define InstallXF86EncodingFiles YES
+#endif /* InstallXF86EncodingFiles */
+
+INSTALLXF86ENCODINGFILES = InstallXF86EncodingFiles
+
+#ifndef XF86EncodingsPath
+#define XF86EncodingsPath $(FONTDIR)/encodings
+#endif /* XF86EncodingsPath *
+
+/* #########################################################################
+ * ################ xprint.mozdev.org defaults end ################
+ * #########################################################################
+ */
diff --git a/nx-X11/config/docbook/docbookconv.sh b/nx-X11/config/docbook/docbookconv.sh
new file mode 100755
index 000000000..e58f05b78
--- /dev/null
+++ b/nx-X11/config/docbook/docbookconv.sh
@@ -0,0 +1,124 @@
+#!/bin/sh
+
+#set -x
+
+fatal_error()
+{
+ echo "$1" 1>&2
+ exit 1
+}
+
+debug_echo()
+{
+ echo "$1" 1>&2
+}
+
+verbose_echo()
+{
+ echo "$1" 1>&2
+}
+
+which_tool()
+{
+ echo "${PATH}" | tr ":" "\n" | while read i ;
+ do ls -1ad "${i}/${1}" 2>/dev/null ; done | sort | uniq
+}
+
+which_program()
+{
+ echo "${1}" | tr ":" "\n" | while read i ;
+ do
+ which_tool "${i}"
+ done | sort | uniq
+}
+
+which_xsl()
+{
+ ls -1ad ${1}/docbook-xsl-stylesheets*/ 2>/dev/null | head -1
+}
+
+# Fix HTML generated by the DocBook XSL stylesheets
+# In many cases <nsxyz:p> is used instead of <p>, screwing-up
+# display (this stuff only works for XHTML)
+fix_docbook_html()
+{
+ sed "s/<ns[0-9]*:p>/<p>/g;s/<\/ns[0-9]*:p>/<\/p>/g"
+}
+
+# main
+infile="${1}"
+outputformat="${2}"
+outputfile="${3}"
+
+# xsl processing
+case "`uname -s`" in
+ FreeBSD)
+ PATH="${PATH}:/usr/local/bin:/usr/local/sbin"
+ export PATH
+ stylesheetbase="/usr/local/share/xsl/"
+ ;;
+ *)
+ stylesheetbase="/usr/share/sgml/docbook/"
+ ;;
+esac
+xsltproc="`which_tool xsltproc`"
+stylesheetdir="`which_xsl ${stylesheetbase}`"
+docbook2man="`which_tool docbook2man`"
+verbose_echo "# Using xsltproc=${xsltproc}."
+verbose_echo "# Using stylesheetdir=${stylesheetdir}."
+verbose_echo "# Using docbook2man=${docbook2man}."
+
+# Prechecks
+[ "${infile}" = "" ] && fatal_error "$0: No input file."
+[ "${outputfile}" = "" ] && fatal_error "$0: No output file."
+[ "${outputformat}" = "" ] && fatal_error "$0: No format given."
+[ ! -r "${infile}" ] && fatal_error "$0: Input file not found or readable."
+[ ! -x "${xsltproc}" ] && fatal_error "$0: No xsltproc found."
+[ ! -r "${stylesheetdir}" ] && fatal_error "$0: No DocBook/XSL style sheets found."
+[ ! -x "${docbook2man}" ] && fatal_error "$0: No docbook2man found."
+
+
+# this is hack style to work around the problem that "docbook2man"
+# writes lots of files into the current dir
+MYTMPDIR="/tmp/docbookconv_${RANDOM}"
+MYCURRDIR="${PWD}"
+
+(
+ mkdir "${MYTMPDIR}"
+ cd "${MYTMPDIR}"
+
+ case "${outputformat}" in
+ "html")
+ cp "${MYCURRDIR}/${infile}" "${infile}.tmp"
+ if [ "${infile}" != "${infile%.sgml}" ] ; then
+ verbose_echo "# processing as SGML document"
+ ${xsltproc} --docbook ${stylesheetdir}/html/docbook.xsl "${infile}.tmp" | fix_docbook_html >"${MYCURRDIR}/${outputfile}"
+ else
+ verbose_echo "# processing as XML document"
+ ${xsltproc} ${stylesheetdir}/html/docbook.xsl "${infile}.tmp" | fix_docbook_html >"${MYCURRDIR}/${outputfile}"
+ fi
+ ;;
+ "man")
+ if [ "${infile}" != "${infile%.sgml}" ] ; then
+ #cp "${MYCURRDIR}/${infile}" "${infile%.sgml}.xml"
+ #${docbook2man} --network "${infile%.sgml}.xml"
+ cp "${MYCURRDIR}/${infile}" "${infile}.tmp"
+ ${docbook2man} --network "${infile}.tmp"
+ else
+ cp "${MYCURRDIR}/${infile}" "${infile}.tmp"
+ ${docbook2man} --network "${infile}.tmp"
+ fi
+ manfile="$(ls -1 ${infile%.*}.__*)"
+
+ verbose_echo "manfile=${manfile}"
+ [ ! -r "${manfile}" ] && fatal_error "$0: manfile not found."
+ cp "${manfile}" "${MYCURRDIR}/${outputfile}"
+ ;;
+ *)
+ fatal_error "Unsupported output format ${outputformat}."
+ ;;
+ esac
+)
+
+# EOF.
+
diff --git a/nx-X11/config/imake/Imakefile b/nx-X11/config/imake/Imakefile
new file mode 100644
index 000000000..13645443b
--- /dev/null
+++ b/nx-X11/config/imake/Imakefile
@@ -0,0 +1,84 @@
+XCOMM $XdotOrg: xc/config/imake/Imakefile,v 1.3 2005/10/10 23:49:09 kem Exp $
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:50 cpqbld Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM
+XCOMM $XFree86: xc/config/imake/Imakefile,v 3.18 2003/10/21 17:41:44 tsi Exp $
+
+XCOMM Some compilers generate fatal errors if an -L directory does
+XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
+ LDPRELIB =
+ LDPRELIBS =
+
+DEPLIBS =
+
+INCLUDES = -I$(TOP)/include $(TOP_X_INCLUDES)/X11
+CPP_PROGRAM = CppCmd
+CPP_DEFINES = -DCPP_PROGRAM="\"$(CPP_PROGRAM)\""
+GCC_COMMAND = $(CC) -fmerge-constants -xc /dev/null -S -o /dev/null 2> /dev/null 1> /dev/null
+GCC_DEFINES = -DHAS_MERGE_CONSTANTS=`if $(GCC_COMMAND); then echo 1; else echo 0; fi`
+
+EXTRA_DEFINES=-DMONOLITH
+
+#ifdef CrossCompileDir
+CROSSCOMPILEDIR = CrossCompileDir
+CROSSCOMPILEDEFINES=-DCROSSCOMPILE -DCROSSCOMPILEDIR=\"$(CROSSCOMPILEDIR)\"
+#else
+CROSSCOMPILEDIR =
+CROSSCOMPILEDEFINES=
+BOOTSTRAPDEFINES =
+#endif
+
+DEFINES = $(SIGNAL_DEFINES) $(BOOTSTRAPCFLAGS) $(CPP_DEFINES) $(GCC_DEFINES) \
+ $(CROSSCOMPILEDEFINES)
+
+EXTRAMANDEFS = -D__cpp__="\"$(CPP_PROGRAM)\""
+
+#if defined(MacIIArchitecture) || defined(SequentArchitecture) || defined(i386ScoArchitecture)
+XBSDLIB = /**/
+#endif
+
+#ifdef CrossCompileDir
+# ifdef TargetPreProcessCmd
+CPP = TargetPreProcessCmd
+# else
+CPP = CrossCompileDir/cc -E -
+# endif
+IMAKEMDEFS_CPPDEFINES = $(DEFINES) -DCROSSCOMPILE_CPP
+CppFileTarget(imakemdep_cpp.h,imakemdep.h,$(IMAKEMDEFS_CPPDEFINES),\
+ NullParameter)
+#endif
+
+#undef ImakeDependency
+#define ImakeDependency(dummy) @@\
+imake.o: imakemdep_cpp.h @@\
+Makefile:: ProgramTargetName(imake)
+
+#if CrossCompiling
+SimpleHostProgramTarget(imake)
+#else
+SimpleProgramTarget(imake)
+#endif
+
+imakeonly:: $(PROGRAM)
+
+InstallDriverSDKNamedProg(imake,imake,$(DRIVERSDKDIR)/config/imake)
+
+#if HasClearmake
+bootstrapdepend: depend
+#else
+bootstrapdepend:
+#endif
+
+clean::
+ RemoveFile(ProgramTargetName(ccimake))
+ RemoveFile(Makefile.proto)
+ RemoveFile(imakemdep_cpp.h)
+ $(RM) -r bootstrap
+
+#ifdef OS2Architecture
+clean::
+ RemoveFiles(imake ccimake)
+
+#endif
diff --git a/nx-X11/config/imake/Makefile.ini b/nx-X11/config/imake/Makefile.ini
new file mode 100644
index 000000000..b9c22963e
--- /dev/null
+++ b/nx-X11/config/imake/Makefile.ini
@@ -0,0 +1,86 @@
+# $Xorg: Makefile.ini,v 1.3 2000/08/17 19:41:50 cpqbld Exp $
+#
+# WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+#
+# This is NOT an automatically generated Makefile! It is hand-crafted as a
+# bootstrap, may need editing for your system. The BOOTSTRAPCFLAGS variable
+# may be given at the top of the build tree for systems that do not define
+# any machine-specific preprocessor symbols.
+#
+# $XFree86: xc/config/imake/Makefile.ini,v 3.9 2000/10/26 17:57:45 dawes Exp $
+
+CROSSCOMPILEDIR =
+CROSSCOMPILEFLAGS = -DCROSSCOMPILEDIR=\"$(CROSSCOMPILEDIR)\"
+BOOTSTRAPCFLAGS =
+CC = cc
+PREPROCESS_CMD = cc -E
+CDEBUGFLAGS = -O
+INCLUDES = -I../../include -I../../imports/x11/include/X11
+CFLAGS = $(BOOTSTRAPCFLAGS) $(CDEBUGFLAGS) $(INCLUDES) -DMONOLITH
+IMAKEMDEP_CROSSCOMPILE = -DCROSSCOMPILE_CPP
+SHELL = /bin/sh
+RM = rm -f
+MV = mv
+MAKE = make
+RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a \
+ tags TAGS make.log
+NPROC = 1
+
+imake::
+ @echo "making imake with BOOTSTRAPCFLAGS=$(BOOTSTRAPCFLAGS) and CROSSCOMPILEFLAGS=$(CROSSCOMPILEFLAGS) in config/imake"
+
+imake:: imake.o
+ $(CC) -o imake $(CFLAGS) imake.o
+
+imake.o: ccimake imake.c imakemdep_cpp.h
+ $(CC) -c $(CFLAGS) `./ccimake` imake.c
+
+ccimake: ccimake.c
+ $(CC) -o ccimake $(CROSSCOMPILEFLAGS) $(CFLAGS) ccimake.c
+
+imakemdep_cpp.h: ccimake imakemdep.h
+ if [ -n "$(CROSSCOMPILEDIR)" ] ; then \
+ $(CROSSCOMPILEDIR)/$(PREPROCESS_CMD) `./ccimake` \
+ $(IMAKEMDEP_CROSSCOMPILE) imakemdep.h > imakemdep_cpp.h; \
+ else touch imakemdep_cpp.h; fi
+
+# a derived object erroneously would get shared across platforms by clearmake
+.NO_CONFIG_REC: ccimake
+
+bootstrap:
+ -@if [ -d bootstrap ]; then exit 0; else set -x; mkdir bootstrap; fi
+ $(MV) *.o bootstrap
+ @if [ -f imake.exe ]; then set -x; $(MV) imake.exe bootstrap; \
+ elif [ -f imake ]; then set -x; $(MV) imake bootstrap; else exit 0; fi
+
+relink:
+ $(RM) imake
+ $(MAKE) $(MFLAGS) imake
+
+clean:
+ $(RM) ccimake imake.o imake
+ $(RM_CMD) \#*
+ $(RM) -r Makefile.proto Makefile Makefile.dep bootstrap
+ $(RM) imakemdep_cpp.h
+
+depend:
+
+imake.exe::
+ @echo making imake with BOOTSTRAPCFLAGS=-DWIN32
+
+imake.exe:: imake.obj
+ cl -nologo imake.obj libc.lib kernel32.lib
+
+imake.obj: imake.c
+ cl -nologo -W2 -D__STDC__ -c -DWIN32 $(CFLAGS) imake.c
+
+clean.Win32:
+ if exist imake.exe del imake.exe
+ if exist imake.obj del imake.obj
+
+clean.os2:
+ imakesvc 4 imake imake.exe imake.o /imake.exe
+
+imake.os2: imake.c
+ $(CC) -DBSD43 $(CFLAGS) -o imake.exe imake.c
+ copy imake.exe \\
diff --git a/nx-X11/config/imake/ccimake.c b/nx-X11/config/imake/ccimake.c
new file mode 100644
index 000000000..30524d55f
--- /dev/null
+++ b/nx-X11/config/imake/ccimake.c
@@ -0,0 +1,62 @@
+/* $Xorg: ccimake.c,v 1.4 2001/02/09 02:03:15 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group .
+
+*/
+/* $XFree86: xc/config/imake/ccimake.c,v 1.2 2001/04/01 13:59:56 tsi Exp $ */
+
+/*
+ * Warning: This file must be kept as simple as possible so that it can
+ * compile without any special flags on all systems. Do not touch it unless
+ * you *really* know what you're doing. Make changes in imakemdep.h, not here.
+ */
+
+#define CCIMAKE /* only get imake_ccflags definitions */
+#include "imakemdep.h" /* things to set when porting imake */
+
+#ifndef imake_ccflags
+# define imake_ccflags "-O"
+#endif
+
+#ifndef CROSSCOMPILEDIR
+# define CROSSCOMPILEDIR ""
+#endif
+
+#define crosscompile_ccflags " -DCROSSCOMPILE "
+#define crosscompiledir_str "-DCROSSCOMPILEDIR="
+
+int
+main()
+{
+ if (CROSSCOMPILEDIR[0] != '\0') {
+ write(1, crosscompiledir_str, sizeof(crosscompiledir_str) - 1);
+ write(1,"\"",1);
+ write(1, CROSSCOMPILEDIR, sizeof(CROSSCOMPILEDIR) - 1);
+ write(1,"\"",1);
+ write(1, crosscompile_ccflags, sizeof(crosscompile_ccflags) - 1);
+ }
+ write(1, imake_ccflags, sizeof(imake_ccflags) - 1);
+ return 0;
+}
+
diff --git a/nx-X11/config/imake/imake.c b/nx-X11/config/imake/imake.c
new file mode 100644
index 000000000..46e03daf2
--- /dev/null
+++ b/nx-X11/config/imake/imake.c
@@ -0,0 +1,2203 @@
+
+/***************************************************************************
+ * *
+ * Porting Note *
+ * *
+ * Add the value of BOOTSTRAPCFLAGS to the cpp_argv table so that it will *
+ * be passed to the template file. *
+ * *
+ ***************************************************************************/
+/* $XFree86: xc/config/imake/imake.c,v 3.63tsi Exp $ */
+
+/*
+ *
+Copyright (c) 1985, 1986, 1987, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+ *
+ * Original Author:
+ * Todd Brunhoff
+ * Tektronix, inc.
+ * While a guest engineer at Project Athena, MIT
+ *
+ * imake: the include-make program.
+ *
+ * Usage: imake [-Idir] [-Ddefine] [-T template] [-f imakefile ] [-C Imakefile.c ] [-s] [-e] [-v] [make flags]
+ *
+ * Imake takes a template file (Imake.tmpl) and a prototype (Imakefile)
+ * and runs cpp on them producing a Makefile. It then optionally runs make
+ * on the Makefile.
+ * Options:
+ * -D define. Same as cpp -D argument.
+ * -U undefine. Same as cpp -U argument.
+ * -W warning. Same as cpp -W argument.
+ * -I Include directory. Same as cpp -I argument.
+ * -T template. Designate a template other
+ * than Imake.tmpl
+ * -f specify the Imakefile file
+ * -C specify the name to use instead of Imakefile.c
+ * -s[F] show. Show the produced makefile on the standard
+ * output. Make is not run is this case. If a file
+ * argument is provided, the output is placed there.
+ * -e[F] execute instead of show; optionally name Makefile F
+ * -v verbose. Show the make command line executed.
+ *
+ * Environment variables:
+ *
+ * IMAKEINCLUDE Include directory to use in addition to "."
+ * IMAKECPP Cpp to use instead of /lib/cpp
+ * IMAKEMAKE make program to use other than what is
+ * found by searching the $PATH variable.
+ * Other features:
+ * imake reads the entire cpp output into memory and then scans it
+ * for occurences of "@@". If it encounters them, it replaces it with
+ * a newline. It also trims any trailing white space on output lines
+ * (because make gets upset at them). This helps when cpp expands
+ * multi-line macros but you want them to appear on multiple lines.
+ * It also changes occurences of "XCOMM" to "#", to avoid problems
+ * with treating commands as invalid preprocessor commands.
+ *
+ * The macros MAKEFILE and MAKE are provided as macros
+ * to make. MAKEFILE is set to imake's makefile (not the constructed,
+ * preprocessed one) and MAKE is set to argv[0], i.e. the name of
+ * the imake program.
+ *
+ * Theory of operation:
+ * 1. Determine the name of the imakefile from the command line (-f)
+ * or from the content of the current directory (Imakefile or imakefile).
+ * Call this <imakefile>. This gets added to the arguments for
+ * make as MAKEFILE=<imakefile>.
+ * 2. Determine the name of the template from the command line (-T)
+ * or the default, Imake.tmpl. Call this <template>
+ * 3. Determine the name of the imakeCfile from the command line (-C)
+ * or the default, Imakefile.c. Call this <imakeCfile>
+ * 4. Store lines of input into <imakeCfile>:
+ * - A c-style comment header (see ImakefileCHeader below), used
+ * to recognize temporary files generated by imake.
+ * - If DEFAULT_OS_NAME is defined, format the utsname struct and
+ * call the result <defaultOsName>. Add:
+ * #define DefaultOSName <defaultOsName>
+ * - If DEFAULT_OS_MAJOR_REV is defined, format the utsname struct
+ * and call the result <defaultOsMajorVersion>. Add:
+ * #define DefaultOSMajorVersion <defaultOsMajorVersion>
+ * - If DEFAULT_OS_MINOR_REV is defined, format the utsname struct
+ * and call the result <defaultOsMinorVersion>. Add:
+ * #define DefaultOSMinorVersion <defaultOsMinorVersion>
+ * - If DEFAULT_OS_TEENY_REV is defined, format the utsname struct
+ * and call the result <defaultOsTeenyVersion>. Add:
+ * #define DefaultOSTeenyVersion <defaultOsTeenyVersion>
+ * - If DEFAULT_MACHINE_ARCITECTURE is defined, format the utsname struct
+ * and define the corresponding macro. (For example on the amiga,
+ * this will define amiga in addition to m68k).
+ * - If the file "localdefines" is readable in the current
+ * directory, print a warning message to stderr and add:
+ * #define IMAKE_LOCAL_DEFINES "localdefines"
+ * #include IMAKE_LOCAL_DEFINES
+ * - If the file "admindefines" is readable in the current
+ * directory, print a warning message to stderr and add:
+ * #define IMAKE_ADMIN_DEFINES "admindefines"
+ * #include IMAKE_ADMIN_DEFINES
+ * - The following lines:
+ * #define INCLUDE_IMAKEFILE < <imakefile> >
+ * #define IMAKE_TEMPLATE " <template> "
+ * #include IMAKE_TEMPLATE
+ * - If the file "adminmacros" is readable in the current
+ * directory, print a warning message to stderr and add:
+ * #define IMAKE_ADMIN_MACROS "adminmacros"
+ * #include IMAKE_ADMIN_MACROS
+ * - If the file "localmacros" is readable in the current
+ * directory, print a warning message to stderr and add:
+ * #define IMAKE_LOCAL_MACROS "localmacros"
+ * #include IMAKE_LOCAL_MACROS
+ * 5. Start up cpp and provide it with this file.
+ * Note that the define for INCLUDE_IMAKEFILE is intended for
+ * use in the template file. This implies that the imake is
+ * useless unless the template file contains at least the line
+ * #include INCLUDE_IMAKEFILE
+ * 6. Gather the output from cpp, and clean it up, expanding @@ to
+ * newlines, stripping trailing white space, cpp control lines,
+ * and extra blank lines, and changing XCOMM to #. This cleaned
+ * output is placed in a new file, default "Makefile", but can
+ * be specified with -s or -e options.
+ * 7. Optionally start up make on the resulting file.
+ *
+ * The design of the template makefile should therefore be:
+ * <set global macros like CFLAGS, etc.>
+ * <include machine dependent additions>
+ * #include INCLUDE_IMAKEFILE
+ * <add any global targets like 'clean' and long dependencies>
+ */
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
+/* This needs to be before _POSIX_SOURCE gets defined */
+# include <sys/param.h>
+# include <sys/types.h>
+# include <sys/sysctl.h>
+#endif
+#include <stdlib.h>
+#include <stdio.h>
+#ifdef MONOLITH
+# include "Xosdefs.h"
+#else
+# include <X11/Xosdefs.h>
+#endif
+#include <string.h>
+#include <ctype.h>
+#ifdef WIN32
+# include "Xw32defs.h"
+#endif
+#if 0
+#ifndef X_NOT_POSIX
+# ifndef _POSIX_SOURCE
+# define _POSIX_SOURCE
+# endif
+#endif
+#endif
+#include <sys/types.h>
+#include <fcntl.h>
+#ifdef X_NOT_POSIX
+# ifndef WIN32
+# include <sys/file.h>
+# endif
+#else
+# include <unistd.h>
+#endif
+#ifdef ISC
+# include <unistd.h>
+#endif
+#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
+# include <signal.h>
+#else
+# define _POSIX_SOURCE
+# include <signal.h>
+# undef _POSIX_SOURCE
+#endif
+#if !defined(SIGCHLD) && defined(SIGCLD)
+# define SIGCHLD SIGCLD
+#endif
+#include <sys/stat.h>
+#ifndef X_NOT_POSIX
+# ifdef _POSIX_SOURCE
+# ifdef __SCO__
+# include <sys/procset.h>
+# include <sys/siginfo.h>
+# endif
+# include <sys/wait.h>
+# else
+# define _POSIX_SOURCE
+# include <sys/wait.h>
+# undef _POSIX_SOURCE
+# endif
+# define waitCode(w) WEXITSTATUS(w)
+# define waitSig(w) WTERMSIG(w)
+typedef int waitType;
+#else /* X_NOT_POSIX */
+# ifdef SYSV
+# define waitCode(w) (((w) >> 8) & 0x7f)
+# define waitSig(w) ((w) & 0xff)
+typedef int waitType;
+# else /* SYSV */
+# ifdef WIN32
+# include <process.h>
+typedef int waitType;
+# else
+# include <sys/wait.h>
+# define waitCode(w) ((w).w_T.w_Retcode)
+# define waitSig(w) ((w).w_T.w_Termsig)
+typedef union wait waitType;
+# endif
+# endif
+# ifndef WIFSIGNALED
+# define WIFSIGNALED(w) waitSig(w)
+# endif
+# ifndef WIFEXITED
+# define WIFEXITED(w) waitCode(w)
+# endif
+#endif /* X_NOT_POSIX */
+# include <stdlib.h>
+#if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
+char *malloc(), *realloc();
+#endif /* macII */
+#include <errno.h>
+#ifdef __minix_vmd
+#define USE_FREOPEN 1
+#endif
+
+#if !((defined(sun) && !defined(SVR4)) || defined(macII))
+#define USE_STRERROR 1
+#endif
+#ifndef WIN32
+#include <sys/utsname.h>
+#else
+#include <windows.h>
+#endif
+#ifndef SYS_NMLN
+# ifdef _SYS_NMLN
+# define SYS_NMLN _SYS_NMLN
+# else
+# define SYS_NMLN 257
+# endif
+#endif
+#if defined(linux) || defined(__GNU__) || defined(__GLIBC__)
+#include <limits.h>
+#include <stdio.h>
+#endif
+#ifdef __QNX__
+#include <unix.h>
+#endif
+
+/*
+ * This define of strerror is copied from (and should be identical to)
+ * Xos.h, which we don't want to include here for bootstrapping reasons.
+ */
+#ifndef USE_STRERROR
+# ifndef strerror
+extern char *sys_errlist[];
+extern int sys_nerr;
+# define strerror(n) \
+ (((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error")
+# endif
+#endif
+
+#if defined(__NetBSD__) /* see code clock in init() below */
+#include <sys/utsname.h>
+#endif
+
+#if !(defined(Lynx) || defined(__Lynx__) || (defined(SVR4) && !defined(sun))) && !defined (__CYGWIN__)
+#define HAS_MKSTEMP
+#endif
+
+typedef unsigned char boolean;
+#define TRUE 1
+#define FALSE 0
+
+# include "imakemdep.h"
+#ifdef CROSSCOMPILE
+# include "imakemdep_cpp.h"
+#endif
+
+#if defined CROSSCOMPILE || defined FIXUP_CPP_WHITESPACE
+int InRule = FALSE;
+#endif
+#if defined CROSSCOMPILE || defined INLINE_SYNTAX
+int InInline = 0;
+#endif
+#if defined CROSSCOMPILE || defined MAGIC_MAKE_VARS
+int xvariable = 0;
+int xvariables[10];
+#endif
+
+#ifndef PATH_MAX
+#define PATH_MAX 1024
+#endif
+
+/*
+ * Some versions of cpp reduce all tabs in macro expansion to a single
+ * space. In addition, the escaped newline may be replaced with a
+ * space instead of being deleted. Blech.
+ */
+void KludgeOutputLine(char **), KludgeResetRule(void);
+
+#ifndef CROSSCOMPILE
+# ifdef USE_CC_E
+# ifndef DEFAULT_CC
+# define DEFAULT_CC "cc"
+# endif
+# else
+# ifndef DEFAULT_CPP
+# ifdef CPP_PROGRAM
+# define DEFAULT_CPP CPP_PROGRAM
+# else
+# define DEFAULT_CPP "/lib/cpp"
+# endif
+# endif
+# endif
+#endif
+
+char *cpp = NULL;
+
+char *tmpMakefile = "/tmp/Imf.XXXXXX";
+char *tmpImakefile = "/tmp/IIf.XXXXXX";
+char *make_argv[ ARGUMENTS ] = {
+#ifdef WIN32
+ "nmake"
+#else
+ "make"
+#endif
+};
+
+int make_argindex;
+int cpp_argindex;
+char *Imakefile = NULL;
+char *Makefile = "Makefile";
+char *Template = "Imake.tmpl";
+char *ImakefileC = "Imakefile.c";
+boolean haveImakefileC = FALSE;
+char *cleanedImakefile = NULL;
+char *program;
+char *FindImakefile(char *Imakefile);
+char *ReadLine(FILE *tmpfd, char *tmpfname);
+char *CleanCppInput(char *imakefile);
+char *Strdup(char *cp);
+char *Emalloc(int size);
+void LogFatalI(char *s, int i), LogFatal(char *x0, char *x1),
+ LogMsg(char *x0, char *x1);
+
+void showit(FILE *fd);
+void wrapup(void);
+void init(void);
+void AddMakeArg(char *arg);
+void AddCppArg(char *arg);
+#ifdef CROSSCOMPILE
+char *CrossCompileCPP(void);
+#endif
+void SetOpts(int argc, char **argv);
+void CheckImakefileC(char *masterc);
+void cppit(char *imakefile, char *template, char *masterc,
+ FILE *outfd, char *outfname);
+void makeit(void);
+void CleanCppOutput(FILE *tmpfd, char *tmpfname);
+boolean isempty(char *line);
+void writetmpfile(FILE *fd, char *buf, int cnt, char *fname);
+#ifdef SIGNALRETURNSINT
+int catch(int sig);
+#else
+void catch(int sig);
+#endif
+void showargs(char **argv);
+boolean optional_include(FILE *inFile, char *defsym, char *fname);
+void doit(FILE *outfd, char *cmd, char **argv);
+boolean define_os_defaults(FILE *inFile);
+#ifdef CROSSCOMPILE
+static void get_cross_compile_dir(FILE *inFile);
+#endif
+#ifdef CROSSCOMPILEDIR
+char *CrossCompileDir = CROSSCOMPILEDIR;
+#else
+char *CrossCompileDir = "";
+#endif
+boolean CrossCompiling = FALSE;
+
+
+
+boolean verbose = FALSE;
+boolean show = TRUE;
+
+int
+main(int argc, char *argv[])
+{
+ FILE *tmpfd = NULL;
+ char makeMacro[ BUFSIZ ];
+ char makefileMacro[ BUFSIZ ];
+ int lenCrossCompileDir = 0;
+
+ program = argv[0];
+ init();
+
+ lenCrossCompileDir = strlen(CrossCompileDir);
+ if (lenCrossCompileDir) {
+ if (lenCrossCompileDir > (PATH_MAX - 20))
+ LogFatal("Cross compile directory path too long %s\n",
+ CrossCompileDir);
+ else
+ CrossCompiling = TRUE;
+ }
+
+ SetOpts(argc, argv);
+ Imakefile = FindImakefile(Imakefile);
+ CheckImakefileC(ImakefileC);
+ if (Makefile) {
+ tmpMakefile = Makefile;
+ if ((tmpfd = fopen(tmpMakefile, "w+")) == NULL)
+ LogFatal("Cannot create temporary file %s.", tmpMakefile);
+ } else {
+#ifdef HAS_MKSTEMP
+ int fd;
+#endif
+ tmpMakefile = Strdup(tmpMakefile);
+#ifndef HAS_MKSTEMP
+ if (mktemp(tmpMakefile) == NULL ||
+ (tmpfd = fopen(tmpMakefile, "w+")) == NULL) {
+ LogFatal("Cannot create temporary file %s.", tmpMakefile);
+ }
+#else
+ fd = mkstemp(tmpMakefile);
+ if (fd == -1 || (tmpfd = fdopen(fd, "w+")) == NULL) {
+ if (fd != -1) {
+ unlink(tmpMakefile); close(fd);
+ }
+ LogFatal("Cannot create temporary file %s.", tmpMakefile);
+ }
+#endif
+ }
+ AddMakeArg("-f");
+ AddMakeArg( tmpMakefile );
+ sprintf(makeMacro, "MAKE=%s", program);
+ AddMakeArg( makeMacro );
+ sprintf(makefileMacro, "MAKEFILE=%s", Imakefile);
+ AddMakeArg( makefileMacro );
+
+ cleanedImakefile = CleanCppInput(Imakefile);
+ cppit(cleanedImakefile, Template, ImakefileC, tmpfd, tmpMakefile);
+
+ if (show) {
+ if (Makefile == NULL)
+ showit(tmpfd);
+ } else
+ makeit();
+ wrapup();
+ exit(0);
+}
+
+void
+showit(FILE *fd)
+{
+ char buf[ BUFSIZ ];
+ int red;
+
+ fseek(fd, 0, 0);
+ while ((red = fread(buf, 1, BUFSIZ, fd)) > 0)
+ writetmpfile(stdout, buf, red, "stdout");
+ if (red < 0)
+ LogFatal("Cannot read %s.", tmpMakefile);
+}
+
+void
+wrapup(void)
+{
+ if (tmpMakefile != Makefile)
+ unlink(tmpMakefile);
+ if (cleanedImakefile && cleanedImakefile != Imakefile)
+ unlink(cleanedImakefile);
+ if (haveImakefileC)
+ unlink(ImakefileC);
+}
+
+#ifdef SIGNALRETURNSINT
+int
+#else
+void
+#endif
+catch(int sig)
+{
+ errno = 0;
+ LogFatalI("Signal %d.", sig);
+}
+
+/*
+ * Initialize some variables.
+ */
+void
+init(void)
+{
+ register char *p;
+
+ make_argindex=0;
+ while (make_argv[ make_argindex ] != NULL)
+ make_argindex++;
+ cpp_argindex = 0;
+ while (cpp_argv[ cpp_argindex ] != NULL)
+ cpp_argindex++;
+
+#if defined CROSSCOMPILE
+ if (sys == netBSD)
+ if (CrossCompiling) {
+ LogFatal("fix imake to do crosscompiling for NetBSD\n","");
+ } else
+#endif
+#if defined(__NetBSD__) || defined CROSSCOMPILE
+ {
+ struct utsname uts;
+ static char argument[512];
+
+ /*
+ * Sharable imake configurations require a
+ * machine identifier.
+ */
+ if (uname(&uts) != 0)
+ LogFatal("uname(3) failed; can't tell what %s",
+ "kind of machine you have.");
+
+ memset(argument, 0, sizeof(argument));
+ (void)snprintf(argument, sizeof(argument) - 1,
+ "-D__%s__", uts.machine);
+
+ AddCppArg(argument);
+ }
+#endif /* __NetBSD__ */
+
+ /*
+ * See if the standard include directory is different than
+ * the default. Or if cpp is not the default. Or if the make
+ * found by the PATH variable is not the default.
+ */
+ if ((p = getenv("IMAKEINCLUDE"))) {
+ if (*p != '-' || *(p+1) != 'I')
+ LogFatal("Environment var IMAKEINCLUDE %s",
+ "must begin with -I");
+ AddCppArg(p);
+ for (; *p; p++)
+ if (*p == ' ') {
+ *p++ = '\0';
+ AddCppArg(p);
+ }
+ }
+ if ((p = getenv("IMAKECPP")))
+ cpp = p;
+ if ((p = getenv("IMAKEMAKE")))
+ make_argv[0] = p;
+
+ if (signal(SIGINT, SIG_IGN) != SIG_IGN)
+ signal(SIGINT, catch);
+#ifdef SIGCHLD
+ signal(SIGCHLD, SIG_DFL);
+#endif
+}
+
+void
+AddMakeArg(char *arg)
+{
+ errno = 0;
+ if (make_argindex >= ARGUMENTS-1)
+ LogFatal("Out of internal storage.", "");
+ make_argv[ make_argindex++ ] = arg;
+ make_argv[ make_argindex ] = NULL;
+}
+
+void
+AddCppArg(char *arg)
+{
+ errno = 0;
+ if (cpp_argindex >= ARGUMENTS-1)
+ LogFatal("Out of internal storage.", "");
+ cpp_argv[ cpp_argindex++ ] = arg;
+ cpp_argv[ cpp_argindex ] = NULL;
+}
+
+void
+SetOpts(int argc, char **argv)
+{
+
+ errno = 0;
+ /*
+ * Now gather the arguments for make
+ */
+ for(argc--, argv++; argc; argc--, argv++) {
+ /*
+ * We intercept these flags.
+ */
+ if (argv[0][0] == '-') {
+ if (argv[0][1] == 'D') {
+ AddCppArg(argv[0]);
+ } else if (argv[0][1] == 'I') {
+ AddCppArg(argv[0]);
+ } else if (argv[0][1] == 'U') {
+ AddCppArg(argv[0]);
+ } else if (argv[0][1] == 'W') {
+ AddCppArg(argv[0]);
+ } else if (argv[0][1] == 'f') {
+ if (argv[0][2])
+ Imakefile = argv[0]+2;
+ else {
+ argc--, argv++;
+ if (! argc)
+ LogFatal("No description arg after -f flag", "");
+ Imakefile = argv[0];
+ }
+ } else if (argv[0][1] == 's') {
+ if (argv[0][2])
+ Makefile = ((argv[0][2] == '-') && !argv[0][3]) ?
+ NULL : argv[0]+2;
+ else {
+ argc--, argv++;
+ if (!argc)
+ LogFatal("No description arg after -s flag", "");
+ Makefile = ((argv[0][0] == '-') && !argv[0][1]) ?
+ NULL : argv[0];
+ }
+ show = TRUE;
+ } else if (argv[0][1] == 'e') {
+ Makefile = (argv[0][2] ? argv[0]+2 : NULL);
+ show = FALSE;
+ } else if (argv[0][1] == 'T') {
+ if (argv[0][2])
+ Template = argv[0]+2;
+ else {
+ argc--, argv++;
+ if (! argc)
+ LogFatal("No description arg after -T flag", "");
+ Template = argv[0];
+ }
+ } else if (argv[0][1] == 'C') {
+ if (argv[0][2])
+ ImakefileC = argv[0]+2;
+ else {
+ argc--, argv++;
+ if (! argc)
+ LogFatal("No imakeCfile arg after -C flag", "");
+ ImakefileC = argv[0];
+ }
+ } else if (argv[0][1] == 'v') {
+ verbose = TRUE;
+ } else
+ AddMakeArg(argv[0]);
+ } else
+ AddMakeArg(argv[0]);
+ }
+
+#ifndef CROSSCOMPILE
+# ifdef USE_CC_E
+ if (!cpp)
+ {
+ AddCppArg("-E");
+#ifdef __GNUC__
+ if (verbose)
+ AddCppArg("-v");
+#endif
+ cpp = DEFAULT_CC;
+ }
+# else
+ if (!cpp)
+ cpp = DEFAULT_CPP;
+# endif
+#else
+ if (!cpp)
+ cpp = CrossCompileCPP();
+#endif
+
+ cpp_argv[0] = cpp;
+ AddCppArg(ImakefileC);
+}
+
+char *
+FindImakefile(char *Imakefile)
+{
+ if (Imakefile) {
+ if (access(Imakefile, R_OK) < 0)
+ LogFatal("Cannot find %s.", Imakefile);
+ } else {
+ if (access("Imakefile", R_OK) < 0) {
+ if (access("imakefile", R_OK) < 0)
+ LogFatal("No description file.", "");
+ else
+ Imakefile = "imakefile";
+ } else
+ Imakefile = "Imakefile";
+ }
+ return(Imakefile);
+}
+
+void
+LogFatalI(char *s, int i)
+{
+ /*NOSTRICT*/
+ LogFatal(s, (char *)(long)i);
+}
+
+void
+LogFatal(char *x0, char *x1)
+{
+ static boolean entered = FALSE;
+
+ if (entered)
+ return;
+ entered = TRUE;
+
+ LogMsg(x0, x1);
+ fprintf(stderr, " Stop.\n");
+ wrapup();
+ exit(1);
+}
+
+void
+LogMsg(char *x0, char *x1)
+{
+ int error_number = errno;
+
+ if (error_number) {
+ fprintf(stderr, "%s: ", program);
+ fprintf(stderr, "%s\n", strerror(error_number));
+ }
+ fprintf(stderr, "%s: ", program);
+ fprintf(stderr, x0, x1);
+ fprintf(stderr, "\n");
+}
+
+void
+showargs(char **argv)
+{
+ for (; *argv; argv++)
+ fprintf(stderr, "%s ", *argv);
+ fprintf(stderr, "\n");
+}
+
+#define ImakefileCHeader "/* imake - temporary file */"
+
+void
+CheckImakefileC(char *masterc)
+{
+ char mkcbuf[1024];
+ FILE *inFile;
+
+ if (access(masterc, F_OK) == 0) {
+ inFile = fopen(masterc, "r");
+ if (inFile == NULL)
+ LogFatal("Refuse to overwrite: %s", masterc);
+ if ((fgets(mkcbuf, sizeof(mkcbuf), inFile) &&
+ strncmp(mkcbuf, ImakefileCHeader,
+ sizeof(ImakefileCHeader)-1)))
+ {
+ fclose(inFile);
+ LogFatal("Refuse to overwrite: %s", masterc);
+ }
+ fclose(inFile);
+ }
+}
+
+#define LocalDefineFmt "#define %s \"%s\"\n"
+#define IncludeFmt "#include %s\n"
+#define ImakeDefSym "INCLUDE_IMAKEFILE"
+#define ImakeTmplSym "IMAKE_TEMPLATE"
+#define OverrideWarning "Warning: local file \"%s\" overrides global macros."
+
+boolean
+optional_include(FILE *inFile, char *defsym, char *fname)
+{
+ errno = 0;
+ if (access(fname, R_OK) == 0) {
+ LogMsg(OverrideWarning, fname);
+ return (fprintf(inFile, LocalDefineFmt, defsym, fname) < 0 ||
+ fprintf(inFile, IncludeFmt, defsym) < 0);
+ }
+ return FALSE;
+}
+
+void
+doit(FILE *outfd, char *cmd, char **argv)
+{
+ int pid;
+ waitType status;
+
+ /*
+ * Fork and exec the command.
+ */
+#ifdef WIN32
+ if (outfd)
+ dup2(fileno(outfd), 1);
+ status = _spawnvp(_P_WAIT, cmd, argv);
+ if (status < 0)
+ LogFatal("Cannot spawn %s.", cmd);
+ if (status > 0)
+ LogFatalI("Exit code %d.", status);
+#else
+ pid = fork();
+ if (pid < 0)
+ LogFatal("Cannot fork.", "");
+ if (pid) { /* parent... simply wait */
+ while (wait(&status) > 0) {
+ errno = 0;
+ if (WIFSIGNALED(status))
+ LogFatalI("Signal %d.", waitSig(status));
+ if (WIFEXITED(status) && waitCode(status))
+ LogFatalI("Exit code %d.", waitCode(status));
+ }
+ }
+ else { /* child... dup and exec cmd */
+ if (verbose)
+ showargs(argv);
+ if (outfd)
+ dup2(fileno(outfd), 1);
+ execvp(cmd, argv);
+ LogFatal("Cannot exec %s.", cmd);
+ }
+#endif
+}
+
+#if !defined WIN32
+static void
+parse_utsname(struct utsname *name, char *fmt, char *result, char *msg)
+{
+ char buf[SYS_NMLN * 5 + 1];
+ char *ptr = buf;
+ int arg;
+
+ if (!name)
+ LogFatal(msg,fmt);
+
+ /* Assemble all the pieces into a buffer. */
+ for (arg = 0; fmt[arg] != ' '; arg++)
+ {
+ /* Our buffer is only guaranteed to hold 5 arguments. */
+ if (arg >= 5)
+ LogFatal(msg, fmt);
+
+ switch (fmt[arg])
+ {
+ case 's':
+ if (arg > 0)
+ *ptr++ = ' ';
+ strcpy(ptr, name->sysname);
+ ptr += strlen(ptr);
+ break;
+
+ case 'n':
+ if (arg > 0)
+ *ptr++ = ' ';
+ strcpy(ptr, name->nodename);
+ ptr += strlen(ptr);
+ break;
+
+ case 'r':
+ if (arg > 0)
+ *ptr++ = ' ';
+ strcpy(ptr, name->release);
+ ptr += strlen(ptr);
+ break;
+
+ case 'v':
+ if (arg > 0)
+ *ptr++ = ' ';
+ strcpy(ptr, name->version);
+ ptr += strlen(ptr);
+ break;
+
+ case 'm':
+ if (arg > 0)
+ *ptr++ = ' ';
+ strcpy(ptr, name->machine);
+ ptr += strlen(ptr);
+ break;
+
+ default:
+ LogFatal(msg, fmt);
+ }
+ }
+
+ /* Just in case... */
+ if (strlen(buf) >= sizeof(buf))
+ LogFatal("Buffer overflow parsing uname.", "");
+
+ /* Parse the buffer. The sscanf() return value is rarely correct. */
+ *result = '\0';
+ (void) sscanf(buf, fmt + arg + 1, result);
+}
+
+/* Trim leading 0's and periods from version names. The 0's cause
+ the number to be interpreted as octal numbers. Some version strings
+ have the potential for different numbers of .'s in them.
+ */
+
+static char *
+trim_version(char *p)
+{
+
+ if (p != 0 && *p != '\0')
+ {
+ while ((*p == '0' || *p == '.') && *(p + 1) != '\0')
+ ++p;
+ }
+ return (p);
+}
+#endif
+
+#if defined(linux) || defined(__GLIBC__)
+const char *libc_c=
+"#include <stdio.h>\n"
+"#include <ctype.h>\n"
+"\n"
+"#if 1\n"
+"#pragma weak gnu_get_libc_version\n"
+"#pragma weak __libc_version\n"
+"#pragma weak __linux_C_lib_version\n"
+"#endif\n"
+"\n"
+"extern const char * gnu_get_libc_version (void);\n"
+"extern const char * __linux_C_lib_version;\n"
+"extern const char __libc_version [];\n"
+"\n"
+"int\n"
+"main ()\n"
+"{\n"
+" int libcmajor = 0, libcminor = 0, libcteeny = 0;\n"
+" const char * ptr = NULL;\n"
+" int glibcmajor = 0;\n"
+"\n"
+" if (gnu_get_libc_version != 0)\n"
+" {\n"
+" ptr = gnu_get_libc_version ();\n"
+" glibcmajor = 4;\n"
+" }\n"
+" else if (&__libc_version != 0)\n"
+" {\n"
+" ptr = __libc_version;\n"
+" glibcmajor = 4;\n"
+" }\n"
+" else if (&__linux_C_lib_version != 0)\n"
+" {\n"
+" ptr = __linux_C_lib_version;\n"
+" }\n"
+" else\n"
+" {\n"
+" libcmajor = 0; libcminor = 0; libcteeny = 0;\n"
+" }\n"
+"\n"
+" if (ptr)\n"
+" {\n"
+" while (!isdigit (*ptr))\n"
+" ptr++;\n"
+"\n"
+" sscanf (ptr, \"%d.%d.%d\", &libcmajor, &libcminor, &libcteeny);\n"
+" libcmajor += glibcmajor;\n"
+" }\n"
+"\n"
+" printf(\"#define DefaultLinuxCLibMajorVersion %d\\n\", libcmajor);\n"
+" printf(\"#define DefaultLinuxCLibMinorVersion %d\\n\", libcminor);\n"
+" printf(\"#define DefaultLinuxCLibTeenyVersion %d\\n\", libcteeny);\n"
+"\n"
+" return 0;\n"
+"}\n"
+;
+
+static void
+get_libc_version(FILE *inFile)
+{
+ char aout[] = "/tmp/imakeXXXXXX";
+ FILE *fp;
+ const char *format = "%s -o %s -x c -";
+ char *cc;
+ int len;
+ char *command;
+
+ /* Pre-create temp file safely */
+ {
+ /* Linux + ELF has mkstemp() */
+ int tmpfd;
+ if ((tmpfd = mkstemp(aout)) == -1) {
+ perror("mkstemp");
+ abort();
+ }
+ close(tmpfd);
+ }
+ cc = getenv ("CC");
+ if (cc == NULL)
+ cc = "gcc";
+ len = strlen (aout) + strlen (format) + strlen (cc);
+ if (len < 128) len = 128;
+ command = alloca (len);
+
+ if (snprintf (command , len, format, cc, aout) == len)
+ abort ();
+
+ fp = popen (command, "w");
+ if (fp == NULL || fprintf (fp, "%s\n", libc_c) < 0
+ || pclose (fp) != 0)
+ abort ();
+
+ fp = popen (aout, "r");
+ if (fp == NULL)
+ abort ();
+
+ while (fgets (command, len, fp))
+ fprintf (inFile, command);
+
+ len = pclose (fp);
+ remove (aout);
+ if (len)
+ abort ();
+}
+#endif
+
+#if defined(__OpenBSD__) || defined(__DragonFly__)
+static void
+get_stackprotector(FILE *inFile)
+{
+ FILE *fp;
+ char *cc;
+ char command[1024], buf[1024];
+
+ cc = getenv("CC");
+ if (cc == NULL) {
+ cc = "cc";
+ }
+ snprintf(command, sizeof(command), "%s -v 2>&1", cc);
+ fp = popen(command, "r");
+ if (fp == NULL)
+ abort();
+ while (fgets(buf, sizeof(buf), fp)) {
+ if (strstr(buf, "propolice") != NULL) {
+ fprintf(inFile, "#define ProPoliceSupport YES\n");
+ break;
+ }
+ }
+ if (pclose(fp))
+ abort();
+}
+#endif
+
+
+#if defined CROSSCOMPILE || defined linux || defined(__GLIBC__)
+static void
+get_distrib(FILE *inFile)
+{
+ struct stat sb;
+
+ static char* suse = "/etc/SuSE-release";
+ static char* redhat = "/etc/redhat-release";
+ static char* debian = "/etc/debian_version";
+
+ fprintf (inFile, "%s\n", "#define LinuxUnknown 0");
+ fprintf (inFile, "%s\n", "#define LinuxSuSE 1");
+ fprintf (inFile, "%s\n", "#define LinuxCaldera 2");
+ fprintf (inFile, "%s\n", "#define LinuxCraftworks 3");
+ fprintf (inFile, "%s\n", "#define LinuxDebian 4");
+ fprintf (inFile, "%s\n", "#define LinuxInfoMagic 5");
+ fprintf (inFile, "%s\n", "#define LinuxKheops 6");
+ fprintf (inFile, "%s\n", "#define LinuxPro 7");
+ fprintf (inFile, "%s\n", "#define LinuxRedHat 8");
+ fprintf (inFile, "%s\n", "#define LinuxSlackware 9");
+ fprintf (inFile, "%s\n", "#define LinuxTurbo 10");
+ fprintf (inFile, "%s\n", "#define LinuxWare 11");
+ fprintf (inFile, "%s\n", "#define LinuxYggdrasil 12");
+
+#ifdef CROSSCOMPILE
+ if (CrossCompiling) {
+ fprintf (inFile, "%s\n",
+ "#define DefaultLinuxDistribution LinuxUnknown");
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistName Unknown");
+ return;
+ }
+#endif
+ if (lstat (suse, &sb) == 0) {
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxSuSE");
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistName SuSE");
+ return;
+ }
+ if (lstat (redhat, &sb) == 0) {
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxRedHat");
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistName RedHat");
+ return;
+ }
+ if (lstat (debian, &sb) == 0) {
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxDebian");
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistName Debian");
+ /* You could also try to get the version of the Debian distrib by looking
+ * at the content of /etc/debian_version */
+ return;
+ }
+ /* what's the definitive way to tell what any particular distribution is? */
+
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown");
+ fprintf (inFile, "%s\n", "#define DefaultLinuxDistName Unknown");
+ /* would like to know what version of the distribution it is */
+}
+
+static void
+get_ld_version(FILE *inFile)
+{
+ FILE* ldprog;
+ signed char c;
+ int ldmajor, ldminor;
+ const char *ld = "ld -v";
+
+#ifdef CROSSCOMPILE
+ if (CrossCompiling) {
+ char cmd[PATH_MAX];
+ strcpy (cmd, CrossCompileDir);
+ strcat (cmd,"/");
+ strcat (cmd,ld);
+ ldprog = popen (cmd, "r");
+ } else
+#endif
+ ldprog = popen (ld, "r");
+
+ if (ldprog) {
+ do {
+ c = fgetc (ldprog);
+ } while (c != EOF && !isdigit (c));
+ ungetc (c, ldprog);
+ (void) fscanf (ldprog, "%d.%d", &ldmajor, &ldminor);
+ /* Start conversion to a more rational number */
+ if ((ldmajor > 2) || ((ldmajor == 2) && (ldminor > 9)))
+ ldmajor *= 100;
+ else
+ ldmajor *= 10;
+
+ fprintf(inFile, "#define DefaultLinuxBinUtilsMajorVersion %d\n",
+ ldmajor + ldminor);
+ pclose (ldprog);
+ }
+}
+#endif
+
+#if defined __FreeBSD__
+static void
+get_binary_format(FILE *inFile)
+{
+ int mib[2];
+ size_t len;
+ int osrel = 0;
+ FILE *objprog = NULL;
+ int iself = 0;
+ char buf[10];
+ char cmd[PATH_MAX];
+
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_OSRELDATE;
+ len = sizeof(osrel);
+ sysctl(mib, 2, &osrel, &len, NULL, 0);
+ if (CrossCompiling) {
+ strcpy (cmd, CrossCompileDir);
+ strcat (cmd, "/");
+ strcat (cmd,"objformat");
+ } else
+ strcpy (cmd, "objformat");
+
+ if (osrel >= 300004 &&
+ (objprog = popen(cmd, "r")) != NULL &&
+ fgets(buf, sizeof(buf), objprog) != NULL &&
+ strncmp(buf, "elf", 3) == 0)
+ iself = 1;
+ if (objprog)
+ pclose(objprog);
+
+ fprintf(inFile, "#define DefaultToElfFormat %s\n", iself ? "YES" : "NO");
+}
+#endif
+
+#if defined(sun) && defined(__SVR4)
+/* Runs Sun compiler command and parses output - this is a bit of a hack
+ * as it depends on the particular output format of the -V flag, but it's
+ * worked for many releases.
+ *
+ * Input : cmd - command to run (called with -V flag)
+ * path - path to command to run (use $PATH if NULL)
+ * Output: cmajor & cminor - major and minor versions if found
+ * Returns: 0 if successful, -1 if not.
+ */
+static int
+ask_sun_compiler_for_versions(const char *cmd, const char *path,
+ int *cmajor, int *cminor)
+{
+ char buf[BUFSIZ];
+ char cmdtorun[PATH_MAX];
+ char* vptr;
+ FILE* ccproc;
+ const char vflag[] = " -V 2>&1";
+ int retval = -1;
+
+ int len = strlen(cmd) + sizeof(vflag);
+
+ if (path != NULL) {
+ len += strlen(path) + 1;
+ }
+
+ if (len < sizeof(cmdtorun)) {
+ if (path != NULL) {
+ sprintf(cmdtorun, "%s/%s %s", path, cmd, vflag);
+ } else {
+ sprintf(cmdtorun, "%s %s", cmd, vflag);
+ }
+
+ if ((ccproc = popen (cmdtorun, "r")) != NULL) {
+ if (fgets (buf, sizeof(buf), ccproc) != NULL) {
+ vptr = strrchr (buf, 'C');
+ if (vptr) {
+ for (; (*vptr != '\0') && !isdigit(*vptr); vptr++) {
+ /* Do nothing - just scanning for first digit */
+ }
+ if (*vptr != '\0') {
+ if (sscanf (vptr, "%d.%d", cmajor, cminor) == 2) {
+ retval = 0;
+ }
+ }
+ }
+ if (retval != 0) {
+ fprintf(stderr,
+ "warning: could not parse version number in output of:\n"
+ " %s\n", cmdtorun);
+ }
+ while (fgets (buf, sizeof(buf), ccproc) != NULL) {};
+ }
+ pclose (ccproc);
+ }
+ }
+ return retval;
+}
+
+/* Find Sun compilers and their versions if present */
+static void
+get_sun_compiler_versions (FILE *inFile)
+{
+ const char* sunpro_path = "/opt/SUNWspro/bin";
+ int cmajor, cminor, found = 0;
+ struct stat sb;
+
+ /* If cross-compiling, only check CrossCompilerDir for compilers.
+ * If not cross-compiling, first check cc in users $PATH,
+ * then try /opt/SUNWspro if not found in the users $PATH
+ */
+
+#if defined CROSSCOMPILE
+ if (CrossCompiling) {
+ if (ask_sun_compiler_for_versions("cc", CrossCompileDir,
+ &cmajor, &cminor) == 0) {
+ found = 1;
+ }
+ }
+ else
+#endif
+ {
+ if (ask_sun_compiler_for_versions("cc", NULL, &cmajor, &cminor) == 0) {
+ found = 1;
+ } else if (ask_sun_compiler_for_versions("cc", sunpro_path,
+ &cmajor, &cminor) == 0) {
+ found = 1;
+ fprintf(inFile, "#define DefaultSunProCCompilerDir %s", sunpro_path);
+ }
+ }
+
+ if (found) {
+ fprintf (inFile,
+ "#define DefaultSunProCCompilerMajorVersion %d\n", cmajor);
+ fprintf (inFile,
+ "#define DefaultSunProCCompilerMinorVersion %d\n", cminor);
+ }
+
+ /* Now do it again for C++ compiler (CC) */
+ found = 0;
+#if defined CROSSCOMPILE
+ if (CrossCompiling) {
+ if (ask_sun_compiler_for_versions("CC", CrossCompileDir,
+ &cmajor, &cminor) == 0) {
+ found = 1;
+ }
+ }
+ else
+#endif
+ {
+ if (ask_sun_compiler_for_versions("CC", NULL, &cmajor, &cminor) == 0) {
+ found = 1;
+ } else if (ask_sun_compiler_for_versions("CC", sunpro_path,
+ &cmajor, &cminor) == 0) {
+ found = 1;
+ fprintf(inFile,
+ "#define DefaultSunProCplusplusCompilerDir %s", sunpro_path);
+ }
+ }
+
+ if (found) {
+ fprintf (inFile,
+ "#define DefaultSunProCplusplusCompilerMajorVersion %d\n",
+ cmajor);
+ fprintf (inFile,
+ "#define DefaultSunProCplusplusCompilerMinorVersion %d\n",
+ cminor);
+ }
+}
+#endif
+
+#if defined CROSSCOMPILE || defined __GNUC__
+static void
+get_gcc_version(FILE *inFile, char *name)
+{
+ fprintf (inFile, "#define HasGcc 1\n");
+#ifdef CROSSCOMPILE
+ if (CrossCompiling)
+ {
+ if (gnu_c > 1) {
+ fprintf (inFile, "#define HasGcc2 1\n");
+ if (gnu_c > 2)
+ fprintf (inFile, "#define HasGcc3 1\n");
+ }
+ fprintf (inFile, "#define GccMajorVersion %d\n", gnu_c);
+ fprintf (inFile, "#define GccMinorVersion %d\n", gnu_c_minor);
+ } else
+#endif
+ {
+#if __GNUC__ > 1
+ fprintf (inFile, "#define HasGcc2 1\n");
+# if __GNUC__ > 2
+ fprintf (inFile, "#define HasGcc3 1\n");
+# endif
+#endif
+ fprintf (inFile, "#define GccMajorVersion %d\n", __GNUC__);
+ fprintf (inFile, "#define GccMinorVersion %d\n", __GNUC_MINOR__);
+ }
+#if defined(HAS_MERGE_CONSTANTS)
+ fprintf (inFile, "#define HasGccMergeConstants %d\n", HAS_MERGE_CONSTANTS);
+#endif
+}
+#endif
+
+static boolean
+get_gcc(char *cmd)
+{
+ struct stat sb;
+ static char* gcc_path[] = {
+# if defined(linux) || \
+ defined(__NetBSD__) || \
+ defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || \
+ defined(__DragonFly__) || \
+ defined(__APPLE__) || \
+ defined(__CYGWIN__) || \
+ defined(__MINGW32__) || \
+ defined(__GNU__) || \
+ defined(__GLIBC__)
+ "/usr/bin/cc", /* for Linux PostIncDir */
+# endif
+ "/usr/local/bin/gcc",
+ "/opt/gnu/bin/gcc",
+ "/usr/pkg/bin/gcc"
+ };
+
+#ifdef CROSSCOMPILE
+ static char* cross_cc_name[] = {
+ "cc",
+ "gcc"
+ };
+
+ if (CrossCompiling) {
+ int i;
+ for (i = 0; i < sizeof (cross_cc_name) / sizeof cross_cc_name[0]; i++){
+ strcpy (cmd, CrossCompileDir);
+ strcat (cmd, "/");
+ strcat (cmd, cross_cc_name[i]);
+ if (lstat (cmd, &sb) == 0) {
+ return TRUE;
+ break;
+ }
+ }
+ } else
+#endif
+ {
+ int i;
+ for (i = 0; i < sizeof (gcc_path) / sizeof gcc_path[0]; i++) {
+ if (lstat (gcc_path[i], &sb) == 0) {
+ strcpy (cmd, gcc_path[i]);
+ return TRUE;
+ }
+ }
+ }
+ return FALSE;
+}
+
+#if defined CROSSCOMPILE || !defined __UNIXOS2__
+static void
+get_gcc_incdir(FILE *inFile, char* name)
+{
+ FILE* gccproc;
+ char buf[PATH_MAX];
+ char cmd[PATH_MAX];
+ char* ptr;
+
+ strcpy(cmd,name);
+
+ buf[0] = '\0';
+ strcat (cmd, " --print-libgcc-file-name");
+ if ((gccproc = popen (cmd, "r")) != NULL) {
+ if (fgets (buf, PATH_MAX, gccproc) != NULL) {
+ ptr = strstr (buf, "libgcc.a");
+ if (ptr) strcpy (ptr, "include");
+ }
+ (void) pclose (gccproc);
+ }
+
+ if (buf[0])
+ fprintf (inFile, "#define DefaultGccIncludeDir \"%s\"\n", buf);
+}
+#endif
+
+boolean
+define_os_defaults(FILE *inFile)
+{
+#if defined CROSSCOMPILE || ( !defined(WIN32) && !defined(__UNIXOS2__) )
+#ifdef CROSSCOMPILE
+#ifdef __GNUC__
+ if (1)
+#else
+ if ((sys != win32) && (sys != emx))
+#endif
+#endif
+ {
+# if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
+ defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
+ struct utsname *name = NULL;
+ struct utsname uts_name;
+ char buf[SYS_NMLN * 5 + 1];
+
+ /* Obtain the system information. */
+#ifdef CROSSCOMPILE
+ if (!CrossCompiling)
+#endif
+ {
+ if (uname(&uts_name) < 0)
+ LogFatal("Cannot invoke uname", "");
+ else
+ name = &uts_name;
+ }
+#if defined CROSSCOMPILE && (defined linux || defined(__GLIBC__))
+ else {
+ strncpy(uts_name.sysname,cross_uts_sysname,SYS_NMLN);
+ strncpy(uts_name.release,cross_uts_release,SYS_NMLN);
+ strncpy(uts_name.version,cross_uts_version,SYS_NMLN);
+ strncpy(uts_name.machine,cross_uts_machine,SYS_NMLN);
+ name = &uts_name;
+ }
+#endif
+# ifdef __FreeBSD__
+ /* Override for compiling in chroot of other OS version, such as
+ * in the bento build cluster.
+ */
+ {
+ char *e;
+ if ((e = getenv("OSREL")) != NULL &&
+ strlen(name->sysname) + strlen(e) + 1 < SYS_NMLN) {
+ strcpy(name->release, e);
+ strcpy(name->version, name->sysname);
+ strcat(name->version, " ");
+ strcat(name->version, e);
+ }
+ }
+# endif
+
+# if defined DEFAULT_OS_NAME
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ {
+ parse_utsname(name, DEFAULT_OS_NAME, buf,
+ "Bad DEFAULT_OS_NAME syntax %s");
+# ifdef DEFAULT_OS_NAME_FROB
+ DEFAULT_OS_NAME_FROB(buf, sizeof buf);
+# endif
+ if (buf[0] != '\0')
+ fprintf(inFile, "#define DefaultOSName %s\n", buf);
+ }
+# endif
+
+# if defined CROSSCOMPILE
+ if (CrossCompiling && defaultOsName) {
+ parse_utsname(name, defaultOsName, buf,
+ "Bad DEFAULT_OS_NAME syntax %s");
+ if (defaultOsNameFrob)
+ defaultOsNameFrob(buf, sizeof buf);
+ if (buf[0] != '\0')
+ fprintf(inFile, "#define DefaultOSName %s\n", buf);
+ }
+# endif
+
+# ifdef DEFAULT_OS_MAJOR_REV
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ {
+ parse_utsname(name, DEFAULT_OS_MAJOR_REV, buf,
+ "Bad DEFAULT_OS_MAJOR_REV syntax %s");
+# ifdef DEFAULT_OS_MAJOR_REV_FROB
+ DEFAULT_OS_MAJOR_REV_FROB(buf, sizeof buf);
+# endif
+ fprintf(inFile, "#define DefaultOSMajorVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# if defined CROSSCOMPILE
+ if (CrossCompiling && defaultOsMajorRev) {
+ parse_utsname(name, defaultOsMajorRev, buf,
+ "Bad defaultOsMajorRev syntax %s");
+ if (defaultOsMajorRevFrob)
+ defaultOsMajorRevFrob(buf, sizeof buf);
+ fprintf(inFile, "#define DefaultOSMajorVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# ifdef DEFAULT_OS_MINOR_REV
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ {
+ parse_utsname(name, DEFAULT_OS_MINOR_REV, buf,
+ "Bad DEFAULT_OS_MINOR_REV syntax %s");
+# ifdef DEFAULT_OS_MINOR_REV_FROB
+ DEFAULT_OS_MINOR_REV_FROB(buf, sizeof buf);
+# endif
+ fprintf(inFile, "#define DefaultOSMinorVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# if defined CROSSCOMPILE
+ if (CrossCompiling && defaultOsMinorRev) {
+ parse_utsname(name, defaultOsMinorRev, buf,
+ "Bad defaultOsMinorRev syntax %s");
+ if (defaultOsMinorRevFrob)
+ defaultOsMinorRevFrob(buf, sizeof buf);
+ fprintf(inFile, "#define DefaultOSMinorVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# ifdef DEFAULT_OS_TEENY_REV
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ {
+ parse_utsname(name, DEFAULT_OS_TEENY_REV, buf,
+ "Bad DEFAULT_OS_TEENY_REV syntax %s");
+# ifdef DEFAULT_OS_TEENY_REV_FROB
+ DEFAULT_OS_TEENY_REV_FROB(buf, sizeof buf);
+# endif
+ fprintf(inFile, "#define DefaultOSTeenyVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# if defined CROSSCOMPILE
+ if (CrossCompiling && defaultOsTeenyRev) {
+ parse_utsname(name, defaultOsTeenyRev, buf,
+ "Bad defaultOsTeenyRev syntax %s");
+ if (defaultOsTeenyRevFrob)
+ defaultOsTeenyRevFrob(buf, sizeof buf);
+ fprintf(inFile, "#define DefaultOSTeenyVersion %s\n",
+ *buf ? trim_version(buf) : "0");
+ }
+# endif
+
+# ifdef DEFAULT_MACHINE_ARCHITECTURE
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ {
+ parse_utsname(name, DEFAULT_MACHINE_ARCHITECTURE, buf,
+ "Bad DEFAULT_MACHINE_ARCHITECTURE %s");
+ fprintf(inFile, "#ifndef %s\n# define %s\n#endif\n", buf, buf);
+ }
+# endif
+
+# if defined CROSSCOMPILE
+ if (CrossCompiling && defaultMachineArchitecture) {
+ parse_utsname(name, defaultMachineArchitecture, buf,
+ "Bad defaultMachineArchitecture syntax %s");
+ fprintf(inFile, "#ifndef %s\n# define %s\n#endif\n", buf, buf);
+ }
+# endif
+# endif
+# if defined CROSSCOMPILE
+ if (CrossCompiling)
+ get_cross_compile_dir(inFile);
+ else
+# endif
+ fprintf(inFile, "#define CrossCompiling NO\n");
+# if defined CROSSCOMPILE
+ if (CrossCompiling && sys == LinuX)
+# endif
+# if defined CROSSCOMPILE || defined linux || defined(__GLIBC__)
+# if defined(CROSSCOMPILE) && defined(__linux__)
+ if (sys == LinuX)
+# endif
+ get_distrib (inFile);
+# endif
+# if defined linux || defined(__GLIBC__)
+# if defined CROSSCOMPILE
+ if (!CrossCompiling)
+# endif
+ get_libc_version (inFile);
+# if defined CROSSCOMPILE
+ else {
+ fprintf(inFile,"#define DefaultLinuxCLibMajorVersion %d\n",
+ glibc_major);
+ fprintf(inFile,"#define DefaultLinuxCLibMinorVersion %d\n",
+ glibc_minor);
+ fprintf(inFile,"#define DefaultLinuxCLibTeenyVersion 0\n");
+ }
+# endif
+# endif /* linux || __GLIBC__ */
+# if defined CROSSCOMPILE || defined linux || defined(__GLIBC__)
+# if defined CROSSCOMPILE && defined(__linux__)
+ if (sys == LinuX)
+# endif
+ get_ld_version(inFile);
+# endif
+# if defined (sun) && defined(SVR4)
+ get_sun_compiler_versions (inFile);
+# endif
+# if defined CROSSCOMPILE || defined __GNUC__
+# if defined CROSSCOMPILE
+ if (gnu_c)
+# endif
+ {
+ char name[PATH_MAX];
+ if (get_gcc(name)) {
+ get_gcc_version (inFile,name);
+# if defined CROSSCOMPILE || !defined __UNIXOS2__
+# if defined CROSSCOMPILE
+ if (sys != emx)
+# endif
+ get_gcc_incdir(inFile,name);
+# endif
+ }
+ }
+# endif
+# if defined __FreeBSD__
+# if defined CROSSCOMPILE
+ if (sys == freeBSD)
+# endif
+ get_binary_format(inFile);
+# endif
+ }
+#endif /* !WIN32 && !__UNIXOS2__*/
+#if defined WIN32
+# ifdef CROSSCOMPILE
+ else if (sys == win32 && !CrossCompiling)
+# endif
+ {
+ OSVERSIONINFO osvi;
+ static char* os_names[] = { "Win32s", "Windows 95", "Windows NT" };
+
+ memset(&osvi, 0, sizeof(OSVERSIONINFO));
+ osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ GetVersionEx (&osvi);
+
+ fprintf (inFile, "#define DefaultOSName Microsoft %s\n",
+ os_names[osvi.dwPlatformId]);
+
+ fprintf(inFile, "#define DefaultOSMajorVersion %d\n", osvi.dwMajorVersion);
+ fprintf(inFile, "#define DefaultOSMinorVersion %d\n", osvi.dwMinorVersion);
+ fprintf(inFile, "#define DefaultOSTeenyVersion %d\n",
+ osvi.dwBuildNumber & 0xFFFF);
+ }
+#endif /* WIN32 */
+#ifdef CROSSCOMPILE
+ else if (sys == emx)
+#endif
+#if defined CROSSCOMPILE || defined __UNIXOS2__
+ {
+ fprintf(inFile, "#define DefaultOSMajorVersion 4\n");
+ fprintf(inFile, "#define DefaultOSMinorVersion 0\n");
+ fprintf(inFile, "#define DefaultOSTeenyVersion 0\n");
+ }
+#endif /* EMX */
+#if defined(__OpenBSD__) || defined(__DragonFly__)
+ get_stackprotector(inFile);
+#endif
+ return FALSE;
+}
+
+void
+cppit(char *imakefile, char *template, char *masterc,
+ FILE *outfd, char *outfname)
+{
+ FILE *inFile;
+
+ haveImakefileC = TRUE;
+ inFile = fopen(masterc, "w");
+ if (inFile == NULL)
+ LogFatal("Cannot open %s for output.", masterc);
+ if (fprintf(inFile, "%s\n", ImakefileCHeader) < 0 ||
+ define_os_defaults(inFile) ||
+ optional_include(inFile, "IMAKE_LOCAL_DEFINES", "localdefines") ||
+ optional_include(inFile, "IMAKE_ADMIN_DEFINES", "admindefines") ||
+ fprintf(inFile, "#define %s <%s>\n", ImakeDefSym, imakefile) < 0 ||
+ fprintf(inFile, LocalDefineFmt, ImakeTmplSym, template) < 0 ||
+ fprintf(inFile, IncludeFmt, ImakeTmplSym) < 0 ||
+ optional_include(inFile, "IMAKE_ADMIN_MACROS", "adminmacros") ||
+ optional_include(inFile, "IMAKE_LOCAL_MACROS", "localmacros") ||
+ fflush(inFile) ||
+ fclose(inFile))
+ LogFatal("Cannot write to %s.", masterc);
+ /*
+ * Fork and exec cpp
+ */
+ doit(outfd, cpp, cpp_argv);
+ CleanCppOutput(outfd, outfname);
+}
+
+void
+makeit(void)
+{
+ doit(NULL, make_argv[0], make_argv);
+}
+
+char *
+CleanCppInput(char *imakefile)
+{
+ FILE *outFile = NULL;
+ FILE *inFile;
+ char *buf, /* buffer for file content */
+ *pbuf, /* walking pointer to buf */
+ *punwritten, /* pointer to unwritten portion of buf */
+ *ptoken, /* pointer to # token */
+ *pend, /* pointer to end of # token */
+ savec; /* temporary character holder */
+ int count;
+ struct stat st;
+
+ /*
+ * grab the entire file.
+ */
+ if (!(inFile = fopen(imakefile, "r")))
+ LogFatal("Cannot open %s for input.", imakefile);
+ if (fstat(fileno(inFile), &st) < 0)
+ LogFatal("Cannot stat %s for size.", imakefile);
+ buf = Emalloc((int)st.st_size+3);
+ count = fread(buf + 2, 1, st.st_size, inFile);
+ if (count == 0 && st.st_size != 0)
+ LogFatal("Cannot read %s:", imakefile);
+ fclose(inFile);
+ buf[0] = '\n';
+ buf[1] = '\n';
+ buf[count + 2] = '\0';
+
+ punwritten = pbuf = buf + 2;
+ while (*pbuf) {
+ /* for compatibility, replace make comments for cpp */
+ if (*pbuf == '#' && pbuf[-1] == '\n' && pbuf[-2] != '\\') {
+ ptoken = pbuf+1;
+ while (*ptoken == ' ' || *ptoken == '\t')
+ ptoken++;
+ pend = ptoken;
+ while (*pend && *pend != ' ' && *pend != '\t' && *pend != '\n' && *pend != '\r')
+ pend++;
+ savec = *pend;
+ *pend = '\0';
+ if (strcmp(ptoken, "define") &&
+ strcmp(ptoken, "if") &&
+ strcmp(ptoken, "ifdef") &&
+ strcmp(ptoken, "ifndef") &&
+ strcmp(ptoken, "include") &&
+ strcmp(ptoken, "line") &&
+ strcmp(ptoken, "else") &&
+ strcmp(ptoken, "elif") &&
+ strcmp(ptoken, "endif") &&
+ strcmp(ptoken, "error") &&
+ strcmp(ptoken, "pragma") &&
+ strcmp(ptoken, "undef")) {
+ if (outFile == NULL) {
+#ifdef HAS_MKSTEMP
+ int fd;
+#endif
+ tmpImakefile = Strdup(tmpImakefile);
+#ifndef HAS_MKSTEMP
+ if (mktemp(tmpImakefile) == NULL ||
+ (outFile = fopen(tmpImakefile, "w+")) == NULL) {
+ LogFatal("Cannot open %s for write.",
+ tmpImakefile);
+ }
+#else
+ fd=mkstemp(tmpImakefile);
+ if (fd != -1)
+ outFile = fdopen(fd, "w");
+ if (outFile == NULL) {
+ if (fd != -1) {
+ unlink(tmpImakefile); close(fd);
+ }
+ LogFatal("Cannot open %s for write.",
+ tmpImakefile);
+ }
+#endif
+ }
+ writetmpfile(outFile, punwritten, pbuf-punwritten,
+ tmpImakefile);
+ if (ptoken > pbuf + 1)
+ writetmpfile(outFile, "XCOMM", 5, tmpImakefile);
+ else
+ writetmpfile(outFile, "XCOMM ", 6, tmpImakefile);
+ punwritten = pbuf + 1;
+ }
+ *pend = savec;
+ }
+ pbuf++;
+ }
+ if (outFile) {
+ writetmpfile(outFile, punwritten, pbuf-punwritten, tmpImakefile);
+ fclose(outFile);
+
+ return tmpImakefile;
+ }
+
+ return(imakefile);
+}
+
+void
+CleanCppOutput(FILE *tmpfd, char *tmpfname)
+{
+ char *input;
+ int blankline = 0;
+
+ while((input = ReadLine(tmpfd, tmpfname))) {
+ if (isempty(input)) {
+ if (blankline++)
+ continue;
+#ifdef CROSSCOMPILE
+ if (fixup_whitespace)
+#endif
+#if defined CROSSCOMPILE || defined FIXUP_CPP_WHITESPACE
+ KludgeResetRule();
+#endif
+ } else {
+ blankline = 0;
+#ifdef CROSSCOMPILE
+ if (fixup_whitespace)
+#endif
+#if defined CROSSCOMPILE || defined FIXUP_CPP_WHITESPACE
+ KludgeOutputLine(&input);
+#endif
+ writetmpfile(tmpfd, input, strlen(input), tmpfname);
+ }
+ writetmpfile(tmpfd, "\n", 1, tmpfname);
+ }
+ fflush(tmpfd);
+#ifdef NFS_STDOUT_BUG
+ /*
+ * On some systems, NFS seems to leave a large number of nulls at
+ * the end of the file. Ralph Swick says that this kludge makes the
+ * problem go away.
+ */
+ ftruncate (fileno(tmpfd), (off_t)ftell(tmpfd));
+#endif
+}
+
+/*
+ * Determine if a line has nothing in it. As a side effect, we trim white
+ * space from the end of the line. Cpp magic cookies are also thrown away.
+ * "XCOMM" token is transformed to "#".
+ */
+boolean
+isempty(char *line)
+{
+ char *pend;
+
+ /*
+ * Check for lines of the form
+ * # n "...
+ * or
+ * # line n "...
+ */
+ if (*line == '#') {
+ pend = line+1;
+ if (*pend == ' ')
+ pend++;
+ if (*pend == 'l' && pend[1] == 'i' && pend[2] == 'n' &&
+ pend[3] == 'e' && pend[4] == ' ')
+ pend += 5;
+ if (isdigit(*pend)) {
+ do {
+ pend++;
+ } while (isdigit(*pend));
+ if (*pend == '\n' || *pend == '\0')
+ return(TRUE);
+ if (*pend++ == ' ' && *pend == '"')
+ return(TRUE);
+ }
+ while (*pend)
+ pend++;
+ } else {
+ for (pend = line; *pend; pend++) {
+ if (*pend == 'X' && pend[1] == 'C' && pend[2] == 'O' &&
+ pend[3] == 'M' && pend[4] == 'M' &&
+ (pend == line || pend[-1] == ' ' || pend[-1] == '\t' || pend[-1] == '\r') &&
+ (pend[5] == ' ' || pend[5] == '\t' || pend[5] == '\r' || pend[5] == '\0'))
+ {
+ *pend = '#';
+ memmove(pend+1, pend+5, strlen(pend+5)+1);
+ }
+#ifdef CROSSCOMPILE
+ if (magic_make_vars)
+#endif
+ {
+#if defined CROSSCOMPILE || defined MAGIC_MAKE_VARS
+ if (*pend == 'X' && pend[1] == 'V' && pend[2] == 'A' &&
+ pend[3] == 'R')
+ {
+ char varbuf[5];
+ int i;
+
+ if (pend[4] == 'd' && pend[5] == 'e' && pend[6] == 'f' &&
+ pend[7] >= '0' && pend[7] <= '9')
+ {
+ i = pend[7] - '0';
+ sprintf(varbuf, "%0.4d", xvariable);
+ strncpy(pend+4, varbuf, 4);
+ xvariables[i] = xvariable;
+ xvariable = (xvariable + 1) % 10000;
+ }
+ else if (pend[4] == 'u' && pend[5] == 's' &&
+ pend[6] == 'e' && pend[7] >= '0' &&
+ pend[7] <= '9')
+ {
+ i = pend[7] - '0';
+ sprintf(varbuf, "%0.4d", xvariables[i]);
+ strncpy(pend+4, varbuf, 4);
+ }
+ }
+#endif
+ }
+ }
+ }
+ while (--pend >= line && (*pend == ' ' || *pend == '\t' || *pend == '\r')) ;
+ pend[1] = '\0';
+ return (*line == '\0');
+}
+
+/*ARGSUSED*/
+char *
+ReadLine(FILE *tmpfd, char *tmpfname)
+{
+ static boolean initialized = FALSE;
+ static char *buf, *pline, *end;
+ register char *p1, *p2;
+
+ if (! initialized) {
+#ifdef WIN32
+ FILE *fp = tmpfd;
+#endif
+ int total_red;
+ struct stat st;
+
+ /*
+ * Slurp it all up.
+ */
+ fseek(tmpfd, 0, 0);
+ if (fstat(fileno(tmpfd), &st) < 0)
+ LogFatal("cannot stat %s for size", tmpMakefile);
+ pline = buf = Emalloc((int)st.st_size+1);
+ total_red = fread(buf, 1, st.st_size, tmpfd);
+ if (total_red == 0 && st.st_size != 0)
+ LogFatal("cannot read %s", tmpMakefile);
+ end = buf + total_red;
+ *end = '\0';
+ fseek(tmpfd, 0, 0);
+#if defined(SYSV) || defined(WIN32) || defined(USE_FREOPEN)
+ tmpfd = freopen(tmpfname, "w+", tmpfd);
+#ifdef WIN32
+ if (! tmpfd) /* if failed try again */
+ tmpfd = freopen(tmpfname, "w+", fp);
+#endif
+ if (! tmpfd)
+ LogFatal("cannot reopen %s\n", tmpfname);
+#else /* !SYSV */
+ ftruncate(fileno(tmpfd), (off_t) 0);
+#endif /* !SYSV */
+ initialized = TRUE;
+ fprintf (tmpfd, "# Makefile generated by imake - do not edit!\n");
+ fprintf (tmpfd, "# %s\n",
+ "$Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $");
+ }
+
+ for (p1 = pline; p1 < end; p1++) {
+ if (*p1 == '@' && *(p1+1) == '@'
+ /* ignore ClearCase version-extended pathnames */
+ && !(p1 != pline && !isspace(*(p1-1)) && *(p1+2) == '/'))
+ { /* soft EOL */
+ *p1++ = '\0';
+ p1++; /* skip over second @ */
+ break;
+ }
+ else if (*p1 == '\n') { /* real EOL */
+#if defined CROSSCOMPILE || defined WIN32
+# if defined CROSSCOMPILE
+ if (sys == win32)
+# endif
+ {
+ if (p1 > pline && p1[-1] == '\r')
+ p1[-1] = '\0';
+ }
+#endif
+ *p1++ = '\0';
+ break;
+ }
+ }
+
+ /*
+ * return NULL at the end of the file.
+ */
+ p2 = (pline == p1 ? NULL : pline);
+ pline = p1;
+ return(p2);
+}
+
+void
+writetmpfile(FILE *fd, char *buf, int cnt, char *fname)
+{
+ if (fwrite(buf, sizeof(char), cnt, fd) == -1)
+ LogFatal("Cannot write to %s.", fname);
+}
+
+char *
+Emalloc(int size)
+{
+ char *p;
+
+ if ((p = malloc(size)) == NULL)
+ LogFatalI("Cannot allocate %d bytes", size);
+ return(p);
+}
+
+#if defined CROSSCOMPILE || defined FIXUP_CPP_WHITESPACE
+void
+KludgeOutputLine(char **pline)
+{
+ char *p = *pline;
+ char quotechar = '\0';
+
+ switch (*p) {
+ case '#': /*Comment - ignore*/
+ break;
+ case '\t': /*Already tabbed - ignore it*/
+ break;
+ case ' ': /*May need a tab*/
+ default:
+#ifdef CROSSCOMPILE
+ if (inline_syntax)
+#endif
+#if defined CROSSCOMPILE || defined INLINE_SYNTAX
+ {
+ if (*p == '<' && p[1] == '<') { /* inline file close */
+ InInline--;
+ InRule = TRUE;
+ break;
+ }
+ }
+#endif
+ /*
+ * The following cases should not be treated as beginning of
+ * rules:
+ * variable := name (GNU make)
+ * variable = .*:.* (':' should be allowed as value)
+ * sed 's:/a:/b:' (: used in quoted values)
+ */
+ for (; *p; p++) {
+ if (quotechar) {
+ if (quotechar == '\\' ||
+ (*p == quotechar &&
+# if defined CROSSCOMPILE || defined WIN32
+ (
+# if defined CROSSCOMPILE
+ (sys == win32) &&
+# endif
+ quotechar != ')') &&
+# endif
+ p[-1] != '\\'))
+ quotechar = '\0';
+ continue;
+ }
+ switch (*p) {
+ case '\\':
+ case '"':
+ case '\'':
+ quotechar = *p;
+ break;
+ case '(':
+ quotechar = ')';
+ break;
+ case '{':
+ quotechar = '}';
+ break;
+ case '[':
+ quotechar = ']';
+ break;
+ case '=':
+#ifdef CROSSCOMPILE
+ if (remove_cpp_leadspace)
+#endif
+#if defined CROSSCOMPILE || defined REMOVE_CPP_LEADSPACE
+ {
+ if (!InRule && **pline == ' ') {
+ while (**pline == ' ')
+ (*pline)++;
+ }
+ }
+#endif
+ goto breakfor;
+#if defined CROSSCOMPILE || defined INLINE_SYNTAX
+ case '<':
+ if (inline_syntax) {
+ if (p[1] == '<') /* inline file start */
+ InInline++;
+ }
+ break;
+#endif
+ case ':':
+ if (p[1] == '=')
+ goto breakfor;
+ while (**pline == ' ')
+ (*pline)++;
+ InRule = TRUE;
+ return;
+ }
+ }
+breakfor:
+ if (InRule && **pline == ' ')
+ **pline = '\t';
+ break;
+ }
+}
+
+void
+KludgeResetRule(void)
+{
+ InRule = FALSE;
+}
+#endif
+char *
+Strdup(char *cp)
+{
+ char *new = Emalloc(strlen(cp) + 1);
+
+ strcpy(new, cp);
+ return new;
+}
+
+#ifdef CROSSCOMPILE
+char*
+CrossCompileCPP(void)
+{
+ char *cpp, *c;
+ int len ;
+ if (crosscompile_use_cc_e)
+ AddCppArg("-E");
+
+ cpp = strrchr(crosscompile_cpp,'/');
+ if (!cpp)
+ cpp = crosscompile_cpp;
+ else
+ cpp++;
+
+ len = strlen(cpp) + strlen(CrossCompileDir) + 2;
+ c = Emalloc(len);
+
+ (void)snprintf(c, len,"%s/%s",CrossCompileDir,cpp);
+
+ return c;
+}
+
+#endif
+
+#ifdef CROSSCOMPILE
+static void
+get_cross_compile_dir(FILE *inFile)
+{
+ fprintf(inFile, "#define CrossCompileDir %s\n",
+ CrossCompileDir);
+ fprintf(inFile, "#define CrossCompiling YES\n");
+}
+#endif
diff --git a/nx-X11/config/imake/imake.man b/nx-X11/config/imake/imake.man
new file mode 100644
index 000000000..34d5b9403
--- /dev/null
+++ b/nx-X11/config/imake/imake.man
@@ -0,0 +1,262 @@
+.\" $Xorg: imake.man,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\" $XFree86: imake.man,v 1.8 2001/12/14 19:53:19 dawes Exp $
+.\"
+.TH IMAKE 1 __xorgversion__
+.SH NAME
+imake \- C preprocessor interface to the make utility
+.SH SYNOPSIS
+\fBimake\fP [ \fB\-D\fP\fIdefine\fP ] [ \fB\-I\fP\fIdir\fP ]
+[ \fB\-U\fP\fIdefine\fP ]
+[ \fB\-T\fP\fItemplate\fP ]
+[ \fB\-f\fP \fIfilename\fP ] [ \fB\-C\fP \fIfilename\fP ]
+[ \fB\-s\fP \fIfilename\fP ] [ \fB\-e\fP ]
+[ \fB\-v\fP ]
+.SH DESCRIPTION
+.I Imake
+is used to
+generate \fIMakefiles\fP from a template, a set of \fIcpp\fP macro functions,
+and a per-directory input file called an \fIImakefile\fP. This allows machine
+dependencies (such as compiler options, alternate command names, and special
+\fImake\fP rules) to be kept separate from the descriptions of the
+various items to be built.
+.SH OPTIONS
+The following command line options may be passed to \fIimake\fP:
+.TP 8
+.B \-D\fIdefine\fP
+This option is passed directly to \fIcpp\fP. It is typically used to set
+directory-specific variables. For example, the X Window System uses this
+flag to set \fITOPDIR\fP to the name of the directory containing the top
+of the core distribution and \fICURDIR\fP to the name of the current
+directory, relative to the top.
+.TP 8
+.B \-I\fIdirectory\fP
+This option is passed directly to \fIcpp\fP. It is typically used to
+indicate the directory in which the \fIimake\fP template and configuration
+files may be found.
+.TP 8
+.B \-U\fIdefine\fP
+This option is passed directly to \fIcpp\fP. It is typically used to
+unset variables when debugging \fIimake\fP configuration files.
+.TP 8
+.B \-T\fItemplate\fP
+This option specifies the name of the master template file (which is usually
+located in the directory specified with \fI\-I\fP) used by \fIcpp\fP.
+The default is \fIImake.tmpl\fP.
+.TP 8
+.B \-f \fIfilename\fP
+This option specifies the name of the per-directory input file. The default
+is \fIImakefile\fP.
+.TP 8
+.B \-C \fIfilename\fP
+This option specifies the name of the .c file that is constructed in the
+current directory. The default is \fIImakefile.c\fP.
+.TP 8
+.B \-s \fIfilename\fP
+This option specifies the name of the \fImake\fP description file to be
+generated but \fImake\fP should not be invoked.
+If the \fIfilename\fP is a dash (\-), the
+output is written to \fIstdout\fP. The default is to generate, but
+not execute, a \fIMakefile\fP.
+.TP 8
+.B \-e
+This option indicates the \fIimake\fP should execute the generated
+\fIMakefile\fP. The default is to leave this to the user.
+.TP 8
+.B \-v
+This option indicates that \fIimake\fP should print the \fIcpp\fP command line
+that it is using to generate the \fIMakefile\fP.
+.SH "HOW IT WORKS"
+\fIImake\fP invokes \fIcpp\fP with any \fI\-I\fP or \fI\-D\fP flags passed
+on the command line and passes the name of a file containing the
+following 3 lines:
+.sp
+.nf
+\& #define IMAKE_TEMPLATE "Imake.tmpl"
+\& #define INCLUDE_IMAKEFILE <Imakefile>
+\& #include IMAKE_TEMPLATE
+.fi
+.sp
+where \fIImake.tmpl\fP and \fIImakefile\fP may be overridden by the
+\fI\-T\fP and \fI\-f\fP command options, respectively.
+.PP
+The IMAKE_TEMPLATE typically
+reads in a file containing machine-dependent parameters
+(specified as \fIcpp\fP symbols), a site-specific parameters file,
+a file defining variables,
+a file
+containing \fIcpp\fP macro functions for generating \fImake\fP rules, and
+finally the \fIImakefile\fP (specified by INCLUDE_IMAKEFILE) in the current
+directory. The \fIImakefile\fP uses the macro functions to indicate what
+targets should be built; \fIimake\fP takes care of generating the appropriate
+rules.
+.PP
+.I Imake
+configuration files contain two types of variables, imake variables
+and make variables. The imake variables are interpreted by cpp when
+.I imake
+is run. By convention they are mixed case. The make variables are
+written into the
+.I Makefile
+for later interpretation by
+.I make.
+By convention make variables are upper case.
+.PP
+The rules file (usually named \fIImake.rules\fP in the configuration
+directory) contains a variety of \fIcpp\fP macro functions that are
+configured according to the current platform. \fIImake\fP replaces
+any occurrences of the string ``@@'' with a newline to allow macros that
+generate more than one line of \fImake\fP rules.
+For example, the macro
+.ta 1i 1.6i 5i
+.nf
+
+\& #define program_target(program, objlist) @@\e
+ program: objlist @@\e
+ $(CC) \-o $@ objlist $(LDFLAGS)
+
+.fi
+when called with
+.I "program_target(foo, foo1.o foo2.o)"
+will expand to
+.nf
+
+ foo: foo1.o foo2.o
+ $(CC) \-o $@ foo1.o foo2.o $(LDFLAGS)
+
+.fi
+.PP
+\fIImake\fP also replaces any occurrences of the word ``XCOMM'' with
+the character ``#'' to permit placing comments in the Makefile without
+causing ``invalid directive'' errors from the preprocessor.
+.PP
+Some complex \fIimake\fP macros require generated \fImake\fP variables
+local to each invocation of the macro, often because their value
+depends on parameters passed to the macro.
+Such variables can be created by using an \fIimake\fP variable
+of the form \fBXVARdef\fP\fIn\fP, where \fIn\fP is a single digit.
+A unique \fImake\fP variable will be substituted. Later occurrences
+of the variable \fBXVARuse\fP\fIn\fP will
+be replaced by the variable created by the corresponding
+\fBXVARdef\fP\fIn\fP.
+.PP
+On systems whose \fIcpp\fP reduces multiple tabs and spaces to a single
+space, \fIimake\fP attempts to put back any necessary tabs (\fImake\fP is
+very picky about the difference between tabs and spaces). For this reason,
+colons (:) in command lines must be preceded by a backslash (\\).
+.SH "USE WITH THE X WINDOW SYSTEM"
+The X Window System uses \fIimake\fP extensively, for both full builds within
+the source tree and external software. As mentioned above, two special
+variables, \fITOPDIR\fP and \fICURDIR,\fP are set to make referencing files
+using relative path names easier. For example, the following command is
+generated automatically to build the \fIMakefile\fP in the directory
+\fIlib/X/\fP (relative to the top of the sources):
+.sp
+.nf
+ % ../.././config/imake \-I../.././config \\
+ \-DTOPDIR=../../. \-DCURDIR=./lib/X
+.fi
+.sp
+When building X programs outside the source tree, a special symbol
+\fIUseInstalled\fP is defined and \fITOPDIR\fP and
+\fICURDIR\fP are omitted. If the configuration files have been
+properly installed, the script \fIxmkmf\fP(1) may be used.
+.SH "INPUT FILES"
+Here is a summary of the files read by
+.I imake
+as used by X.
+The indentation shows what files include what other files.
+.nf
+.sp
+.ta 3i
+ Imake.tmpl generic variables
+ site.def site-specific, BeforeVendorCF defined
+ *.cf machine-specific
+ *Lib.rules shared library rules
+ site.def site-specific, AfterVendorCF defined
+ Imake.rules rules
+ Project.tmpl X-specific variables
+ *Lib.tmpl shared library variables
+ Imakefile
+ Library.tmpl library rules
+ Server.tmpl server rules
+ Threads.tmpl multi-threaded rules
+.fi
+.LP
+Note that \fIsite.def\fP gets included twice, once before the
+\fI*.cf\fP file and once after. Although most site customizations
+should be specified after the \fI*.cf\fP file, some, such as the
+choice of compiler, need to be specified before, because other
+variable settings may depend on them.
+.LP
+The first time \fIsite.def\fP is included, the variable BeforeVendorCF
+is defined, and the second time, the variable AfterVendorCF is
+defined. All code in \fIsite.def\fP should be inside an #ifdef for
+one of these symbols.
+.SH FILES
+.ta 3i
+Imakefile.c temporary input file for cpp
+.br
+/tmp/Imf.XXXXXX temporary Makefile for -s
+.br
+/tmp/IIf.XXXXXX temporary Imakefile if specified Imakefile uses # comments
+.br
+__cpp__ default C preprocessor
+.DT
+.SH "SEE ALSO"
+make(1), xmkmf(1)
+.br
+S. I. Feldman,
+.I
+Make \(em A Program for Maintaining Computer Programs
+.SH "ENVIRONMENT VARIABLES"
+The following environment variables may be set, however their use is not
+recommended as they introduce dependencies that are not readily apparent
+when \fIimake\fP is run:
+.TP 5
+.B IMAKEINCLUDE
+If defined, this specifies a ``\-I'' include argument to pass to the
+C preprocessor. E.g., ``\-I/usr/X11/config''.
+.TP 5
+.B IMAKECPP
+If defined, this should be a valid path to a preprocessor program.
+E.g., ``/usr/local/cpp''.
+By default,
+.I imake
+will use cc -E or __cpp__, depending on the OS specific configuration.
+.TP 5
+.B IMAKEMAKE
+If defined, this should be a valid path to a make program,
+such as ``/usr/local/make''.
+By default,
+.I imake
+will use whatever
+.I make
+program is found using
+.I execvp(3).
+This variable is only used if the ``\-e'' option is specified.
+.SH "AUTHOR"
+Todd Brunhoff, Tektronix and MIT Project Athena; Jim Fulton, MIT X Consortium
diff --git a/nx-X11/config/imake/imakemdep.h b/nx-X11/config/imake/imakemdep.h
new file mode 100644
index 000000000..bacc3af54
--- /dev/null
+++ b/nx-X11/config/imake/imakemdep.h
@@ -0,0 +1,1532 @@
+/* $Xorg: imakemdep.h,v 1.6 2001/02/09 02:03:16 xorgcvs Exp $ */
+/* $XdotOrg: xc/config/imake/imakemdep.h,v 1.12 2005/11/08 06:33:24 jkj Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/imake/imakemdep.h,v 3.71 2003/06/12 14:12:26 eich Exp $ */
+
+
+/*
+ * This file contains machine-dependent constants for the imake utility.
+ * When porting imake, read each of the steps below and add in any necessary
+ * definitions. In general you should *not* edit ccimake.c or imake.c!
+ */
+
+#ifdef __UNIXOS2__
+#define lstat stat
+#endif
+
+#ifdef CCIMAKE
+/*
+ * Step 1: imake_ccflags
+ * Define any special flags that will be needed to get imake.c to compile.
+ * These will be passed to the compile along with the contents of the
+ * make variable BOOTSTRAPCFLAGS.
+ */
+#if defined(clipper) || defined(__clipper__)
+#define imake_ccflags "-O -DSYSV -DBOOTSTRAPCFLAGS=-DSYSV"
+#endif
+
+#ifdef hpux
+#ifdef hp9000s800
+#define imake_ccflags "-DSYSV"
+#else
+#define imake_ccflags "-Wc,-Nd4000,-Ns3000 -DSYSV"
+#endif
+#endif
+
+#if defined(macII) || defined(_AUX_SOURCE)
+#define imake_ccflags "-DmacII -DSYSV"
+#endif
+
+#ifdef stellar
+#define imake_ccflags "-DSYSV"
+#endif
+
+/*
+ * SCO UnixWare and OpenServer 6 are both System V Release 5 based OSes.
+ * The native C compiler doesn't assert __UNIXWARE__ but gcc does, so
+ * we don't redefine it if we are using gcc (as it sets it to a specific
+ * value). On OpenServer 6, which is a multi-ABI world, if you attempt
+ * to build with -Kosr, then the C compiler will assert __OPENSERVER__
+ * and set it to the value 507. That indicates an OSR5 compile, and
+ * is handled below.
+ */
+
+#if defined(__UNIXWARE__) || defined(__USLC__) || defined(Oki) || defined(NCR)
+# ifdef imake_ccflags
+# undef imake_ccflags
+# endif
+# ifdef __UNIXWARE__
+# ifndef __GNUC__
+# define imake_ccflags "-Xa -DSVR4 -DSVR5 -D__UNIXWARE__"
+# else
+# define imake_ccflags "-Xa -DSVR4 -DSVR5"
+# endif
+# else
+# define imake_ccflags "-Xa -DSVR4"
+# endif
+#endif
+
+/* SCO may define __USLC__ so put this after the USL check */
+#if defined(M_UNIX) || defined(_SCO_DS) || defined(__OPENSERVER__)
+# ifdef imake_ccflags
+# undef imake_ccflags
+# endif
+# define imake_ccflags "-DSYSV -DSCO325 -D__SCO__"
+#endif
+
+#ifdef sony
+#if defined(SYSTYPE_SYSV) || defined(_SYSTYPE_SYSV)
+#define imake_ccflags "-DSVR4"
+#else
+#include <sys/param.h>
+#if NEWSOS < 41
+#define imake_ccflags "-Dbsd43 -DNOSTDHDRS"
+#else
+#if NEWSOS < 42
+#define imake_ccflags "-Dbsd43"
+#endif
+#endif
+#endif
+#endif
+#ifdef _CRAY
+#define imake_ccflags "-DSYSV -DUSG"
+#endif
+
+#if defined(_IBMR2) || defined(aix)
+#define imake_ccflags "-Daix -DSYSV"
+#endif
+
+#ifdef Mips
+# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
+# define imake_ccflags "-DBSD43"
+# else
+# define imake_ccflags "-DSYSV"
+# endif
+#endif
+
+#ifdef is68k
+#define imake_ccflags "-Dluna -Duniosb"
+#endif
+
+#ifdef SYSV386
+# ifdef SVR4
+# define imake_ccflags "-Xa -DSVR4"
+# else
+# define imake_ccflags "-DSYSV"
+# endif
+#endif
+
+#ifdef SVR4
+# ifdef i386
+# define imake_ccflags "-Xa -DSVR4"
+# endif
+#endif
+
+#ifdef SYSV
+# ifdef i386
+# define imake_ccflags "-DSYSV"
+# endif
+#endif
+
+#if defined(Lynx) || defined(__Lynx__)
+#define imake_ccflags "-DLynx"
+#endif /* Lynx */
+
+#ifdef __convex__
+#define imake_ccflags "-fn -tm c1"
+#endif
+
+#ifdef apollo
+#define imake_ccflags "-DX_NOT_POSIX"
+#endif
+
+#ifdef WIN32
+#ifdef __GNUC__
+#define imake_ccflags "-D__STDC__"
+#else
+#if _MSC_VER < 1000
+#define imake_ccflags "-nologo -batch -D__STDC__"
+#else
+#define imake_ccflags "-nologo -D__STDC__"
+#endif
+#endif
+#endif
+
+#ifdef __uxp__
+#define imake_ccflags "-DSVR4 -DANSICPP"
+#endif
+
+#ifdef __sxg__
+#define imake_ccflags "-DSYSV -DUSG -DNOSTDHDRS"
+#endif
+
+#ifdef _SEQUENT_
+#define imake_ccflags "-Xa -DSVR4"
+#endif
+
+#if defined(SX) || defined(PC_UX)
+#define imake_ccflags "-DSYSV"
+#endif
+
+#ifdef nec_ews_svr2
+#define imake_ccflags "-DUSG"
+#endif
+
+#if defined(nec_ews_svr4) || defined(_nec_ews_svr4) || defined(_nec_up) || defined(_nec_ft)
+#define imake_ccflags "-DSVR4"
+#endif
+
+#if defined(MACH) && !defined(__GNU__)
+#define imake_ccflags "-DNOSTDHDRS"
+#endif
+
+/* this is for OS/2 under UNIXOS2. This won't work with DOS */
+#if defined(__UNIXOS2__)
+#define imake_ccflags "-DBSD43"
+#endif
+
+#if defined(__QNX__) && !defined(__QNXNTO__)
+#define imake_ccflags "-D__QNX__ -D_i386"
+#endif
+
+#if defined(__QNXNTO__)
+#define imake_ccflags "-D__QNXNTO__"
+#endif
+
+#else /* not CCIMAKE */
+#ifndef MAKEDEPEND
+/*
+ * Step 2: dup2
+ * If your OS doesn't have a dup2() system call to duplicate one file
+ * descriptor onto another, define such a mechanism here (if you don't
+ * already fall under the existing category(ies).
+ */
+#if defined(SYSV) && !defined(_CRAY) && !defined(Mips) && !defined(_SEQUENT_) && !defined(__SCO__)
+#define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \
+ fcntl(fd1, F_DUPFD, fd2)))
+#endif
+
+
+/*
+ * Step 3: FIXUP_CPP_WHITESPACE
+ * If your cpp collapses tabs in macro expansions into a single space and
+ * replaces escaped newlines with a space, define this symbol. This will
+ * cause imake to attempt to patch up the generated Makefile by looking
+ * for lines that have colons in them (this is why the rules file escapes
+ * all colons). One way to tell if you need this is to see whether or not
+ * your Makefiles have no tabs in them and lots of @@ strings.
+ */
+#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(__SCO__) || (defined(AMOEBA) && defined(CROSS_COMPILE)) || defined(__QNX__) || defined(__sgi) || defined(__UNIXOS2__) || defined(__UNIXWARE__)
+#define FIXUP_CPP_WHITESPACE
+#endif
+#ifdef WIN32
+#define REMOVE_CPP_LEADSPACE
+#define INLINE_SYNTAX
+#define MAGIC_MAKE_VARS
+#endif
+#ifdef __minix_vmd
+#define FIXUP_CPP_WHITESPACE
+#endif
+
+#if defined(Lynx)
+/* On LynxOS 2.4.0 imake gets built with the old "legacy"
+ * /bin/cc which has a rather pedantic builtin preprocessor.
+ * Using a macro which is not #defined (as in Step 5
+ * below) flags an *error*
+ */
+#define __NetBSD_Version__ 0
+#endif
+
+/*
+ * Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP
+ * If you want to use cc -E instead of cpp, define USE_CC_E.
+ * If use cc -E but want a different compiler, define DEFAULT_CC.
+ * If the cpp you need is not in /lib/cpp, define DEFAULT_CPP.
+ */
+#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP)
+
+#if defined(__APPLE__)
+#define DEFAULT_CPP "/usr/bin/cpp"
+#define DEFAULT_CC "cc"
+#endif
+#if defined(Lynx) || defined(__Lynx__)
+#define DEFAULT_CC "gcc"
+#define USE_CC_E
+#endif
+#ifdef hpux
+#define USE_CC_E
+#endif
+#ifdef WIN32
+#define USE_CC_E
+#ifdef __GNUC__
+#define DEFAULT_CC "gcc"
+#else
+#define DEFAULT_CC "cl"
+#endif
+#endif
+#ifdef apollo
+#define DEFAULT_CPP "/usr/lib/cpp"
+#endif
+#if defined(clipper) || defined(__clipper__)
+#define DEFAULT_CPP "/usr/lib/cpp"
+#endif
+#if defined(_IBMR2) && !defined(DEFAULT_CPP)
+#define DEFAULT_CPP "/usr/ccs/lib/cpp"
+#endif
+#if defined(sun) && (defined(SVR4) || defined(__svr4__) || defined(__SVR4) || defined(__sol__))
+#define DEFAULT_CPP "/usr/ccs/lib/cpp"
+#endif
+#ifdef __bsdi__
+#define DEFAULT_CPP "/usr/bin/cpp"
+#endif
+#ifdef __uxp__
+#define DEFAULT_CPP "/usr/ccs/lib/cpp"
+#endif
+#ifdef __sxg__
+#define DEFAULT_CPP "/usr/lib/cpp"
+#endif
+#ifdef _CRAY
+#define DEFAULT_CPP "/lib/pcpp"
+#endif
+#if defined(__386BSD__)
+#define DEFAULT_CPP "/usr/libexec/cpp"
+#endif
+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+#define USE_CC_E
+#endif
+#if defined(__sgi) && defined(__ANSI_CPP__)
+#define USE_CC_E
+#endif
+#if defined(MACH) && !defined(__GNU__)
+#define USE_CC_E
+#endif
+#ifdef __minix_vmd
+#define DEFAULT_CPP "/usr/lib/cpp"
+#endif
+#if defined(__UNIXOS2__)
+/* expects cpp in PATH */
+#define DEFAULT_CPP "cpp"
+#endif
+#ifdef __CYGWIN__
+#define DEFAULT_CC "gcc"
+#define DEFAULT_CPP "/usr/bin/cpp"
+#endif
+#if defined (__QNX__)
+#ifdef __QNXNTO__
+#define DEFAULT_CPP "/usr/bin/cpp"
+#else
+#define DEFAULT_CPP "/usr/X11R6/bin/cpp"
+#endif
+#endif
+#if defined(__GNUC__) && !defined(USE_CC_E)
+#define USE_CC_E
+#ifndef DEFAULT_CC
+#define DEFAULT_CC "gcc"
+#endif
+#endif
+
+#endif /* !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP) */
+/*
+ * Step 5: cpp_argv
+ * The following table contains the flags that should be passed
+ * whenever a Makefile is being generated. If your preprocessor
+ * doesn't predefine any unique symbols, choose one and add it to the
+ * end of this table. Then, do the following:
+ *
+ * a. Use this symbol in Imake.cf when setting MacroFile.
+ * b. Put this symbol in the definition of BootstrapCFlags in your
+ * <platform>.cf file.
+ * c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol"
+ * to the end of the command line.
+ *
+ * Note that you may define more than one symbol (useful for platforms
+ * that support multiple operating systems).
+ */
+
+#define ARGUMENTS 50 /* number of arguments in various arrays */
+#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP)
+char *cpp_argv[ARGUMENTS] = {
+ "cc", /* replaced by the actual program to exec */
+ "-I.", /* add current directory to include path */
+#if !defined(__NetBSD_Version__) || __NetBSD_Version__ < 103080000
+#ifdef unix
+ "-Uunix", /* remove unix symbol so that filename unix.c okay */
+#endif
+#endif
+#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
+ defined(__FreeBSD__) || defined(__DragonFly__) || defined(MACH) || \
+ defined(linux) || defined(__GNU__) || defined(__bsdi__) || \
+ defined(__GNUC__) || defined(__GLIBC__)
+# ifdef __i386__
+ "-D__i386__",
+# if defined(__GNUC__) && (__GNUC__ >= 3)
+ "-m32",
+# endif
+# endif
+# ifdef __i486__
+ "-D__i486__",
+# endif
+# ifdef __i586__
+ "-D__i586__",
+# endif
+# ifdef __i686__
+ "-D__i686__",
+# endif
+# ifdef __k6__
+ "-D__k6__",
+# endif
+# ifdef __ia64__
+ "-D__ia64__",
+# endif
+# ifdef __amd64__
+ "-D__amd64__",
+# endif
+# ifdef __x86_64__
+ "-D__amd64__",
+# endif
+# ifdef __s390__
+ "-D__s390__",
+# endif
+# ifdef __alpha__
+ "-D__alpha__",
+# endif
+# ifdef __arm__
+ "-D__arm__",
+# endif
+# ifdef __s390x__
+ "-D__s390x__",
+# endif
+# ifdef __sparc__
+ "-D__sparc__",
+# endif
+# ifdef __m68k__
+ "-D__m68k__",
+# endif
+# ifdef __hppa__
+ "-D__hppa__",
+# endif
+# ifdef __sh__
+ "-D__sh__",
+# endif
+# ifdef __sh3__
+ "-D__sh3__",
+# endif
+# ifdef __SH3__
+ "-D__SH3__",
+# endif
+# ifdef __SH4__
+ "-D__SH4__",
+# endif
+# ifdef __SH4NOFPU__
+ "-D__SH4_NOFPU__",
+# endif
+# ifdef __GNUC__
+ "-traditional",
+# endif
+#endif
+#ifdef M4330
+ "-DM4330", /* Tektronix */
+#endif
+#ifdef M4310
+ "-DM4310", /* Tektronix */
+#endif
+#if defined(macII) || defined(_AUX_SOURCE)
+ "-DmacII", /* Apple A/UX */
+#endif
+#if defined(USL) || defined(__UNIXWARE__) || \
+ (defined(__USLC__) && !defined(_SCO_DS))
+ "-D__UNIXWARE__", /* SCO UnixWare 7 */
+#endif
+#ifdef sony
+ "-Dsony", /* Sony */
+#if !defined(SYSTYPE_SYSV) && !defined(_SYSTYPE_SYSV) && NEWSOS < 42
+ "-Dbsd43",
+#endif
+#endif
+#ifdef _IBMR2
+ "-D_IBMR2", /* IBM RS-6000 (we ensured that aix is defined above */
+#ifndef aix
+#define aix /* allow BOOTSTRAPCFLAGS="-D_IBMR2" */
+#endif
+#endif /* _IBMR2 */
+#ifdef aix
+ "-Daix", /* AIX instead of AOS */
+#ifndef ibm
+#define ibm /* allow BOOTSTRAPCFLAGS="-Daix" */
+#endif
+#endif /* aix */
+#ifdef ibm
+ "-Dibm", /* IBM PS/2 and RT under both AOS and AIX */
+#endif
+#ifdef luna
+ "-Dluna", /* OMRON luna 68K and 88K */
+#ifdef luna1
+ "-Dluna1",
+#endif
+#ifdef luna88k /* need not on UniOS-Mach Vers. 1.13 */
+ "-traditional", /* for some older version */
+#endif /* instead of "-DXCOMM=\\#" */
+#ifdef uniosb
+ "-Duniosb",
+#endif
+#ifdef uniosu
+ "-Duniosu",
+#endif
+#endif /* luna */
+#ifdef _CRAY /* Cray */
+ "-Ucray",
+#endif
+#ifdef Mips
+ "-DMips", /* Define and use Mips for Mips Co. OS/mach. */
+# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
+ "-DBSD43", /* Mips RISCOS supports two environments */
+# else
+ "-DSYSV", /* System V environment is the default */
+# endif
+#endif /* Mips */
+#ifdef MOTOROLA
+ "-DMOTOROLA", /* Motorola Delta Systems */
+# ifdef SYSV
+ "-DSYSV",
+# endif
+# ifdef SVR4
+ "-DSVR4",
+# endif
+#endif /* MOTOROLA */
+#if defined(M_UNIX) || defined(sco) || defined(__SCO__) || \
+ defined(_SCO_DS) || defined(__OPENSERVER__)
+ "-D__SCO__",
+ "-DSYSV",
+#endif
+#ifdef i386
+ "-Di386",
+# ifdef SVR4
+ "-DSVR4",
+# endif
+# ifdef SYSV
+ "-DSYSV",
+# ifdef ISC
+ "-DISC",
+# ifdef ISC40
+ "-DISC40", /* ISC 4.0 */
+# else
+# ifdef ISC202
+ "-DISC202", /* ISC 2.0.2 */
+# else
+# ifdef ISC30
+ "-DISC30", /* ISC 3.0 */
+# else
+ "-DISC22", /* ISC 2.2.1 */
+# endif
+# endif
+# endif
+# endif
+# if (_SCO_DS - 0 == 1)
+ "-DSCO325",
+# endif
+# if (_SCO_DS - 0 > 1)
+ "-DSCO5V6",
+# endif
+# endif
+# ifdef ESIX
+ "-DESIX",
+# endif
+# ifdef ATT
+ "-DATT",
+# endif
+# ifdef DELL
+ "-DDELL",
+# endif
+#endif
+#ifdef SYSV386 /* System V/386 folks, obsolete */
+ "-Di386",
+# ifdef SVR4
+ "-DSVR4",
+# endif
+# ifdef ISC
+ "-DISC",
+# ifdef ISC40
+ "-DISC40", /* ISC 4.0 */
+# else
+# ifdef ISC202
+ "-DISC202", /* ISC 2.0.2 */
+# else
+# ifdef ISC30
+ "-DISC30", /* ISC 3.0 */
+# else
+ "-DISC22", /* ISC 2.2.1 */
+# endif
+# endif
+# endif
+# endif
+# if (_SCO_DS - 0 == 1)
+ "-DSCO325",
+# endif
+# if (_SCO_DS - 0 > 1)
+ "-DSCO5V6",
+# endif
+# ifdef ESIX
+ "-DESIX",
+# endif
+# ifdef ATT
+ "-DATT",
+# endif
+# ifdef DELL
+ "-DDELL",
+# endif
+#endif
+#ifdef __osf__
+ "-D__osf__",
+# ifdef __mips__
+ "-D__mips__",
+# endif
+# ifdef __alpha
+ "-D__alpha",
+# endif
+# ifdef __amiga__
+ "-D__amiga__",
+# endif
+# ifdef __alpha__
+ "-D__alpha__",
+# endif
+# ifdef __i386__
+ "-D__i386__",
+# endif
+# ifdef __GNUC__
+ "-traditional",
+# endif
+#endif
+#ifdef Oki
+ "-DOki",
+#endif
+#ifdef sun
+#if defined(SVR4) || defined(__svr4__) || defined(__SVR4) || defined(__sol__)
+ "-DSVR4",
+#endif
+# ifdef __sparcv9
+ "-D__sparcv9",
+# endif
+# ifdef __amd64
+ "-D__amd64",
+# endif
+#endif
+#ifdef WIN32
+ "-DWIN32",
+#ifndef __GNUC__
+ "-nologo",
+#if _MSC_VER < 1000
+ "-batch",
+#endif
+#endif
+ "-D__STDC__",
+#endif
+#ifdef NCR
+ "-DNCR", /* NCR */
+#endif
+#ifdef linux
+ "-Dlinux",
+#endif
+#if defined(__CYGWIN__)
+ "-traditional",
+#endif
+#if defined(Lynx) || defined(__Lynx__)
+ "-traditional",
+#if 0
+ "-DLYNX", /* do we really need this?? */
+#endif
+ "-DLynx",
+# ifdef ppc
+ "-Dppc",
+# endif
+# ifdef ppc64
+ "-Dppc64",
+# endif
+# if defined(m68k) || defined(M68k) || defined(m68040)
+ "-Dm68k",
+ "-DM68k",
+# endif
+# ifdef uSPARC1
+ "-Dsparc",
+# endif
+#endif
+#ifdef __uxp__
+ "-D__uxp__",
+#endif
+#ifdef __sxg__
+ "-D__sxg__",
+#endif
+#ifdef nec_ews_svr2
+ "-Dnec_ews_svr2",
+#endif
+#ifdef AMOEBA
+ "-DAMOEBA",
+# ifdef CROSS_COMPILE
+ "-DCROSS_COMPILE",
+# ifdef CROSS_i80386
+ "-Di80386",
+# endif
+# ifdef CROSS_sparc
+ "-Dsparc",
+# endif
+# ifdef CROSS_mc68000
+ "-Dmc68000",
+# endif
+# else
+# ifdef i80386
+ "-Di80386",
+# endif
+# ifdef sparc
+ "-Dsparc",
+# endif
+# ifdef mc68000
+ "-Dmc68000",
+# endif
+# endif
+#endif
+#if defined(__sgi) && defined(__ANSI_CPP__)
+ "-cckr",
+#endif
+#ifdef __minix_vmd
+ "-Dminix",
+#endif
+
+#if defined(__UNIXOS2__)
+ "-traditional",
+ "-Demxos2",
+#endif
+#ifdef MetroLink
+ "-DMetroLink",
+# ifdef SVR4
+ "-DSVR4",
+# endif
+#endif
+#ifdef __powerpc__
+ "-D__powerpc__",
+#endif
+#ifdef __powerpc64__
+ "-D__powerpc64__",
+#endif
+#ifdef PowerMAX_OS
+ "-DPowerMAX_OS",
+#endif
+#if defined (__QNX__) && !defined(__QNXNTO__)
+ "-traditional",
+ "-D__QNX__",
+#endif
+
+#if defined(__QNXNTO__)
+ "-traditional",
+ "-D__QNXNTO__",
+#if defined(i386)
+ "-Di386",
+#endif
+#if defined(__i386__)
+ "-D__i386__",
+#endif
+#if defined(PPC)
+ "-DPPC",
+#endif
+#if defined(MIPS)
+ "-DMIPS",
+#endif
+#endif
+
+#if defined(__APPLE__)
+ "-D__APPLE__",
+ "-D__DARWIN__",
+# ifdef __ppc__
+ "-D__ppc__",
+# endif
+# ifdef __ppc64__
+ "-D__ppc64__",
+# endif
+# ifdef __i386__
+ "-D__i386__",
+# endif
+#endif
+};
+#endif /* CROSSCOMPILE */
+
+
+/*
+ * Step 6: DEFAULT_OS_MAJOR_REV, DEFAULT_OS_MINOR_REV, DEFAULT_OS_TEENY_REV,
+ * and DEFAULT_OS_NAME.
+ * If your system provides a way to generate the default major,
+ * minor, teeny, or system names at runtime add commands below.
+ * The syntax of the _REV strings is 'f fmt' where 'f' is an argument
+ * you would give to uname, and "fmt" is a scanf() format string.
+ * Supported uname arguments are "snrvm", and if you specify multiple
+ * arguments they will be separated by spaces. No more than 5 arguments
+ * may be given. Unlike uname() order of arguments matters.
+ *
+ * DEFAULT_OS_MAJOR_REV_FROB, DEFAULT_OS_MINOR_REV_FROB,
+ * DEFAULT_OS_TEENY_REV_FROB, and DEFAULT_OS_NAME_FROB can be used to
+ * modify the results of the use of the various strings.
+ */
+#if !defined CROSSCOMPILE || defined CROSSCOMPILE_CPP
+# if defined(aix)
+/* uname -v returns "x" (e.g. "4"), and uname -r returns "y" (e.g. "1") */
+# define DEFAULT_OS_MAJOR_REV "v %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %[0-9]"
+/* No information available to generate default OSTeenyVersion value. */
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(sun) || defined(sgi) || defined(ultrix) || defined(__uxp__) || defined(sony)
+/* uname -r returns "x.y[.z]", e.g. "5.4" or "4.1.3" */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(hpux)
+/* uname -r returns "W.x.yz", e.g. "B.10.01" */
+# define DEFAULT_OS_MAJOR_REV "r %*[^.].%[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*[^.].%*d.%1s"
+# define DEFAULT_OS_TEENY_REV "r %*[^.].%*d.%*c%[0-9]"
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(USL) || defined(__USLC__) || defined(__UNIXWARE__) || \
+ defined(__SCO__) || defined(__OPENSERVER__) || defined(_SCO_DS)
+/* uname -v returns "x.yz" or "x.y.z", e.g. "2.02" or "2.1.2". */
+# define DEFAULT_OS_MAJOR_REV "v %[0-9]"
+# define DEFAULT_OS_MINOR_REV "v %*d.%1s"
+# define DEFAULT_OS_TEENY_REV "v %*d.%*c%[.0-9]"
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(__APPLE__)
+/* uname -v returns "x.yz" or "x.y.z", e.g. "2.02" or "2.1.2". */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" /* this will just get 0 */
+# define DEFAULT_OS_NAME "s %[^\n]"
+# elif defined(__osf__)
+/* uname -r returns "Wx.y", e.g. "V3.2" or "T4.0" */
+# define DEFAULT_OS_MAJOR_REV "r %*[^0-9]%[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*[^.].%[0-9]"
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(__uxp__)
+/* NOTE: "x.y[.z]" above handles UXP/DF. This is a sample alternative. */
+/* uname -v returns "VxLy Yzzzzz ....", e.g. "V20L10 Y95021 Increment 5 ..." */
+# define DEFAULT_OS_MAJOR_REV "v V%[0-9]"
+# define DEFAULT_OS_MINOR_REV "v V%*dL%[0-9]"
+# define DEFAULT_OS_NAME "srvm %[^\n]"
+# elif defined(linux) || defined(__bsdi__)
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "srm %[^\n]"
+# if defined(linux) && defined (CROSSCOMPILE_CPP)
+# define CROSS_UTS_SYSNAME "Linux"
+# include <linux/version.h>
+# define CROSS_UTS_RELEASE UTS_RELEASE
+# endif
+# elif defined(__CYGWIN__)
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "srm %[^\n]"
+# if defined(__CYGWIN__) && defined (CROSSCOMPILE_CPP)
+# define CROSS_UTS_SYSNAME "Cygwin"
+# include <cygwin/version.h>
+# define CROSS_UTS_RELEASE "1.3.12"
+# endif
+# elif defined(__GNU__)
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_NAME "srm %[^\n]"
+# elif defined(ISC)
+/* ISC all Versions ? */
+/* uname -r returns "x.y", e.g. "3.2" ,uname -v returns "x" e.g. "2" */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "v %[0-9]"
+/* # define DEFAULT_OS_NAME "srm %[^\n]" */ /* Not useful on ISC */
+# elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__DragonFly__)
+/* BSD/OS too? */
+/* uname -r returns "x.y[.z]-mumble", e.g. "2.1.5-RELEASE" or "2.2-0801SNAP" */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "srm %[^\n]"
+# if defined(__FreeBSD__) || defined(__DragonFly__)
+/* Use an alternate way to find the teeny version for -STABLE, -SNAP versions */
+# ifndef CROSSCOMPILE_CPP
+# define DEFAULT_OS_TEENY_REV_FROB(buf, size) \
+ do { \
+ if (*buf == 0) { \
+ int __mib[2]; \
+ size_t __len; \
+ int __osrel; \
+ \
+ __mib[0] = CTL_KERN; \
+ __mib[1] = KERN_OSRELDATE; \
+ __len = sizeof(__osrel); \
+ sysctl(__mib, 2, &__osrel, &__len, NULL, 0); \
+ if (__osrel < 210000) { \
+ if (__osrel < 199607) \
+ buf[0] = '0'; \
+ else if (__osrel < 199612) \
+ buf[0] = '5'; \
+ else if (__osrel == 199612) \
+ buf[0] = '6'; \
+ else \
+ buf[0] = '8'; /* guess */ \
+ } else { \
+ buf[0] = ((__osrel / 1000) % 10) + '0'; \
+ } \
+ buf[1] = 0; \
+ } \
+ } while (0)
+# endif
+# else
+ /* OpenBSD - Add DEFAULT_MACHINE_ARCHITECTURE */
+# define DEFAULT_MACHINE_ARCHITECTURE "m %[^\n]"
+# endif
+# elif defined(__NetBSD__)
+/*
+ * uname -r returns "x.y([ABCD...]|_mumble)", e.g.:
+ * 1.2 1.2_BETA 1.2A 1.2B
+ *
+ * That means that we have to do something special to turn the
+ * TEENY revision into a form that we can use (i.e., a string of
+ * decimal digits).
+ *
+ * We also frob the name DEFAULT_OS_NAME so that it looks like the
+ * 'standard' NetBSD name for the version, e.g. "NetBSD/i386 1.2B" for
+ * NetBSD 1.2B on an i386.
+ */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d%[A-Z]"
+# define DEFAULT_OS_TEENY_REV_FROB(buf, size) \
+ do { \
+ int teeny = 0; \
+ char *ptr = (buf); \
+ \
+ while (*ptr >= 'A' && *ptr <= 'Z') /* sanity check */ \
+ teeny = teeny * 26 + (int)(*ptr++ - 'A'); \
+ \
+ snprintf((buf), (size), "%d", teeny + 1); \
+ } while (0)
+# define DEFAULT_OS_NAME "smr %[^\n]"
+# define DEFAULT_OS_NAME_FROB(buf, size) \
+ do { \
+ char *__sp; \
+ if ((__sp = strchr((buf), ' ')) != NULL) \
+ *__sp = '/'; \
+ } while (0)
+# elif defined(__Lynx__) || defined(Lynx)
+/* Lynx 2.4.0 /bin/cc doesn't like #elif */
+# define DEFAULT_OS_MAJOR_REV "r %[0-9]"
+# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "srm %[^\n]"
+# elif defined(_SEQUENT_)
+/* uname -v returns 'Vx.y.z', e.g. 'V4.4.2' */
+# define DEFAULT_OS_MAJOR_REV "v V%[0-9]"
+# define DEFAULT_OS_MINOR_REV "v V%*d.%[0-9]"
+# define DEFAULT_OS_TEENY_REV "v V%*d.%*d.%[0-9]"
+# define DEFAULT_OS_NAME "s %[^\n]"
+# endif
+#endif /* !defined CROSSCOMPILE || defined CROSSCOMPILE_CPP */
+
+# if defined (CROSSCOMPILE_CPP)
+# ifndef CROSS_UTS_SYSNAME
+char *cross_uts_sysname = "";
+# else
+char *cross_uts_sysname = CROSS_UTS_SYSNAME;
+# endif
+# ifndef CROSS_UTS_RELEASE
+char* cross_uts_release = "";
+# else
+char* cross_uts_release = CROSS_UTS_RELEASE;
+# endif
+# ifndef CROSS_UTS_MACHINE
+char *cross_uts_machine = "";
+# else
+char *cross_uts_machine = CROSS_UTS_MACHINE;
+# endif
+# ifndef CROSS_UTS_VERSION
+char * cross_uts_version = "";
+# else
+char * cross_uts_version = CROSS_UTS_VERSION;
+# endif
+# ifdef DEFAULT_OS_NAME
+char *defaultOsName = DEFAULT_OS_NAME;
+# else
+char *defaultOsName = NULL;
+# endif
+# ifdef DEFAULT_OS_MAJOR_REV
+char *defaultOsMajorRev = DEFAULT_OS_MAJOR_REV;
+# else
+char *defaultOsMajorRev = NULL;
+# endif
+# ifdef DEFAULT_OS_MINOR_REV
+char *defaultOsMinorRev = DEFAULT_OS_MINOR_REV;
+# else
+char *defaultOsMinorRev = NULL;
+# endif
+# ifdef DEFAULT_OS_TEENY_REV
+char *defaultOsTeenyRev = DEFAULT_OS_TEENY_REV;
+# else
+char *defaultOsTeenyRev = NULL;
+# endif
+# ifdef DEFAULT_MACHINE_ARCHITECTURE
+char *defaultMachineArchitecture = DEFAULT_MACHINE_ARCHITECTURE;
+# else
+char *defaultMachineArchitecture = NULL;
+# endif
+# ifdef DEFAULT_OS_NAME_FROB
+void defaultOsNameFrob(char *buf, int size)
+{DEFAULT_OS_NAME_FROB(buf,size)}
+# else
+void (*defaultOsNameFrob)(char *buf, int size) = NULL;
+# endif
+# ifdef DEFAULT_OS_MAJOR_REV_FROB
+void defaultOsMajorRevFrob(char *buf, int size)
+{DEFAULT_OS_MAJOR_REV_FROB(buf,size)}
+# else
+void (*defaultOsMajorRevFrob)(char *buf, int size) = NULL;
+# endif
+# ifdef DEFAULT_OS_MINOR_REV_FROB
+void defaultOsMinorRevFrob(char *buf, int size)
+{DEFAULT_OS_MINOR_REV_FROB(buf,size)}
+# else
+void (*defaultOsMinorRevFrob)(char *buf, int size) = NULL;
+# endif
+# ifdef DEFAULT_OS_TEENY_REV_FROB
+void defaultOsTeenyRevFrob(char *buf, int size)
+{DEFAULT_OS_TEENY_REV_FROB(buf,size)}
+# else
+void (*defaultOsTeenyRevFrob)(char *buf, int size) = NULL;
+# endif
+# endif /* CROSSCOMPILE_CPP */
+
+#else /* else MAKEDEPEND */
+#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP)
+/*
+ * Step 7: predefs
+ * If your compiler and/or preprocessor define any specific symbols, add
+ * them to the the following table. The definition of struct symtab is
+ * in util/makedepend/def.h.
+ */
+#undef DEF_EVALUATE
+#undef DEF_STRINGIFY
+#define DEF_EVALUATE(__x) #__x
+#define DEF_STRINGIFY(_x) DEF_EVALUATE(_x)
+struct symtab predefs[] = {
+#ifdef apollo
+ {"apollo", "1"},
+#endif
+#if defined(clipper) || defined(__clipper__)
+ {"clipper", "1"},
+ {"__clipper__", "1"},
+ {"clix", "1"},
+ {"__clix__", "1"},
+#endif
+#ifdef ibm032
+ {"ibm032", "1"},
+#endif
+#ifdef ibm
+ {"ibm", "1"},
+#endif
+#ifdef aix
+ {"aix", "1"},
+#endif
+#ifdef sun
+ {"sun", "1"},
+#endif
+#ifdef sun2
+ {"sun2", "1"},
+#endif
+#ifdef sun3
+ {"sun3", "1"},
+#endif
+#ifdef sun4
+ {"sun4", "1"},
+#endif
+#ifdef sparc
+ {"sparc", "1"},
+#endif
+#ifdef __sparc
+ {"__sparc", "1"},
+#endif
+#ifdef __sparcv9
+ {"__sparcv9", "1"},
+#endif
+#ifdef __sparc__
+ {"__sparc__", "1"},
+#endif
+#ifdef __sparcv9__
+ {"__sparcv9__", "1"},
+#endif
+#ifdef hpux
+ {"hpux", "1"},
+#endif
+#ifdef __hpux
+ {"__hpux", "1"},
+#endif
+#ifdef __hp9000s800
+ {"__hp9000s800", "1"},
+#endif
+#ifdef __hp9000s700
+ {"__hp9000s700", "1"},
+#endif
+#ifdef vax
+ {"vax", "1"},
+#endif
+#ifdef VMS
+ {"VMS", "1"},
+#endif
+#ifdef cray
+ {"cray", "1"},
+#endif
+#ifdef CRAY
+ {"CRAY", "1"},
+#endif
+#ifdef _CRAY
+ {"_CRAY", "1"},
+#endif
+#ifdef att
+ {"att", "1"},
+#endif
+#ifdef mips
+ {"mips", "1"},
+#endif
+#ifdef __mips__
+ {"__mips__", "1"},
+#endif
+#ifdef ultrix
+ {"ultrix", "1"},
+#endif
+#ifdef stellar
+ {"stellar", "1"},
+#endif
+#ifdef mc68000
+ {"mc68000", "1"},
+#endif
+#ifdef mc68020
+ {"mc68020", "1"},
+#endif
+#ifdef __GNUC__
+ {"__GNUC__", DEF_STRINGIFY(__GNUC__)},
+#endif
+#ifdef __STRICT_ANSI__
+ {"__STRICT_ANSI__", "1"},
+#endif
+#ifdef __STDC__
+ {"__STDC__", DEF_STRINGIFY(__STDC__)},
+#endif
+#ifdef __HIGHC__
+ {"__HIGHC__", "1"},
+#endif
+#ifdef __OPENSERVER__
+ {"__OPENSERVER__", DEF_STRINGIFY(__OPENSERVER__)},
+#endif
+#ifdef _SCO_DS
+ {"_SCO_DS", DEF_STRINGIFY(_SCO_DS)},
+#endif
+#ifdef _SCO_DS_LL
+ {"_SCO_DS_LL", DEF_STRINGIFY(_SCO_DS_LL)},
+#endif
+#ifdef __SCO_VERSION__
+ {"__SCO_VERSION__", DEF_STRINGIFY(__SCO_VERSION__)},
+#endif
+#ifdef __UNIXWARE__
+ {"__UNIXWARE__", DEF_STRINGIFY(__UNIXWARE__)},
+#endif
+#ifdef __USLC__
+ {"__USLC__", DEF_STRINGIFY(__USLC__)},
+#endif
+#ifdef CMU
+ {"CMU", "1"},
+#endif
+#ifdef luna
+ {"luna", "1"},
+#ifdef luna1
+ {"luna1", "1"},
+#endif
+#ifdef luna2
+ {"luna2", "1"},
+#endif
+#ifdef luna88k
+ {"luna88k", "1"},
+#endif
+#ifdef uniosb
+ {"uniosb", "1"},
+#endif
+#ifdef uniosu
+ {"uniosu", "1"},
+#endif
+#endif
+#ifdef ieeep754
+ {"ieeep754", "1"},
+#endif
+#ifdef is68k
+ {"is68k", "1"},
+#endif
+#ifdef m68k
+ {"m68k", "1"},
+#endif
+#ifdef M68k
+ {"M68k", "1"},
+#endif
+#ifdef __m68k__
+ {"__m68k__", "1"},
+#endif
+#ifdef m88k
+ {"m88k", "1"},
+#endif
+#ifdef __m88k__
+ {"__m88k__", "1"},
+#endif
+#ifdef bsd43
+ {"bsd43", "1"},
+#endif
+#ifdef hcx
+ {"hcx", "1"},
+#endif
+#ifdef sony
+ {"sony", "1"},
+#ifdef SYSTYPE_SYSV
+ {"SYSTYPE_SYSV", "1"},
+#endif
+#ifdef _SYSTYPE_SYSV
+ {"_SYSTYPE_SYSV", "1"},
+#endif
+#endif
+#ifdef __OSF__
+ {"__OSF__", "1"},
+#endif
+#ifdef __osf__
+ {"__osf__", "1"},
+#endif
+#ifdef __amiga__
+ {"__amiga__", "1"},
+#endif
+#ifdef __alpha
+ {"__alpha", "1"},
+#endif
+#ifdef __alpha__
+ {"__alpha__", "1"},
+#endif
+#ifdef __DECC
+ {"__DECC", "1"},
+#endif
+#ifdef __decc
+ {"__decc", "1"},
+#endif
+#ifdef __unix__
+ {"__unix__", "1"},
+#endif
+#ifdef __uxp__
+ {"__uxp__", "1"},
+#endif
+#ifdef __sxg__
+ {"__sxg__", "1"},
+#endif
+#ifdef _SEQUENT_
+ {"_SEQUENT_", "1"},
+ {"__STDC__", "1"},
+#endif
+#ifdef __bsdi__
+ {"__bsdi__", "1"},
+#endif
+#ifdef nec_ews_svr2
+ {"nec_ews_svr2", "1"},
+#endif
+#ifdef nec_ews_svr4
+ {"nec_ews_svr4", "1"},
+#endif
+#ifdef _nec_ews_svr4
+ {"_nec_ews_svr4", "1"},
+#endif
+#ifdef _nec_up
+ {"_nec_up", "1"},
+#endif
+#ifdef SX
+ {"SX", "1"},
+#endif
+#ifdef nec
+ {"nec", "1"},
+#endif
+#ifdef _nec_ft
+ {"_nec_ft", "1"},
+#endif
+#ifdef PC_UX
+ {"PC_UX", "1"},
+#endif
+#ifdef sgi
+ {"sgi", "1"},
+#endif
+#ifdef __sgi
+ {"__sgi", "1"},
+#endif
+#ifdef _MIPS_FPSET
+ {"_MIPS_FPSET", DEF_STRINGIFY(_MIPS_FPSET)},
+#endif
+#ifdef _MIPS_ISA
+ {"_MIPS_ISA", DEF_STRINGIFY(_MIPS_ISA)},
+#endif
+#ifdef _MIPS_SIM
+ {"_MIPS_SIM", DEF_STRINGIFY(_MIPS_SIM)},
+#endif
+#ifdef _MIPS_SZINT
+ {"_MIPS_SZINT", DEF_STRINGIFY(_MIPS_SZINT)},
+#endif
+#ifdef _MIPS_SZLONG
+ {"_MIPS_SZLONG", DEF_STRINGIFY(_MIPS_SZLONG)},
+#endif
+#ifdef _MIPS_SZPTR
+ {"_MIPS_SZPTR", DEF_STRINGIFY(_MIPS_SZPTR)},
+#endif
+#ifdef __DragonFly__
+ {"__DragonFly__", "1"},
+#endif
+#ifdef __FreeBSD__
+ {"__FreeBSD__", "1"},
+#endif
+#ifdef __OpenBSD__
+ {"__OpenBSD__", "1"},
+#endif
+#ifdef __NetBSD__
+ {"__NetBSD__", "1"},
+#endif
+#ifdef __GNU__
+ {"__GNU__", "1"},
+#endif
+#ifdef __ELF__
+ {"__ELF__", "1"},
+#endif
+#ifdef __UNIXOS2__
+ {"__UNIXOS2__", "1"},
+#endif
+#if defined(__QNX__)
+ {"__QNX__", "1"},
+#endif
+#ifdef __QNXNTO__
+ {"__QNXNTO__", "1"},
+#endif
+# ifdef __powerpc__
+ {"__powerpc__", "1"},
+# endif
+# ifdef __powerpc64__
+ {"__powerpc64__", "1"},
+# endif
+# ifdef PowerMAX_OS
+ {"PowerMAX_OS", "1"},
+# endif
+# ifdef ia64
+ {"ia64", "1"},
+# endif
+# ifdef __ia64__
+ {"__ia64__", "1"},
+# endif
+# if defined (amd64) || defined (x86_64)
+ {"amd64", "1"},
+ {"x86_64", "1"},
+# endif
+# if defined (__amd64__) || defined (__x86_64__)
+ {"__amd64__", "1"},
+ {"__x86_64__", "1"},
+# endif
+# if defined (__amd64) || defined(__x86_64)
+ {"__amd64", "1"},
+ {"__x86_64", "1"},
+# endif
+# ifdef __x86
+ {"__x86", "1"},
+# endif
+# ifdef __i386
+ {"__i386", "1"},
+# endif
+# ifdef __i386__
+ {"__i386__", "1"},
+# endif
+# ifdef __i486__
+ {"__i486__", "1"},
+# endif
+# ifdef __i586__
+ {"__i586__", "1"},
+# endif
+# ifdef __i686__
+ {"__i686__", "1"},
+# endif
+# ifdef __k6__
+ {"__k6__", "1"},
+# endif
+# ifdef i386
+ {"i386", "1"},
+# endif
+# ifdef i486
+ {"i486", "1"},
+# endif
+# ifdef i586
+ {"i586", "1"},
+# endif
+# ifdef i686
+ { "i686", "1"},
+# endif
+# ifdef k6
+ {"k6", "1"},
+# endif
+# ifdef sparc
+ {"sparc", "1"},
+# endif
+# ifdef __sparc__
+ {"__sparc__", "1"},
+# endif
+# ifdef __s390__
+ {"__s390__", "1"},
+# endif
+# ifdef __hppa__
+ {"__hppa__", "1"},
+# endif
+# ifdef __sh__
+ {"__sh__", "1"},
+# endif
+# ifdef __sh3_
+ {"__sh3__", "1"},
+# endif
+# ifdef __SH3__
+ {"__SH3__", "1"},
+# endif
+# ifdef __SH4__
+ {"__SH4__", "1"},
+# endif
+# ifdef __SH4NOFPU__
+ {"__SH4NOFPU__", "1"},
+# endif
+#if defined(__ppc__)
+ {"__ppc__", "1"},
+#endif
+#if defined(__ppc64__)
+ {"__ppc64__", "1"},
+#endif
+#if defined(__BIG_ENDIAN__)
+ {"__BIG_ENDIAN__", "1"},
+#endif
+#if defined(__LITTLE_ENDIAN__)
+ {"__LITTLE_ENDIAN__", "1"},
+#endif
+#if defined (__CHAR_BIT__)
+ {"__CHAR_BIT__", DEF_STRINGIFY(__CHAR_BIT__)},
+#endif
+#if defined (__BUILTIN_VA_STRUCT)
+ {"__BUILTIN_VA_STRUCT", "1"},
+#endif
+#if defined (__BUILTIN_VA_ARG_INCR)
+ {"__BUILTIN_VA_ARG_INCR", "1"},
+#endif
+ /* add any additional symbols before this line */
+ {NULL, NULL}
+};
+#undef DEF_EVALUATE
+#undef DEF_STRINGIFY
+#endif /* CROSSCOMPILE */
+#endif /* MAKEDEPEND */
+
+# ifndef MAKEDEPEND
+# if defined (CROSSCOMPILE_CPP)
+# ifdef USE_CC_E
+boolean crosscompile_use_cc_e = TRUE;
+# ifdef DEFAULT_CC
+char* crosscompile_cpp = DEFAULT_CC;
+# else
+char* crosscompile_cpp = "cc";
+# endif
+# else
+boolean crosscompile_use_cc_e = FALSE;
+# ifdef DEFAULT_CPP
+char* crosscompile_cpp = DEFAULT_CPP;
+# else
+char* crosscompile_cpp = "cpp";
+# endif
+# endif
+# ifdef FIXUP_CPP_WHITESPACE
+boolean fixup_whitespace = TRUE;
+# else
+boolean fixup_whitespace = FALSE;
+# endif
+# ifdef REMOVE_CPP_LEADSPACE
+boolean remove_cpp_leadspace = TRUE;
+# else
+boolean remove_cpp_leadspace = FALSE;
+# endif
+# ifdef INLINE_SYNTAX
+boolean inline_syntax = TRUE;
+# else
+boolean inline_syntax = FALSE;
+# endif
+# ifdef MAGIC_MAKE_VARS
+boolean magic_make_vars = TRUE;
+# else
+boolean magic_make_vars = FALSE;
+# endif
+
+typedef enum {
+ unknown,
+ freeBSD,
+ netBSD,
+ LinuX,
+ emx,
+ win32,
+ dragonfly
+} System;
+
+# if defined(linux) || defined(__GLIBC__)
+System sys = LinuX;
+# elif defined __FreeBSD__
+System sys = freebsd;
+# elif defined __NetBSD__
+System sys = netBSD;
+# elif defined __EMX__
+System sys = emx;
+# elif defined WIN32
+System sys = win32;
+# elif defined __DragonFly__
+System sys = dragonfly;
+# else
+System sys = unknown;
+# endif
+
+# if defined __GNUC__
+int gnu_c = __GNUC__;
+int gnu_c_minor = __GNUC_MINOR__;
+# else
+int gnu_c = 0;
+int gnu_c_minor = -1;
+# endif
+# if defined(linux) || defined(__GLIBC__)
+# include <features.h>
+int glibc_major = __GLIBC__ + 4;
+int glibc_minor = __GLIBC_MINOR__;
+# else
+int glibc_major = 0;
+int glibc_minor = -1;
+# endif
+# endif /* !CROSSCOMPILE || CROSSCOMPILE_CPP */
+
+# endif /* MAKEDEPEND */
+
+#endif /* CCIMAKE */
diff --git a/nx-X11/config/imake/imakesvc.cmd b/nx-X11/config/imake/imakesvc.cmd
new file mode 100644
index 000000000..1108c3904
--- /dev/null
+++ b/nx-X11/config/imake/imakesvc.cmd
@@ -0,0 +1,302 @@
+/* Rexx OS/2
+ * This script serves as a helper cmd file for imake. Install this in
+ * the path just like imake itself.
+ *
+ * $XFree86: xc/config/imake/imakesvc.cmd,v 3.13 1999/04/29 09:13:23 dawes Exp $
+ */
+'@echo off'
+ADDRESS CMD
+CALL RxFuncAdd 'SysFileDelete', 'RexxUtil', 'SysFileDelete'
+CALL RxFuncAdd 'SysFileTree', 'RexxUtil', 'SysFileTree'
+CALL RxFuncAdd 'SysRmDir', 'RexxUtil', 'SysRmDir'
+CALL RxFuncAdd 'SysMkDir', 'RexxUtil', 'SysMkDir'
+
+PARSE ARG all
+code = WORD(all,1)
+
+SELECT
+ WHEN code=1 THEN DO
+ /* imakesvc 1 u/n dir ruledir top current */
+ instflg = WORD(all,2)
+ imakecmd = '\imake'
+ ruledir = WORD(all,4)
+ topdir = WORD(all,5)
+ currentdir = WORD(all,6)
+ IF instflg = 'u' THEN DO
+ root = VALUE('X11ROOT',,'OS2ENVIRONMENT')
+ IF root = '' THEN DO
+ SAY 'Fatal error: no X11ROOT environment variable found!'
+ EXIT 99
+ END
+ imakecmd = 'imake'
+ IF POS(':',ruledir) = 0 THEN
+ ruledir1 = root||ruledir
+ ELSE
+ ruledir1 = ruledir
+ topdir1 = topdir
+ useinst = '-DUseInstalled'
+ END
+ ELSE DO
+ /* in n mode, we must add a prefix ../ for MakeMakeSubdirs */
+ ruledir1 = '../'||ruledir
+ topdir1 = '../'||topdir
+ useinst = ''
+ END
+
+ ruledir = ruledir1
+ topdir = topdir1
+ curdir = DIRECTORY()
+ dir = fixbadprefix(WORD(all,3))
+ d = DIRECTORY(dir)
+ dirfwd=TRANSLATE(dir,'/','\')
+ RC = SysFileDelete('Makefile.bak')
+ IF exists('Makefile') THEN REN Makefile Makefile.bak
+ /* There is a difficulty in the Imakefiles. Some builds refer
+ * to directories that are in a different subtree. We need to adjust
+ * the CURDIR and TOPDIR and -I paths
+ */
+ IF SUBSTR(dirfwd,1,2)='..' THEN DO
+ /* must recalculate passed topdir, currentdir, and ruledir */
+ ndist = nlevels(topdir)
+ ncurdir = './'striplevel(dirfwd,ndist-1)
+ ntopdir = maketop(nlevels(ncurdir))
+ nruledir = ntopdir||'/config/cf'
+ END
+ ELSE DO
+ /* this is simple it is relative to this dir */
+ pfx = downlevels(dirfwd)
+ nruledir = ruledir
+ IF instflg = 'n' THEN DO /*sm120296*/
+ nruledir = pfx||ruledir
+ END
+ ntopdir = pfx||topdir
+ ncurdir = currentdir /* use to be pfx || currentdir */
+ END
+ imakecmd useinst '-I'nruledir' -DTOPDIR='ntopdir' -DCURDIR='ncurdir'/'dirfwd
+ 'x11make MAKE=x11make SHELL= Makefiles'
+ d = DIRECTORY(curdir)
+ END
+ WHEN code=2 THEN DO
+ /* imakesvc 2 buildincdir buildinctop currentdir file */
+ bid = WORD(all,3)
+ cid = WORD(all,4)
+ fil = WORD(all,5)
+ curdir = DIRECTORY()
+ d = DIRECTORY(WORD(all,2))
+ rc = SysFileDelete(fil)
+ dir = TRANSLATE(bid'/'cid'/'fil,'\','/')
+ COPY dir .' >nul 2>&1 '
+ d = DIRECTORY(curdir)
+ END
+ WHEN code=3 THEN DO
+ /* imakesvc 3 subdir updir file */
+ sdi = WORD(all,2)
+ fil = WORD(all,4)
+ curdir = DIRECTORY()
+ d = DIRECTORY(WORD(all,3))
+ rc = SysFileDelete(fil)
+ dir = TRANSLATE(sdi'/'fil,'\','/')
+ COPY dir' . >nul 2>&1'
+ d = DIRECTORY(curdir)
+ END
+ WHEN code=4 THEN DO
+ /* imakesvc 4 [-r] files... */
+ rec = WORD(all,2)
+ fp = 2
+ IF rec = '-r' THEN fp = 3
+ ELSE rec = '-n'
+ DO i=fp TO WORDS(all)
+ CALL discard rec,TRANSLATE(WORD(all,i),'\','/')
+ END
+ END
+ WHEN code=5 THEN DO
+ /* imakesvc 5 file */
+ file = TRANSLATE(WORD(all,2),'\','/')
+ RC = SysFileDelete(file'.bak')
+ if exists(file) THEN 'REN 'file file||'.bak'
+ END
+ WHEN code=6 THEN DO
+ /* imakesvc 6 file */
+ file = TRANSLATE(WORD(all,2),'\','/')
+ CALL SysFileDelete(file||'.bak')
+ if exists(file) THEN 'REN 'file file||'.bak'
+ END
+ WHEN code=7 THEN DO
+ /* imakesvc 7 from to */
+ from = TRANSLATE(WORD(all,2),'\','/')
+ to = TRANSLATE(WORD(all,3),'\','/')
+ CALL SysFileDelete(to)
+ COPY from to' >nul 2>&1'
+ END
+ WHEN code=8 THEN DO
+ /* imakesvc 8 arg */
+ SAY SUBWORD(TRANSLATE(all,' ','222c'x),2)
+ END
+ WHEN code=9 THEN DO
+ /* imakesvc 9 dst.c incl.h src.c */
+ dst = TRANSLATE(WORD(all,2),'\','/')
+ src = TRANSLATE(WORD(all,4),'\','/')
+ CALL SysFileDelete(dst)
+ CALL LINEOUT dst,'#include "'WORD(all,3)'"'
+ CALL LINEOUT dst,'#include "'src'"'
+ CALL LINEOUT dst
+ END
+ WHEN code=10 THEN DO
+ /* imakesvc 10 srcfile destdir destfile suffix */
+ src = stripsuffix(WORD(all,2))
+ destdir = TRANSLATE(WORD(all,3),'\','/')
+ dest = stripsuffix(WORD(all,4))
+ suffix = WORD(all,5)
+ tgt = destdir'\'dest'.'suffix
+ /* if you have no col.exe get one from 4.4BSD */
+ 'groff -e -t -man -Tascii 'src'.man | col -b >'tgt
+ END
+ WHEN code=11 THEN DO
+ /* imakesvc 11 dirtomake */
+ dirtomake = TRANSLATE(WORD(all,2),'\','/')
+ rc = SysMkDir(dirtomake)
+ END
+ WHEN code=12 THEN DO
+ /* imakesvc 12 srcfile destdir destfile */
+ src = stripsuffix(WORD(all,2))
+ destdir = TRANSLATE(WORD(all,3),'\','/')
+ dest = stripsuffix(WORD(all,4))
+ tgt = destdir'\'dest'.gz'
+ /* if you have no col.exe get one from 4.4BSD */
+ 'groff -e -t -man -Tascii 'src'.man | col -b | gzip -n >'tgt
+ END
+ WHEN code=13 THEN DO
+ /* imakesvc 13 indir fromfile tofile */
+ ind = TRANSLATE(WORD(all,2),'\','/')
+ frm = TRANSLATE(WORD(all,3),'\','/')
+ tof = ind'\'WORD(all,4)
+ IF \(exists(ind)) THEN call SysMkDir ind
+ rc = SysFileDelete(tof)
+ COPY frm' 'tof
+ END
+ WHEN code=14 THEN DO
+ /* imakesvc 14 destdir srcfile... */
+ destdir = TRANSLATE(WORD(all,2),'\','/')
+ DO i=3 TO WORDS(all)
+ src = stripsuffix(WORD(all,i))
+ tgt = destdir'\'src'.gz'
+ 'groff -e -t -man -Tascii 'src'.man | col -b | gzip -n >'tgt
+ END
+ END
+ WHEN code=15 THEN DO
+ /* imakesvc 15 destdir suffix srcfile... */
+ destdir = TRANSLATE(WORD(all,2),'\','/')
+ suffix = WORD(all,3)
+ DO i=4 TO WORDS(all)
+ src = stripsuffix(WORD(all,i))
+ tgt = destdir'\'src'.'suffix
+ 'groff -e -t -man -Tascii 'src'.man | col -b >'tgt
+ END
+ END
+ WHEN code=16 THEN DO
+ /* imakesvc 16 dirlist...*/
+ mkfontdir = TRANSLATE(WORD(all,2),'\','/')
+ earg=''
+ DO i=3 TO WORDS(all)
+ arg = WORD(all,i)
+ earg = earg' -e 'arg
+ END
+ mkfontdir' -r -p inst/ 'earg' .'
+ END
+ OTHERWISE NOP
+END
+RETURN
+
+downlevels:
+oldpos = 1
+pfx = ''
+DO FOREVER
+ newpos = POS('/',ARG(1),oldpos)
+ IF newpos = 0 THEN LEAVE
+ newpfx = '../'pfx
+ oldpos = newpos+1
+ pfx = newpfx
+END
+RETURN pfx
+
+/* returns 1, if file exists */
+exists:
+'DIR "'arg(1)'" >nul 2>&1'
+IF rc = 0 THEN return 1
+RETURN 0
+
+discard: PROCEDURE
+rec=ARG(1)
+files=ARG(2)
+IF rec = '-r' THEN DO
+ old = DIRECTORY()
+ nd = DIRECTORY
+ CALL SysFileTree files, 'deld', 'DO'
+ IF deld.0 > 0 THEN DO
+ DO m=1 TO deld.0
+ CALL DIRECTORY deld.m
+ CALL discard '-R' .
+ CALL DIRECTORY ..
+ CALL SysRmDir deld.m
+ END
+ CALL SysRmDir files
+ END
+ CALL SysFileTree files, 'delf', 'FO'
+ DO k=1 TO delf.0
+ DEL '"'delf.k'"' '>nul 2>&1'
+ END
+ CALL SysRmDir files
+END
+ELSE DO
+ DEL '"'files'"' '>nul 2>&1'
+END
+RETURN
+
+/* somehow make or cmd manages to convert a relative path ..\..\. to ..... */
+fixbadprefix:
+count = 1
+str = ARG(1)
+DO WHILE SUBSTR(str,count,2) = '..'
+ count = count+1
+ str = INSERT('\',str,count)
+ count = count+2
+END
+RETURN str
+
+striplevel:
+str=ARG(1)
+n=arg(2)
+DO count=0 TO n
+ p = POS('/',str)
+ IF p = 0 THEN LEAVE
+ str = DELSTR(str,1,p)
+END
+RETURN str
+
+nlevels:
+str = ARG(1)
+count = 0
+oldpos = 1
+DO FOREVER
+ newpos = POS('/',str,oldpos)
+ IF newpos = 0 THEN LEAVE
+ oldpos = newpos + 1
+ count = count + 1
+END
+RETURN count
+
+maketop:
+str = ''
+n = ARG(1)
+DO k=1 TO n
+ str = str||'../'
+END
+RETURN str||'.'
+
+stripsuffix:
+str = ARG(1)
+spos = POS('.',str)
+IF spos = 0 THEN
+ RETURN str
+ELSE
+ RETURN LEFT(str,spos-1)
diff --git a/nx-X11/config/makedepend/Imakefile b/nx-X11/config/makedepend/Imakefile
new file mode 100644
index 000000000..8bb20724b
--- /dev/null
+++ b/nx-X11/config/makedepend/Imakefile
@@ -0,0 +1,101 @@
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:50 cpqbld Exp $
+XCOMM
+XCOMM
+XCOMM
+XCOMM
+XCOMM $XFree86: xc/config/makedepend/Imakefile,v 3.12tsi Exp $
+
+ SRCS = include.c main.c parse.c pr.c cppsetup.c ifparser.c
+ OBJS = include.o main.o parse.o pr.o cppsetup.o ifparser.o
+
+XCOMM Some compilers generate fatal errors if an -L directory does
+XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
+ LDPRELIB =
+ LDPRELIBS =
+
+#if HasGcc && !defined(PreIncDir)
+#ifdef CrossCompileDir
+#else
+#define PreIncDir /usr/local/lib/gcc-include
+#endif
+#endif
+#ifdef PreIncDir
+PREINCDIR = PreIncDir
+PREINC_DEFINES = -DPREINCDIR=\"$(PREINCDIR)\"
+#endif
+#ifndef StdIncDir
+#ifdef CrossCompileDir
+#define StdIncDir Concat(CrossCompileDir,/../include)
+#else
+#define StdIncDir /usr/include
+#endif
+#endif
+STDINCDIR = StdIncDir
+STDINC_DEFINES = -DINCLUDEDIR=\"$(STDINCDIR)\"
+#ifdef PostIncDir
+POSTINCDIR = PostIncDir
+POSTINC_DEFINES = -DPOSTINCDIR=\"$(POSTINCDIR)\"
+#endif
+#ifdef ExtraIncDir
+EXTRAINCDIR = ExtraIncDir
+EXTRAINC_DEFINES = -DEXTRAINCDIR=\"$(EXTRAINCDIR)\"
+#endif
+INC_DEFINES = $(PREINC_DEFINES) $(STDINC_DEFINES) $(POSTINC_DEFINES) \
+ $(EXTRAINC_DEFINES)
+OSUF = Concat(.,Osuf)
+OSUF_DEFINES = -DOBJSUFFIX=\"$(OSUF)\"
+MAIN_DEFINES = $(INC_DEFINES) $(SIGNAL_DEFINES) $(OSUF_DEFINES)
+INCLUDES = -I$(IMAKESRC) -I$(TOP)/include $(TOP_X_INCLUDES)/X11
+
+ DEPLIBS =
+
+#if defined(MacIIArchitecture) || defined(SequentArchitecture) || defined(i386ScoArchitecture)
+ XBSDLIB = /**/
+#endif
+
+AllTarget(HostProgramTargetName(makedepend))
+
+makedependonly:: HostProgramTargetName(makedepend)
+
+/*
+ * bootstrapping: want to build the real makedepend
+ * only after we've run "make depend" here. That way
+ * the program has the right dependencies for clearmake.
+ * Save the bootstrap original files so they can be winked in
+ * to other views.
+ */
+
+#if HasClearmake
+bootstrap:
+ test -h X11 || $(LN) TOPDIR/include X11
+ $(MAKE) -f Makefile.proto TOP_INCLUDES=-I. makedepend
+
+depend::
+ $(MAKE) -f Makefile.proto depend
+ test -d bootstrap || mkdir bootstrap
+ $(MV) *.o makedepend bootstrap
+ $(MAKE) -f Makefile.proto makedepend
+
+clean::
+ $(RM) -r bootstrap
+ $(RM) X11
+#else
+bootstrap:
+#endif /* HasClearmake */
+
+clean::
+ $(RM) Makefile.proto
+
+#undef InstallManPage
+#define InstallManPage(file,dest) /* as nothing */
+#if CrossCompiling
+ComplexHostProgramTarget(makedepend)
+#else
+ComplexProgramTarget(makedepend)
+#endif
+
+SpecialCObjectRule(main,$(ICONFIGFILES),$(MAIN_DEFINES))
+
+InstallManPageLong(mkdepend,$(MANDIR),makedepend)
+
+InstallDriverSDKNamedProg(makedepend,makedepend,$(DRIVERSDKDIR)/config/makedepend)
diff --git a/nx-X11/config/makedepend/cpp.ed b/nx-X11/config/makedepend/cpp.ed
new file mode 100644
index 000000000..3a7db5096
--- /dev/null
+++ b/nx-X11/config/makedepend/cpp.ed
@@ -0,0 +1,75 @@
+#
+# $Xorg: cpp.ed,v 1.3 2000/08/17 19:41:50 cpqbld Exp $
+#
+# $Locker $
+#
+/struct symtab stab/d
+/struct symtab \*defloc;/d
+/struct symtab \*udfloc;/d
+/struct symtab \*incloc;/d
+/struct symtab \*ifloc;/d
+/struct symtab \*elsloc;/d
+/struct symtab \*eifloc;/d
+/struct symtab \*ifdloc;/d
+/struct symtab \*ifnloc;/d
+/struct symtab \*ysysloc;/d
+/struct symtab \*varloc;/d
+/struct symtab \*lneloc;/d
+/struct symtab \*ulnloc;/d
+/struct symtab \*uflloc;/d
+/^sayline(/s/$/ DELETED/p
+.,/^}/d
+/^unfill(/s/$/ DELETED/p
+.-1,/^}/d
+/^doincl(/s/$/ DELETED/p
+.-1,/^}/d
+/^equfrm(/s/$/ DELETED/p
+.,/^}/d
+/^dodef(/s/$/ DELETED/p
+.-1,/^}/d
+/^control(/s/$/ DELETED/p
+.-1,/^}/d
+/^savestring(/s/$/ DELETED/p
+.-1,/^}/d
+/^stsym(/s/$/ DELETED/p
+.-1,/^}/d
+/^ppsym(/s/$/ DELETED/p
+.-1,/^}/d
+/^yyerror(/s/$/ DELETED/p
+.,/^}/d
+/^ppwarn(/s/$/ DELETED/p
+.,/^}/d
+/^lookup(/s/$/ DELETED/p
+.-1,/^}/d
+/^subst(/s/$/ DELETED/p
+.-1,/^}/d
+/^trmdir(/s/$/ DELETED/p
+.-1,/^}/d
+/^copy(/s/$/ DELETED/p
+.-1,/^}/d
+/^pperror(/s/$/ DELETED/p
+.,/^}/d
+/^main(/s/$/ CHANGED to cpp_varsetup(argc,argv)/p
+.c
+cpp_varsetup(argc,argv)
+.
+/^strdex(/s/$/ DELETED/p
+.-1,/^}/d
+/^ for(i=1; i<argc; i++)/s/$/ To the end DELETED/p
+.,$c
+}
+.
+/^dump(/s/$/ DELETED/p
+.,/^}/c
+dump() { fatal("dump\n"); }
+.
+/^refill(/s/$/ DELETED/p
+.,/^}/c
+refill() { fatal("refill\n"); }
+.
+/^slookup(/s/$/ DELETED/p
+.-1,/^}/c
+static struct symtab *slookup() { fatal("slookup\n"); }
+.
+w
+q
diff --git a/nx-X11/config/makedepend/cppsetup.c b/nx-X11/config/makedepend/cppsetup.c
new file mode 100644
index 000000000..c7ac25681
--- /dev/null
+++ b/nx-X11/config/makedepend/cppsetup.c
@@ -0,0 +1,233 @@
+/* $Xorg: cppsetup.c,v 1.5 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/cppsetup.c,v 3.10 2001/12/14 19:53:20 dawes Exp $ */
+
+#include "def.h"
+
+#ifdef CPP
+/*
+ * This file is strictly for the sake of cpy.y and yylex.c (if
+ * you indeed have the source for cpp).
+ */
+#define IB 1
+#define SB 2
+#define NB 4
+#define CB 8
+#define QB 16
+#define WB 32
+#define SALT '#'
+#if defined(pdp11) || defined(vax) || defined(ns16000) || defined(mc68000) || defined(ibm032)
+#define COFF 128
+#else
+#define COFF 0
+#endif
+/*
+ * These variables used by cpy.y and yylex.c
+ */
+extern char *outp, *inp, *newp, *pend;
+extern char *ptrtab;
+extern char fastab[];
+extern char slotab[];
+
+/*
+ * cppsetup
+ */
+struct filepointer *currentfile;
+struct inclist *currentinc;
+
+int
+cppsetup(char *line, struct filepointer *filep, struct inclist *inc)
+{
+ char *p, savec;
+ static boolean setupdone = FALSE;
+ boolean value;
+
+ if (!setupdone) {
+ cpp_varsetup();
+ setupdone = TRUE;
+ }
+
+ currentfile = filep;
+ currentinc = inc;
+ inp = newp = line;
+ for (p=newp; *p; p++)
+ ;
+
+ /*
+ * put a newline back on the end, and set up pend, etc.
+ */
+ *p++ = '\n';
+ savec = *p;
+ *p = '\0';
+ pend = p;
+
+ ptrtab = slotab+COFF;
+ *--inp = SALT;
+ outp=inp;
+ value = yyparse();
+ *p = savec;
+ return(value);
+}
+
+struct symtab **lookup(symbol)
+ char *symbol;
+{
+ static struct symtab *undefined;
+ struct symtab **sp;
+
+ sp = isdefined(symbol, currentinc, NULL);
+ if (sp == NULL) {
+ sp = &undefined;
+ (*sp)->s_value = NULL;
+ }
+ return (sp);
+}
+
+pperror(tag, x0,x1,x2,x3,x4)
+ int tag,x0,x1,x2,x3,x4;
+{
+ warning("\"%s\", line %d: ", currentinc->i_file, currentfile->f_line);
+ warning(x0,x1,x2,x3,x4);
+}
+
+
+yyerror(s)
+ register char *s;
+{
+ fatalerr("Fatal error: %s\n", s);
+}
+#else /* not CPP */
+
+#include "ifparser.h"
+struct _parse_data {
+ struct filepointer *filep;
+ struct inclist *inc;
+ char *filename;
+ const char *line;
+};
+
+static const char *
+my_if_errors (IfParser *ip, const char *cp, const char *expecting)
+{
+ struct _parse_data *pd = (struct _parse_data *) ip->data;
+ int lineno = pd->filep->f_line;
+ char *filename = pd->filename;
+ char prefix[300];
+ int prefixlen;
+ int i;
+
+ sprintf (prefix, "\"%s\":%d", filename, lineno);
+ prefixlen = strlen(prefix);
+ fprintf (stderr, "%s: %s", prefix, pd->line);
+ i = cp - pd->line;
+ if (i > 0 && pd->line[i-1] != '\n') {
+ putc ('\n', stderr);
+ }
+ for (i += prefixlen + 3; i > 0; i--) {
+ putc (' ', stderr);
+ }
+ fprintf (stderr, "^--- expecting %s\n", expecting);
+ return NULL;
+}
+
+
+#define MAXNAMELEN 256
+
+static struct symtab **
+lookup_variable (IfParser *ip, const char *var, int len)
+{
+ char tmpbuf[MAXNAMELEN + 1];
+ struct _parse_data *pd = (struct _parse_data *) ip->data;
+
+ if (len > MAXNAMELEN)
+ return 0;
+
+ strncpy (tmpbuf, var, len);
+ tmpbuf[len] = '\0';
+ return isdefined (tmpbuf, pd->inc, NULL);
+}
+
+
+static int
+my_eval_defined (IfParser *ip, const char *var, int len)
+{
+ if (lookup_variable (ip, var, len))
+ return 1;
+ else
+ return 0;
+}
+
+#define isvarfirstletter(ccc) (isalpha(ccc) || (ccc) == '_')
+
+static long
+my_eval_variable (IfParser *ip, const char *var, int len)
+{
+ long val;
+ struct symtab **s;
+
+ s = lookup_variable (ip, var, len);
+ if (!s)
+ return 0;
+ do {
+ var = (*s)->s_value;
+ if (!isvarfirstletter(*var) || !strcmp((*s)->s_name, var))
+ break;
+ s = lookup_variable (ip, var, strlen(var));
+ } while (s);
+
+ var = ParseIfExpression(ip, var, &val);
+ if (var && *var) debug(4, ("extraneous: '%s'\n", var));
+ return val;
+}
+
+int
+cppsetup(char *filename,
+ char *line,
+ struct filepointer *filep,
+ struct inclist *inc)
+{
+ IfParser ip;
+ struct _parse_data pd;
+ long val = 0;
+
+ pd.filep = filep;
+ pd.inc = inc;
+ pd.line = line;
+ pd.filename = filename;
+ ip.funcs.handle_error = my_if_errors;
+ ip.funcs.eval_defined = my_eval_defined;
+ ip.funcs.eval_variable = my_eval_variable;
+ ip.data = (char *) &pd;
+
+ (void) ParseIfExpression (&ip, line, &val);
+ if (val)
+ return IF;
+ else
+ return IFFALSE;
+}
+#endif /* CPP */
+
diff --git a/nx-X11/config/makedepend/def.h b/nx-X11/config/makedepend/def.h
new file mode 100644
index 000000000..cf8f37b02
--- /dev/null
+++ b/nx-X11/config/makedepend/def.h
@@ -0,0 +1,188 @@
+/* $XdotOrg: xc/config/makedepend/def.h,v 1.4 2005/07/29 18:42:37 kem Exp $ */
+/* $Xorg: def.h,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group.
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/def.h,v 3.13tsi Exp $ */
+
+#ifdef HAVE_CONFIG_H /* Autotooled for Xorg 7.0? */
+# include "makedepend-config.h"
+# define USING_AUTOCONF
+#endif
+
+#include <X11/Xos.h>
+#include <X11/Xfuncproto.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#if 0
+#ifndef X_NOT_POSIX
+#ifndef _POSIX_SOURCE
+#define _POSIX_SOURCE
+#endif
+#endif
+#endif
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define MAXDEFINES 512
+#define MAXFILES 1024
+#define MAXINCFILES 128 /* "-include" files */
+#define MAXDIRS 64
+#define SYMTABINC 10 /* must be > 1 for define() to work right */
+#define TRUE 1
+#define FALSE 0
+
+/* the following must match the directives table in main.c */
+#define IF 0
+#define IFDEF 1
+#define IFNDEF 2
+#define ELSE 3
+#define ENDIF 4
+#define DEFINE 5
+#define UNDEF 6
+#define INCLUDE 7
+#define LINE 8
+#define PRAGMA 9
+#define ERROR 10
+#define IDENT 11
+#define SCCS 12
+#define ELIF 13
+#define EJECT 14
+#define WARNING 15
+#define INCLUDENEXT 16
+#define IFFALSE 17 /* pseudo value --- never matched */
+#define ELIFFALSE 18 /* pseudo value --- never matched */
+#define INCLUDEDOT 19 /* pseudo value --- never matched */
+#define IFGUESSFALSE 20 /* pseudo value --- never matched */
+#define ELIFGUESSFALSE 21 /* pseudo value --- never matched */
+#define INCLUDENEXTDOT 22 /* pseudo value --- never matched */
+
+#ifdef DEBUG
+extern int _debugmask;
+/*
+ * debug levels are:
+ *
+ * 0 show ifn*(def)*,endif
+ * 1 trace defined/!defined
+ * 2 show #include
+ * 3 show #include SYMBOL
+ * 4-6 unused
+ */
+#define debug(level,arg) { if (_debugmask & (1 << level)) warning arg; }
+#else
+#define debug(level,arg) /**/
+#endif /* DEBUG */
+
+typedef unsigned char boolean;
+
+struct symtab {
+ char *s_name;
+ char *s_value;
+};
+
+/* possible i_flag */
+#define DEFCHECKED (1<<0) /* whether defines have been checked */
+#define NOTIFIED (1<<1) /* whether we have revealed includes */
+#define MARKED (1<<2) /* whether it's in the makefile */
+#define SEARCHED (1<<3) /* whether we have read this */
+#define FINISHED (1<<4) /* whether we are done reading this */
+#define INCLUDED_SYM (1<<5) /* whether #include SYMBOL was found
+ Can't use i_list if TRUE */
+struct inclist {
+ char *i_incstring; /* string from #include line */
+ char *i_file; /* path name of the include file */
+ struct inclist **i_list; /* list of files it itself includes */
+ int i_listlen; /* length of i_list */
+ struct symtab **i_defs; /* symbol table for this file and its
+ children when merged */
+ int i_ndefs; /* current # defines */
+ boolean *i_merged; /* whether we have merged child
+ defines */
+ unsigned char i_flags;
+};
+
+struct filepointer {
+ char *f_name;
+ char *f_p;
+ char *f_base;
+ char *f_end;
+ long f_len;
+ long f_line;
+ long cmdinc_count;
+ char **cmdinc_list;
+ long cmdinc_line;
+};
+
+#include <stdlib.h>
+#if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
+char *malloc(), *realloc();
+#endif /* macII */
+
+char *copy(char *str);
+int match(char *str, char **list);
+char *base_name(char *file);
+char *getnextline(struct filepointer *fp);
+struct symtab **slookup(char *symbol, struct inclist *file);
+struct symtab **isdefined(char *symbol, struct inclist *file,
+ struct inclist **srcfile);
+struct symtab **fdefined(char *symbol, struct inclist *file,
+ struct inclist **srcfile);
+struct filepointer *getfile(char *file);
+void included_by(struct inclist *ip,
+ struct inclist *newfile);
+struct inclist *newinclude(char *newfile, char *incstring);
+void inc_clean (void);
+struct inclist *inc_path(char *file, char *include, int type);
+
+void freefile(struct filepointer *fp);
+
+void define2(char *name, char *val, struct inclist *file);
+void define(char *def, struct inclist *file);
+void undefine(char *symbol, struct inclist *file);
+int find_includes(struct filepointer *filep,
+ struct inclist *file,
+ struct inclist *file_red,
+ int recursion, boolean failOK);
+
+void recursive_pr_include(struct inclist *head,
+ char *file, char *base);
+void add_include(struct filepointer *filep,
+ struct inclist *file,
+ struct inclist *file_red,
+ char *include, int type,
+ boolean failOK);
+
+int cppsetup(char *filename,
+ char *line,
+ struct filepointer *filep,
+ struct inclist *inc);
+
+
+extern void fatalerr(char *, ...);
+extern void warning(char *, ...);
+extern void warning1(char *, ...);
diff --git a/nx-X11/config/makedepend/ifparser.c b/nx-X11/config/makedepend/ifparser.c
new file mode 100644
index 000000000..58c05a09f
--- /dev/null
+++ b/nx-X11/config/makedepend/ifparser.c
@@ -0,0 +1,553 @@
+/*
+ * $Xorg: ifparser.c,v 1.3 2000/08/17 19:41:50 cpqbld Exp $
+ *
+ * Copyright 1992 Network Computing Devices, Inc.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices may not be
+ * used in advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission. Network Computing Devices makes
+ * no representations about the suitability of this software for any purpose.
+ * It is provided ``as is'' without express or implied warranty.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+ * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Jim Fulton
+ * Network Computing Devices, Inc.
+ *
+ * Simple if statement processor
+ *
+ * This module can be used to evaluate string representations of C language
+ * if constructs. It accepts the following grammar:
+ *
+ * EXPRESSION := VALUE
+ * | VALUE BINOP EXPRESSION
+ * | VALUE '?' EXPRESSION ':' EXPRESSION
+ *
+ * VALUE := '(' EXPRESSION ')'
+ * | '!' VALUE
+ * | '-' VALUE
+ * | '+' VALUE
+ * | '~' VALUE
+ * | 'defined' '(' variable ')'
+ * | 'defined' variable
+ * | # variable '(' variable-list ')'
+ * | variable
+ * | number
+ *
+ * BINOP := '*' | '/' | '%'
+ * | '+' | '-'
+ * | '<<' | '>>'
+ * | '<' | '>' | '<=' | '>='
+ * | '==' | '!='
+ * | '&' | '^' | '|'
+ * | '&&' | '||'
+ *
+ * The normal C order of precedence is supported.
+ *
+ *
+ * External Entry Points:
+ *
+ * ParseIfExpression parse a string for #if
+ */
+/* $XFree86: xc/config/makedepend/ifparser.c,v 3.10tsi Exp $ */
+
+#include "ifparser.h"
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+
+/****************************************************************************
+ Internal Macros and Utilities for Parser
+ ****************************************************************************/
+
+#define DO(val) if (!(val)) return NULL
+#define CALLFUNC(ggg,fff) (*((ggg)->funcs.fff))
+#define SKIPSPACE(ccc) while (isspace(*ccc)) ccc++
+#define isvarfirstletter(ccc) (isalpha(ccc) || (ccc) == '_')
+
+
+static const char *
+parse_variable (IfParser *g, const char *cp, const char **varp)
+{
+ SKIPSPACE (cp);
+
+ if (!isvarfirstletter (*cp))
+ return CALLFUNC(g, handle_error) (g, cp, "variable name");
+
+ *varp = cp;
+ /* EMPTY */
+ for (cp++; isalnum(*cp) || *cp == '_'; cp++) ;
+ return cp;
+}
+
+
+static const char *
+parse_number (IfParser *g, const char *cp, long *valp)
+{
+ long base = 10;
+ SKIPSPACE (cp);
+
+ if (!isdigit(*cp))
+ return CALLFUNC(g, handle_error) (g, cp, "number");
+
+ *valp = 0;
+
+ if (*cp == '0') {
+ cp++;
+ if ((*cp == 'x') || (*cp == 'X')) {
+ base = 16;
+ cp++;
+ } else {
+ base = 8;
+ }
+ }
+
+ /* Ignore overflows and assume ASCII, what source is usually written in */
+ while (1) {
+ int increment = -1;
+ if (base == 8) {
+ if ((*cp >= '0') && (*cp <= '7'))
+ increment = *cp++ - '0';
+ } else if (base == 16) {
+ if ((*cp >= '0') && (*cp <= '9'))
+ increment = *cp++ - '0';
+ else if ((*cp >= 'A') && (*cp <= 'F'))
+ increment = *cp++ - ('A' - 10);
+ else if ((*cp >= 'a') && (*cp <= 'f'))
+ increment = *cp++ - ('a' - 10);
+ } else { /* Decimal */
+ if ((*cp >= '0') && (*cp <= '9'))
+ increment = *cp++ - '0';
+ }
+ if (increment < 0)
+ break;
+ *valp = (*valp * base) + increment;
+ }
+
+ /* Skip trailing qualifiers */
+ while (*cp == 'U' || *cp == 'u' || *cp == 'L' || *cp == 'l') cp++;
+ return cp;
+}
+
+static const char *
+parse_character (IfParser *g, const char *cp, long *valp)
+{
+ char val;
+
+ SKIPSPACE (cp);
+ if (*cp == '\\')
+ switch (cp[1]) {
+ case 'n': val = '\n'; break;
+ case 't': val = '\t'; break;
+ case 'v': val = '\v'; break;
+ case 'b': val = '\b'; break;
+ case 'r': val = '\r'; break;
+ case 'f': val = '\f'; break;
+ case 'a': val = '\a'; break;
+ case '\\': val = '\\'; break;
+ case '?': val = '\?'; break;
+ case '\'': val = '\''; break;
+ case '\"': val = '\"'; break;
+ case 'x': val = (char) strtol (cp + 2, NULL, 16); break;
+ default: val = (char) strtol (cp + 1, NULL, 8); break;
+ }
+ else
+ val = *cp;
+ while (*cp != '\'') cp++;
+ *valp = (long) val;
+ return cp;
+}
+
+static const char *
+parse_value (IfParser *g, const char *cp, long *valp)
+{
+ const char *var, *varend;
+
+ *valp = 0;
+
+ SKIPSPACE (cp);
+ if (!*cp)
+ return cp;
+
+ switch (*cp) {
+ case '(':
+ DO (cp = ParseIfExpression (g, cp + 1, valp));
+ SKIPSPACE (cp);
+ if (*cp != ')')
+ return CALLFUNC(g, handle_error) (g, cp, ")");
+
+ return cp + 1; /* skip the right paren */
+
+ case '!':
+ DO (cp = parse_value (g, cp + 1, valp));
+ *valp = !(*valp);
+ return cp;
+
+ case '-':
+ DO (cp = parse_value (g, cp + 1, valp));
+ *valp = -(*valp);
+ return cp;
+
+ case '+':
+ DO (cp = parse_value (g, cp + 1, valp));
+ return cp;
+
+ case '~':
+ DO (cp = parse_value (g, cp + 1, valp));
+ *valp = ~(*valp);
+ return cp;
+
+ case '#':
+ DO (cp = parse_variable (g, cp + 1, &var));
+ SKIPSPACE (cp);
+ if (*cp != '(')
+ return CALLFUNC(g, handle_error) (g, cp, "(");
+ do {
+ DO (cp = parse_variable (g, cp + 1, &var));
+ SKIPSPACE (cp);
+ } while (*cp && *cp != ')');
+ if (*cp != ')')
+ return CALLFUNC(g, handle_error) (g, cp, ")");
+ *valp = 1; /* XXX */
+ return cp + 1;
+
+ case '\'':
+ DO (cp = parse_character (g, cp + 1, valp));
+ if (*cp != '\'')
+ return CALLFUNC(g, handle_error) (g, cp, "'");
+ return cp + 1;
+
+ case 'd':
+ if (strncmp (cp, "defined", 7) == 0 && !isalnum(cp[7])) {
+ int paren = 0;
+ int len;
+
+ cp += 7;
+ SKIPSPACE (cp);
+ if (*cp == '(') {
+ paren = 1;
+ cp++;
+ }
+ DO (cp = parse_variable (g, cp, &var));
+ len = cp - var;
+ SKIPSPACE (cp);
+ if (paren && *cp != ')')
+ return CALLFUNC(g, handle_error) (g, cp, ")");
+ *valp = (*(g->funcs.eval_defined)) (g, var, len);
+ return cp + paren; /* skip the right paren */
+ }
+ /* fall out */
+ }
+
+ if (isdigit(*cp)) {
+ DO (cp = parse_number (g, cp, valp));
+ } else if (!isvarfirstletter(*cp))
+ return CALLFUNC(g, handle_error) (g, cp, "variable or number");
+ else {
+ DO (cp = parse_variable (g, cp, &var));
+ varend = cp;
+ SKIPSPACE(cp);
+ if (*cp != '(') {
+ *valp = (*(g->funcs.eval_variable)) (g, var, varend - var);
+ } else {
+ do {
+ long dummy;
+ DO (cp = ParseIfExpression (g, cp + 1, &dummy));
+ SKIPSPACE(cp);
+ if (*cp == ')')
+ break;
+ if (*cp != ',')
+ return CALLFUNC(g, handle_error) (g, cp, ",");
+ } while (1);
+
+ *valp = 1; /* XXX */
+ cp++;
+ }
+ }
+
+ return cp;
+}
+
+
+
+static const char *
+parse_product (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_value (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '*':
+ DO (cp = parse_product (g, cp + 1, &rightval));
+ *valp = (*valp * rightval);
+ break;
+
+ case '/':
+ DO (cp = parse_product (g, cp + 1, &rightval));
+ if (rightval)
+ *valp = (*valp / rightval);
+ else
+ *valp = LONG_MAX;
+ break;
+
+ case '%':
+ DO (cp = parse_product (g, cp + 1, &rightval));
+ *valp = (*valp % rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_sum (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_product (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '+':
+ DO (cp = parse_sum (g, cp + 1, &rightval));
+ *valp = (*valp + rightval);
+ break;
+
+ case '-':
+ DO (cp = parse_sum (g, cp + 1, &rightval));
+ *valp = (*valp - rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_shift (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_sum (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '<':
+ if (cp[1] == '<') {
+ DO (cp = parse_shift (g, cp + 2, &rightval));
+ *valp = (*valp << rightval);
+ }
+ break;
+
+ case '>':
+ if (cp[1] == '>') {
+ DO (cp = parse_shift (g, cp + 2, &rightval));
+ *valp = (*valp >> rightval);
+ }
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_inequality (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_shift (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '<':
+ if (cp[1] == '=') {
+ DO (cp = parse_inequality (g, cp + 2, &rightval));
+ *valp = (*valp <= rightval);
+ } else {
+ DO (cp = parse_inequality (g, cp + 1, &rightval));
+ *valp = (*valp < rightval);
+ }
+ break;
+
+ case '>':
+ if (cp[1] == '=') {
+ DO (cp = parse_inequality (g, cp + 2, &rightval));
+ *valp = (*valp >= rightval);
+ } else {
+ DO (cp = parse_inequality (g, cp + 1, &rightval));
+ *valp = (*valp > rightval);
+ }
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_equality (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_inequality (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '=':
+ if (cp[1] == '=')
+ cp++;
+ DO (cp = parse_equality (g, cp + 1, &rightval));
+ *valp = (*valp == rightval);
+ break;
+
+ case '!':
+ if (cp[1] != '=')
+ break;
+ DO (cp = parse_equality (g, cp + 2, &rightval));
+ *valp = (*valp != rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_band (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_equality (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '&':
+ if (cp[1] != '&') {
+ DO (cp = parse_band (g, cp + 1, &rightval));
+ *valp = (*valp & rightval);
+ }
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_bxor (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_band (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '^':
+ DO (cp = parse_bxor (g, cp + 1, &rightval));
+ *valp = (*valp ^ rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_bor (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_bxor (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '|':
+ if (cp[1] != '|') {
+ DO (cp = parse_bor (g, cp + 1, &rightval));
+ *valp = (*valp | rightval);
+ }
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_land (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_bor (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '&':
+ if (cp[1] != '&')
+ return CALLFUNC(g, handle_error) (g, cp, "&&");
+ DO (cp = parse_land (g, cp + 2, &rightval));
+ *valp = (*valp && rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_lor (IfParser *g, const char *cp, long *valp)
+{
+ long rightval;
+
+ DO (cp = parse_land (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '|':
+ if (cp[1] != '|')
+ return CALLFUNC(g, handle_error) (g, cp, "||");
+ DO (cp = parse_lor (g, cp + 2, &rightval));
+ *valp = (*valp || rightval);
+ break;
+ }
+ return cp;
+}
+
+
+static const char *
+parse_cond(IfParser *g, const char *cp, long *valp)
+{
+ long trueval, falseval;
+
+ DO (cp = parse_lor (g, cp, valp));
+ SKIPSPACE (cp);
+
+ switch (*cp) {
+ case '?':
+ DO (cp = parse_cond (g, cp + 1, &trueval));
+ SKIPSPACE (cp);
+ if (*cp != ':')
+ return CALLFUNC(g, handle_error) (g, cp, ":");
+ DO (cp = parse_cond (g, cp + 1, &falseval));
+ *valp = (*valp ? trueval : falseval);
+ break;
+ }
+ return cp;
+}
+
+
+/****************************************************************************
+ External Entry Points
+ ****************************************************************************/
+
+const char *
+ParseIfExpression (IfParser *g, const char *cp, long *valp)
+{
+ return parse_cond (g, cp, valp);
+}
diff --git a/nx-X11/config/makedepend/ifparser.h b/nx-X11/config/makedepend/ifparser.h
new file mode 100644
index 000000000..398a3e49c
--- /dev/null
+++ b/nx-X11/config/makedepend/ifparser.h
@@ -0,0 +1,83 @@
+/*
+ * $Xorg: ifparser.h,v 1.3 2000/08/17 19:41:51 cpqbld Exp $
+ *
+ * Copyright 1992 Network Computing Devices, Inc.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted, provided
+ * that the above copyright notice appear in all copies and that both that
+ * copyright notice and this permission notice appear in supporting
+ * documentation, and that the name of Network Computing Devices may not be
+ * used in advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission. Network Computing Devices makes
+ * no representations about the suitability of this software for any purpose.
+ * It is provided ``as is'' without express or implied warranty.
+ *
+ * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
+ * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
+ * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Author: Jim Fulton
+ * Network Computing Devices, Inc.
+ *
+ * Simple if statement processor
+ *
+ * This module can be used to evaluate string representations of C language
+ * if constructs. It accepts the following grammar:
+ *
+ * EXPRESSION := VALUE
+ * | VALUE BINOP EXPRESSION
+ * | VALUE '?' EXPRESSION ':' EXPRESSION
+ *
+ * VALUE := '(' EXPRESSION ')'
+ * | '!' VALUE
+ * | '-' VALUE
+ * | '~' VALUE
+ * | 'defined' '(' variable ')'
+ * | variable
+ * | number
+ *
+ * BINOP := '*' | '/' | '%'
+ * | '+' | '-'
+ * | '<<' | '>>'
+ * | '<' | '>' | '<=' | '>='
+ * | '==' | '!='
+ * | '&' | '^' | '|'
+ * | '&&' | '||'
+ *
+ * The normal C order of precedence is supported.
+ *
+ *
+ * External Entry Points:
+ *
+ * ParseIfExpression parse a string for #if
+ */
+
+/* $XFree86: xc/config/makedepend/ifparser.h,v 3.4 2001/01/17 16:38:58 dawes Exp $ */
+
+#include <stdio.h>
+
+typedef int Bool;
+#define False 0
+#define True 1
+
+typedef struct _if_parser {
+ struct { /* functions */
+ const char *(*handle_error) (struct _if_parser *, const char *,
+ const char *);
+ long (*eval_variable) (struct _if_parser *, const char *, int);
+ int (*eval_defined) (struct _if_parser *, const char *, int);
+ } funcs;
+ char *data;
+} IfParser;
+
+const char *ParseIfExpression (
+ IfParser *,
+ const char *,
+ long *
+);
+
diff --git a/nx-X11/config/makedepend/include.c b/nx-X11/config/makedepend/include.c
new file mode 100644
index 000000000..65ce78338
--- /dev/null
+++ b/nx-X11/config/makedepend/include.c
@@ -0,0 +1,318 @@
+/* $Xorg: include.c,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/include.c,v 3.6 2001/04/29 23:25:02 tsi Exp $ */
+
+
+#include "def.h"
+
+extern struct inclist inclist[ MAXFILES ],
+ *inclistp, *inclistnext;
+extern char *includedirs[ ],
+ **includedirsnext;
+extern char *notdotdot[ ];
+extern boolean show_where_not;
+extern boolean warn_multiple;
+
+static boolean
+isdot(char *p)
+{
+ if(p && *p++ == '.' && *p++ == '\0')
+ return(TRUE);
+ return(FALSE);
+}
+
+static boolean
+isdotdot(char *p)
+{
+ if(p && *p++ == '.' && *p++ == '.' && *p++ == '\0')
+ return(TRUE);
+ return(FALSE);
+}
+
+static boolean
+issymbolic(char *dir, char *component)
+{
+#ifdef S_IFLNK
+ struct stat st;
+ char buf[ BUFSIZ ], **pp;
+
+ sprintf(buf, "%s%s%s", dir, *dir ? "/" : "", component);
+ for (pp=notdotdot; *pp; pp++)
+ if (strcmp(*pp, buf) == 0)
+ return (TRUE);
+ if (lstat(buf, &st) == 0
+ && (st.st_mode & S_IFMT) == S_IFLNK) {
+ *pp++ = copy(buf);
+ if (pp >= &notdotdot[ MAXDIRS ])
+ fatalerr("out of .. dirs, increase MAXDIRS\n");
+ return(TRUE);
+ }
+#endif
+ return(FALSE);
+}
+
+/*
+ * Occasionally, pathnames are created that look like .../x/../y
+ * Any of the 'x/..' sequences within the name can be eliminated.
+ * (but only if 'x' is not a symbolic link!!)
+ */
+static void
+remove_dotdot(char *path)
+{
+ register char *end, *from, *to, **cp;
+ char *components[ MAXFILES ],
+ newpath[ BUFSIZ ];
+ boolean component_copied;
+
+ /*
+ * slice path up into components.
+ */
+ to = newpath;
+ if (*path == '/')
+ *to++ = '/';
+ *to = '\0';
+ cp = components;
+ for (from=end=path; *end; end++)
+ if (*end == '/') {
+ while (*end == '/')
+ *end++ = '\0';
+ if (*from)
+ *cp++ = from;
+ from = end;
+ }
+ *cp++ = from;
+ *cp = NULL;
+
+ /*
+ * Recursively remove all 'x/..' component pairs.
+ */
+ cp = components;
+ while(*cp) {
+ if (!isdot(*cp) && !isdotdot(*cp) && isdotdot(*(cp+1))
+ && !issymbolic(newpath, *cp))
+ {
+ char **fp = cp + 2;
+ char **tp = cp;
+
+ do
+ *tp++ = *fp; /* move all the pointers down */
+ while (*fp++);
+ if (cp != components)
+ cp--; /* go back and check for nested ".." */
+ } else {
+ cp++;
+ }
+ }
+ /*
+ * Concatenate the remaining path elements.
+ */
+ cp = components;
+ component_copied = FALSE;
+ while(*cp) {
+ if (component_copied)
+ *to++ = '/';
+ component_copied = TRUE;
+ for (from = *cp; *from; )
+ *to++ = *from++;
+ *to = '\0';
+ cp++;
+ }
+ *to++ = '\0';
+
+ /*
+ * copy the reconstituted path back to our pointer.
+ */
+ strcpy(path, newpath);
+}
+
+/*
+ * Add an include file to the list of those included by 'file'.
+ */
+struct inclist *
+newinclude(char *newfile, char *incstring)
+{
+ register struct inclist *ip;
+
+ /*
+ * First, put this file on the global list of include files.
+ */
+ ip = inclistp++;
+ if (inclistp == inclist + MAXFILES - 1)
+ fatalerr("out of space: increase MAXFILES\n");
+ ip->i_file = copy(newfile);
+
+ if (incstring == NULL)
+ ip->i_incstring = ip->i_file;
+ else
+ ip->i_incstring = copy(incstring);
+
+ inclistnext = inclistp;
+ return(ip);
+}
+
+void
+included_by(struct inclist *ip, struct inclist *newfile)
+{
+ register int i;
+
+ if (ip == NULL)
+ return;
+ /*
+ * Put this include file (newfile) on the list of files included
+ * by 'file'. If 'file' is NULL, then it is not an include
+ * file itself (i.e. was probably mentioned on the command line).
+ * If it is already on the list, don't stick it on again.
+ */
+ if (ip->i_list == NULL) {
+ ip->i_list = (struct inclist **)
+ malloc(sizeof(struct inclist *) * ++ip->i_listlen);
+ ip->i_merged = (boolean *)
+ malloc(sizeof(boolean) * ip->i_listlen);
+ } else {
+ for (i=0; i<ip->i_listlen; i++)
+ if (ip->i_list[ i ] == newfile) {
+ i = strlen(newfile->i_file);
+ if (!(ip->i_flags & INCLUDED_SYM) &&
+ !(i > 2 &&
+ newfile->i_file[i-1] == 'c' &&
+ newfile->i_file[i-2] == '.'))
+ {
+ /* only bitch if ip has */
+ /* no #include SYMBOL lines */
+ /* and is not a .c file */
+ if (warn_multiple)
+ {
+ warning("%s includes %s more than once!\n",
+ ip->i_file, newfile->i_file);
+ warning1("Already have\n");
+ for (i=0; i<ip->i_listlen; i++)
+ warning1("\t%s\n", ip->i_list[i]->i_file);
+ }
+ }
+ return;
+ }
+ ip->i_list = (struct inclist **) realloc(ip->i_list,
+ sizeof(struct inclist *) * ++ip->i_listlen);
+ ip->i_merged = (boolean *)
+ realloc(ip->i_merged, sizeof(boolean) * ip->i_listlen);
+ }
+ ip->i_list[ ip->i_listlen-1 ] = newfile;
+ ip->i_merged[ ip->i_listlen-1 ] = FALSE;
+}
+
+void
+inc_clean (void)
+{
+ register struct inclist *ip;
+
+ for (ip = inclist; ip < inclistp; ip++) {
+ ip->i_flags &= ~MARKED;
+ }
+}
+
+struct inclist *
+inc_path(char *file, char *include, int type)
+{
+ static char path[ BUFSIZ ];
+ register char **pp, *p;
+ register struct inclist *ip;
+ struct stat st;
+
+ /*
+ * Check all previously found include files for a path that
+ * has already been expanded.
+ */
+ if ((type == INCLUDE) || (type == INCLUDEDOT))
+ inclistnext = inclist;
+ ip = inclistnext;
+
+ for (; ip->i_file; ip++) {
+ if ((strcmp(ip->i_incstring, include) == 0) &&
+ !(ip->i_flags & INCLUDED_SYM)) {
+ inclistnext = ip + 1;
+ return ip;
+ }
+ }
+
+ if (inclistnext == inclist) {
+ /*
+ * If the path was surrounded by "" or is an absolute path,
+ * then check the exact path provided.
+ */
+ if ((type == INCLUDEDOT) ||
+ (type == INCLUDENEXTDOT) ||
+ (*include == '/')) {
+ if (stat(include, &st) == 0)
+ return newinclude(include, include);
+ if (show_where_not)
+ warning1("\tnot in %s\n", include);
+ }
+
+ /*
+ * If the path was surrounded by "" see if this include file is
+ * in the directory of the file being parsed.
+ */
+ if ((type == INCLUDEDOT) || (type == INCLUDENEXTDOT)) {
+ for (p=file+strlen(file); p>file; p--)
+ if (*p == '/')
+ break;
+ if (p == file) {
+ strcpy(path, include);
+ } else {
+ strncpy(path, file, (p-file) + 1);
+ path[ (p-file) + 1 ] = '\0';
+ strcpy(path + (p-file) + 1, include);
+ }
+ remove_dotdot(path);
+ if (stat(path, &st) == 0)
+ return newinclude(path, include);
+ if (show_where_not)
+ warning1("\tnot in %s\n", path);
+ }
+ }
+
+ /*
+ * Check the include directories specified. Standard include dirs
+ * should be at the end.
+ */
+ if ((type == INCLUDE) || (type == INCLUDEDOT))
+ includedirsnext = includedirs;
+ pp = includedirsnext;
+
+ for (; *pp; pp++) {
+ sprintf(path, "%s/%s", *pp, include);
+ remove_dotdot(path);
+ if (stat(path, &st) == 0) {
+ includedirsnext = pp + 1;
+ return newinclude(path, include);
+ }
+ if (show_where_not)
+ warning1("\tnot in %s\n", path);
+ }
+
+ return NULL;
+}
diff --git a/nx-X11/config/makedepend/main.c b/nx-X11/config/makedepend/main.c
new file mode 100644
index 000000000..d413964a0
--- /dev/null
+++ b/nx-X11/config/makedepend/main.c
@@ -0,0 +1,865 @@
+/* $Xorg: main.c,v 1.5 2001/02/09 02:03:16 xorgcvs Exp $ */
+/* $XdotOrg: xc/config/makedepend/main.c,v 1.4 2005/07/05 19:02:01 alanc Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/main.c,v 3.31tsi Exp $ */
+
+#include "def.h"
+#ifdef hpux
+#define sigvec sigvector
+#endif /* hpux */
+
+#ifdef X_POSIX_C_SOURCE
+#define _POSIX_C_SOURCE X_POSIX_C_SOURCE
+#include <signal.h>
+#undef _POSIX_C_SOURCE
+#else
+#if defined(X_NOT_POSIX) || defined(_POSIX_SOURCE)
+#include <signal.h>
+#else
+#define _POSIX_SOURCE
+#include <signal.h>
+#undef _POSIX_SOURCE
+#endif
+#endif
+
+#include <stdarg.h>
+
+#ifdef DEBUG
+int _debugmask;
+#endif
+
+/* #define DEBUG_DUMP */
+#ifdef DEBUG_DUMP
+#define DBG_PRINT(file, fmt, args) fprintf(file, fmt, args)
+#else
+#define DBG_PRINT(file, fmt, args) /* empty */
+#endif
+
+#define DASH_INC_PRE "#include \""
+#define DASH_INC_POST "\""
+
+char *ProgramName;
+
+char *directives[] = {
+ "if",
+ "ifdef",
+ "ifndef",
+ "else",
+ "endif",
+ "define",
+ "undef",
+ "include",
+ "line",
+ "pragma",
+ "error",
+ "ident",
+ "sccs",
+ "elif",
+ "eject",
+ "warning",
+ "include_next",
+ NULL
+};
+
+#define MAKEDEPEND
+#include "imakemdep.h" /* from config sources */
+#undef MAKEDEPEND
+
+struct inclist inclist[ MAXFILES ],
+ *inclistp = inclist,
+ *inclistnext = inclist,
+ maininclist;
+
+static char *filelist[ MAXFILES ];
+char *includedirs[ MAXDIRS + 1 ],
+ **includedirsnext = includedirs;
+char *notdotdot[ MAXDIRS ];
+static int cmdinc_count = 0;
+static char *cmdinc_list[ 2 * MAXINCFILES ];
+char *objprefix = "";
+char *objsuffix = OBJSUFFIX;
+static char *startat = "# DO NOT DELETE";
+int width = 78;
+static boolean append = FALSE;
+boolean printed = FALSE;
+boolean verbose = FALSE;
+boolean show_where_not = FALSE;
+/* Warn on multiple includes of same file */
+boolean warn_multiple = FALSE;
+
+static void setfile_cmdinc(struct filepointer *filep, long count, char **list);
+static void redirect(char *line, char *makefile);
+
+static
+#ifdef RETSIGTYPE
+RETSIGTYPE
+#else
+# ifdef SIGNALRETURNSINT
+int
+# else
+void
+# endif
+#endif
+catch (int sig)
+{
+ fflush (stdout);
+ fatalerr ("got signal %d\n", sig);
+}
+
+#if defined(USG) || (defined(i386) && defined(SYSV)) || defined(WIN32) || defined(__UNIXOS2__) || defined(Lynx_22) || defined(__CYGWIN__)
+#define USGISH
+#endif
+
+#ifndef USGISH
+#ifdef X_NOT_POSIX
+#define sigaction sigvec
+#define sa_handler sv_handler
+#define sa_mask sv_mask
+#define sa_flags sv_flags
+#endif
+struct sigaction sig_act;
+#endif /* USGISH */
+
+#ifndef USING_AUTOCONF
+# if !defined(USGISH) && !defined(_SEQUENT_) && !defined(MINIX)
+# define HAVE_FCHMOD 1
+# endif
+#endif
+
+int
+main(int argc, char *argv[])
+{
+ char **fp = filelist;
+ char **incp = includedirs;
+ char *p;
+ struct inclist *ip;
+ char *makefile = NULL;
+ struct filepointer *filecontent;
+ struct symtab *psymp = predefs;
+ char *endmarker = NULL;
+ char *defincdir = NULL;
+ char **undeflist = NULL;
+ int numundefs = 0, i;
+
+ ProgramName = argv[0];
+
+ while (psymp->s_name)
+ {
+ define2(psymp->s_name, psymp->s_value, &maininclist);
+ psymp++;
+ }
+ if (argc == 2 && argv[1][0] == '@') {
+ struct stat ast;
+ int afd;
+ char *args;
+ char **nargv;
+ int nargc;
+ char quotechar = '\0';
+
+ nargc = 1;
+ if ((afd = open(argv[1]+1, O_RDONLY)) < 0)
+ fatalerr("cannot open \"%s\"\n", argv[1]+1);
+ fstat(afd, &ast);
+ args = (char *)malloc(ast.st_size + 1);
+ if ((ast.st_size = read(afd, args, ast.st_size)) < 0)
+ fatalerr("failed to read %s\n", argv[1]+1);
+ args[ast.st_size] = '\0';
+ close(afd);
+ for (p = args; *p; p++) {
+ if (quotechar) {
+ if (quotechar == '\\' ||
+ (*p == quotechar && p[-1] != '\\'))
+ quotechar = '\0';
+ continue;
+ }
+ switch (*p) {
+ case '\\':
+ case '"':
+ case '\'':
+ quotechar = *p;
+ break;
+ case ' ':
+ case '\n':
+ *p = '\0';
+ if (p > args && p[-1])
+ nargc++;
+ break;
+ }
+ }
+ if (p[-1])
+ nargc++;
+ nargv = (char **)malloc(nargc * sizeof(char *));
+ nargv[0] = argv[0];
+ argc = 1;
+ for (p = args; argc < nargc; p += strlen(p) + 1)
+ if (*p) nargv[argc++] = p;
+ argv = nargv;
+ }
+ for(argc--, argv++; argc; argc--, argv++) {
+ /* if looking for endmarker then check before parsing */
+ if (endmarker && strcmp (endmarker, *argv) == 0) {
+ endmarker = NULL;
+ continue;
+ }
+ if (**argv != '-') {
+ /* treat +thing as an option for C++ */
+ if (endmarker && **argv == '+')
+ continue;
+ *fp++ = argv[0];
+ continue;
+ }
+ switch(argv[0][1]) {
+ case '-':
+ endmarker = &argv[0][2];
+ if (endmarker[0] == '\0') endmarker = "--";
+ break;
+ case 'D':
+ if (argv[0][2] == '\0') {
+ argv++;
+ argc--;
+ }
+ for (p=argv[0] + 2; *p ; p++)
+ if (*p == '=') {
+ *p = ' ';
+ break;
+ }
+ define(argv[0] + 2, &maininclist);
+ break;
+ case 'I':
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = argv[0]+2;
+ if (**(incp-1) == '\0') {
+ *(incp-1) = *(++argv);
+ argc--;
+ }
+ break;
+ case 'U':
+ /* Undef's override all -D's so save them up */
+ numundefs++;
+ if (numundefs == 1)
+ undeflist = malloc(sizeof(char *));
+ else
+ undeflist = realloc(undeflist,
+ numundefs * sizeof(char *));
+ if (argv[0][2] == '\0') {
+ argv++;
+ argc--;
+ }
+ undeflist[numundefs - 1] = argv[0] + 2;
+ break;
+ case 'Y':
+ defincdir = argv[0]+2;
+ break;
+ /* do not use if endmarker processing */
+ case 'a':
+ if (endmarker) break;
+ append = TRUE;
+ break;
+ case 'w':
+ if (endmarker) break;
+ if (argv[0][2] == '\0') {
+ argv++;
+ argc--;
+ width = atoi(argv[0]);
+ } else
+ width = atoi(argv[0]+2);
+ break;
+ case 'o':
+ if (endmarker) break;
+ if (argv[0][2] == '\0') {
+ argv++;
+ argc--;
+ objsuffix = argv[0];
+ } else
+ objsuffix = argv[0]+2;
+ break;
+ case 'p':
+ if (endmarker) break;
+ if (argv[0][2] == '\0') {
+ argv++;
+ argc--;
+ objprefix = argv[0];
+ } else
+ objprefix = argv[0]+2;
+ break;
+ case 'v':
+ if (endmarker) break;
+ verbose = TRUE;
+#ifdef DEBUG
+ if (argv[0][2])
+ _debugmask = atoi(argv[0]+2);
+#endif
+ break;
+ case 's':
+ if (endmarker) break;
+ startat = argv[0]+2;
+ if (*startat == '\0') {
+ startat = *(++argv);
+ argc--;
+ }
+ if (*startat != '#')
+ fatalerr("-s flag's value should start %s\n",
+ "with '#'.");
+ break;
+ case 'f':
+ if (endmarker) break;
+ makefile = argv[0]+2;
+ if (*makefile == '\0') {
+ makefile = *(++argv);
+ argc--;
+ }
+ break;
+
+ case 'm':
+ warn_multiple = TRUE;
+ break;
+
+ /* Ignore -O, -g so we can just pass ${CFLAGS} to
+ makedepend
+ */
+ case 'O':
+ case 'g':
+ break;
+ case 'i':
+ if (strcmp(&argv[0][1],"include") == 0) {
+ char *buf;
+ if (argc<2)
+ fatalerr("option -include is a "
+ "missing its parameter\n");
+ if (cmdinc_count >= MAXINCFILES)
+ fatalerr("Too many -include flags.\n");
+ argc--;
+ argv++;
+ buf = malloc(strlen(DASH_INC_PRE) +
+ strlen(argv[0]) +
+ strlen(DASH_INC_POST) + 1);
+ if(!buf)
+ fatalerr("out of memory at "
+ "-include string\n");
+ cmdinc_list[2 * cmdinc_count + 0] = argv[0];
+ cmdinc_list[2 * cmdinc_count + 1] = buf;
+ cmdinc_count++;
+ break;
+ }
+ /* intentional fall through */
+ default:
+ if (endmarker) break;
+ /* fatalerr("unknown opt = %s\n", argv[0]); */
+ warning("ignoring option %s\n", argv[0]);
+ }
+ }
+ /* Now do the undefs from the command line */
+ for (i = 0; i < numundefs; i++)
+ undefine(undeflist[i], &maininclist);
+ if (numundefs > 0)
+ free(undeflist);
+
+ if (!defincdir) {
+#ifdef PREINCDIR
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = PREINCDIR;
+#endif
+#ifdef __UNIXOS2__
+ {
+ char *emxinc = getenv("C_INCLUDE_PATH");
+ /* can have more than one component */
+ if (emxinc) {
+ char *beg, *end;
+ beg= (char*)strdup(emxinc);
+ for (;;) {
+ end = (char*)strchr(beg,';');
+ if (end) *end = 0;
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many include dirs\n");
+ *incp++ = beg;
+ if (!end) break;
+ beg = end+1;
+ }
+ }
+ }
+#else /* !__UNIXOS2__, does not use INCLUDEDIR at all */
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = INCLUDEDIR;
+#endif
+
+#ifdef EXTRAINCDIR
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = EXTRAINCDIR;
+#endif
+
+#ifdef POSTINCDIR
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = POSTINCDIR;
+#endif
+ } else if (*defincdir) {
+ if (incp >= includedirs + MAXDIRS)
+ fatalerr("Too many -I flags.\n");
+ *incp++ = defincdir;
+ }
+
+ redirect(startat, makefile);
+
+ /*
+ * catch signals.
+ */
+#ifdef USGISH
+/* should really reset SIGINT to SIG_IGN if it was. */
+#ifdef SIGHUP
+ signal (SIGHUP, catch);
+#endif
+ signal (SIGINT, catch);
+#ifdef SIGQUIT
+ signal (SIGQUIT, catch);
+#endif
+ signal (SIGILL, catch);
+#ifdef SIGBUS
+ signal (SIGBUS, catch);
+#endif
+ signal (SIGSEGV, catch);
+#ifdef SIGSYS
+ signal (SIGSYS, catch);
+#endif
+#else
+ sig_act.sa_handler = catch;
+#if defined(_POSIX_SOURCE) || !defined(X_NOT_POSIX)
+ sigemptyset(&sig_act.sa_mask);
+ sigaddset(&sig_act.sa_mask, SIGINT);
+ sigaddset(&sig_act.sa_mask, SIGQUIT);
+#ifdef SIGBUS
+ sigaddset(&sig_act.sa_mask, SIGBUS);
+#endif
+ sigaddset(&sig_act.sa_mask, SIGILL);
+ sigaddset(&sig_act.sa_mask, SIGSEGV);
+ sigaddset(&sig_act.sa_mask, SIGHUP);
+ sigaddset(&sig_act.sa_mask, SIGPIPE);
+#ifdef SIGSYS
+ sigaddset(&sig_act.sa_mask, SIGSYS);
+#endif
+#else
+ sig_act.sa_mask = ((1<<(SIGINT -1))
+ |(1<<(SIGQUIT-1))
+#ifdef SIGBUS
+ |(1<<(SIGBUS-1))
+#endif
+ |(1<<(SIGILL-1))
+ |(1<<(SIGSEGV-1))
+ |(1<<(SIGHUP-1))
+ |(1<<(SIGPIPE-1))
+#ifdef SIGSYS
+ |(1<<(SIGSYS-1))
+#endif
+ );
+#endif /* _POSIX_SOURCE */
+ sig_act.sa_flags = 0;
+ sigaction(SIGHUP, &sig_act, (struct sigaction *)0);
+ sigaction(SIGINT, &sig_act, (struct sigaction *)0);
+ sigaction(SIGQUIT, &sig_act, (struct sigaction *)0);
+ sigaction(SIGILL, &sig_act, (struct sigaction *)0);
+#ifdef SIGBUS
+ sigaction(SIGBUS, &sig_act, (struct sigaction *)0);
+#endif
+ sigaction(SIGSEGV, &sig_act, (struct sigaction *)0);
+#ifdef SIGSYS
+ sigaction(SIGSYS, &sig_act, (struct sigaction *)0);
+#endif
+#endif /* USGISH */
+
+ /*
+ * now peruse through the list of files.
+ */
+ for(fp=filelist; *fp; fp++) {
+ DBG_PRINT(stderr,"file: %s\n",*fp);
+ filecontent = getfile(*fp);
+ setfile_cmdinc(filecontent, cmdinc_count, cmdinc_list);
+ ip = newinclude(*fp, (char *)NULL);
+
+ find_includes(filecontent, ip, ip, 0, FALSE);
+ freefile(filecontent);
+ recursive_pr_include(ip, ip->i_file, base_name(*fp));
+ inc_clean();
+ }
+ if (printed)
+ printf("\n");
+ return 0;
+}
+
+#ifdef __UNIXOS2__
+/*
+ * eliminate \r chars from file
+ */
+static int
+elim_cr(char *buf, int sz)
+{
+ int i,wp;
+ for (i= wp = 0; i<sz; i++) {
+ if (buf[i] != '\r')
+ buf[wp++] = buf[i];
+ }
+ return wp;
+}
+#endif
+
+struct filepointer *
+getfile(char *file)
+{
+ int fd;
+ struct filepointer *content;
+ struct stat st;
+
+ content = (struct filepointer *)malloc(sizeof(struct filepointer));
+ content->f_name = file;
+ if ((fd = open(file, O_RDONLY)) < 0) {
+ warning("cannot open \"%s\"\n", file);
+ content->f_p = content->f_base = content->f_end = (char *)malloc(1);
+ *content->f_p = '\0';
+ return(content);
+ }
+ fstat(fd, &st);
+ content->f_base = (char *)malloc(st.st_size+1);
+ if (content->f_base == NULL)
+ fatalerr("cannot allocate mem\n");
+ if ((st.st_size = read(fd, content->f_base, st.st_size)) < 0)
+ fatalerr("failed to read %s\n", file);
+#ifdef __UNIXOS2__
+ st.st_size = elim_cr(content->f_base,st.st_size);
+#endif
+ close(fd);
+ content->f_len = st.st_size+1;
+ content->f_p = content->f_base;
+ content->f_end = content->f_base + st.st_size;
+ *content->f_end = '\0';
+ content->f_line = 0;
+ content->cmdinc_count = 0;
+ content->cmdinc_list = NULL;
+ content->cmdinc_line = 0;
+ return(content);
+}
+
+void
+setfile_cmdinc(struct filepointer* filep, long count, char** list)
+{
+ filep->cmdinc_count = count;
+ filep->cmdinc_list = list;
+ filep->cmdinc_line = 0;
+}
+
+void
+freefile(struct filepointer *fp)
+{
+ free(fp->f_base);
+ free(fp);
+}
+
+char *copy(char *str)
+{
+ char *p = (char *)malloc(strlen(str) + 1);
+
+ strcpy(p, str);
+ return(p);
+}
+
+int
+match(char *str, char **list)
+{
+ int i;
+
+ for (i=0; *list; i++, list++)
+ if (strcmp(str, *list) == 0)
+ return(i);
+ return(-1);
+}
+
+/*
+ * Get the next line. We only return lines beginning with '#' since that
+ * is all this program is ever interested in.
+ */
+char *getnextline(struct filepointer *filep)
+{
+ char *p, /* walking pointer */
+ *eof, /* end of file pointer */
+ *bol; /* beginning of line pointer */
+ int lineno; /* line number */
+ boolean whitespace = FALSE;
+
+ /*
+ * Fake the "-include" line files in form of #include to the
+ * start of each file.
+ */
+ if (filep->cmdinc_line < filep->cmdinc_count) {
+ char *inc = filep->cmdinc_list[2 * filep->cmdinc_line + 0];
+ char *buf = filep->cmdinc_list[2 * filep->cmdinc_line + 1];
+ filep->cmdinc_line++;
+ sprintf(buf,"%s%s%s",DASH_INC_PRE,inc,DASH_INC_POST);
+ DBG_PRINT(stderr,"%s\n",buf);
+ return(buf);
+ }
+
+ p = filep->f_p;
+ eof = filep->f_end;
+ if (p >= eof)
+ return((char *)NULL);
+ lineno = filep->f_line;
+
+ for (bol = p--; ++p < eof; ) {
+ if ((bol == p) && ((*p == ' ') || (*p == '\t')))
+ {
+ /* Consume leading white-spaces for this line */
+ while (((p+1) < eof) && ((*p == ' ') || (*p == '\t')))
+ {
+ p++;
+ bol++;
+ }
+ whitespace = TRUE;
+ }
+
+ if (*p == '/' && (p+1) < eof && *(p+1) == '*') {
+ /* Consume C comments */
+ *(p++) = ' ';
+ *(p++) = ' ';
+ while (p < eof && *p) {
+ if (*p == '*' && (p+1) < eof && *(p+1) == '/') {
+ *(p++) = ' ';
+ *(p++) = ' ';
+ break;
+ }
+ if (*p == '\n')
+ lineno++;
+ *(p++) = ' ';
+ }
+ --p;
+ }
+ else if (*p == '/' && (p+1) < eof && *(p+1) == '/') {
+ /* Consume C++ comments */
+ *(p++) = ' ';
+ *(p++) = ' ';
+ while (p < eof && *p) {
+ if (*p == '\\' && (p+1) < eof &&
+ *(p+1) == '\n') {
+ *(p++) = ' ';
+ lineno++;
+ }
+ else if (*p == '?' && (p+3) < eof &&
+ *(p+1) == '?' &&
+ *(p+2) == '/' &&
+ *(p+3) == '\n') {
+ *(p++) = ' ';
+ *(p++) = ' ';
+ *(p++) = ' ';
+ lineno++;
+ }
+ else if (*p == '\n')
+ break; /* to process end of line */
+ *(p++) = ' ';
+ }
+ --p;
+ }
+ else if (*p == '\\' && (p+1) < eof && *(p+1) == '\n') {
+ /* Consume backslash line terminations */
+ *(p++) = ' ';
+ *p = ' ';
+ lineno++;
+ }
+ else if (*p == '?' && (p+3) < eof &&
+ *(p+1) == '?' && *(p+2) == '/' && *(p+3) == '\n') {
+ /* Consume trigraph'ed backslash line terminations */
+ *(p++) = ' ';
+ *(p++) = ' ';
+ *(p++) = ' ';
+ *p = ' ';
+ lineno++;
+ }
+ else if (*p == '\n') {
+ lineno++;
+ if (*bol == '#') {
+ char *cp;
+
+ *(p++) = '\0';
+ /* punt lines with just # (yacc generated) */
+ for (cp = bol+1;
+ *cp && (*cp == ' ' || *cp == '\t'); cp++);
+ if (*cp) goto done;
+ --p;
+ }
+ bol = p+1;
+ whitespace = FALSE;
+ }
+ }
+ if (*bol != '#')
+ bol = NULL;
+done:
+ filep->f_p = p;
+ filep->f_line = lineno;
+#ifdef DEBUG_DUMP
+ if (bol)
+ DBG_PRINT(stderr,"%s\n",bol);
+#endif
+ return(bol);
+}
+
+/*
+ * Strip the file name down to what we want to see in the Makefile.
+ * It will have objprefix and objsuffix around it.
+ */
+char *base_name(char *file)
+{
+ char *p;
+
+ file = copy(file);
+ for(p=file+strlen(file); p>file && *p != '.'; p--) ;
+
+ if (*p == '.')
+ *p = '\0';
+ return(file);
+}
+
+#ifdef USING_AUTOCONF
+# ifndef HAVE_RENAME
+# define NEED_RENAME
+# endif
+#else /* Imake configured, check known OS'es without rename() */
+# if defined(USG) && !defined(CRAY) && !defined(SVR4) && !defined(__UNIXOS2__) && !defined(clipper) && !defined(__clipper__)
+# define NEED_RENAME
+# endif
+#endif
+
+#ifdef NEED_RENAME
+int rename (char *from, char *to)
+{
+ (void) unlink (to);
+ if (link (from, to) == 0) {
+ unlink (from);
+ return 0;
+ } else {
+ return -1;
+ }
+}
+#endif /* NEED_RENAME */
+
+void
+redirect(char *line, char *makefile)
+{
+ struct stat st;
+ FILE *fdin, *fdout;
+ char backup[ BUFSIZ ],
+ buf[ BUFSIZ ];
+ boolean found = FALSE;
+ int len;
+
+ /*
+ * if makefile is "-" then let it pour onto stdout.
+ */
+ if (makefile && *makefile == '-' && *(makefile+1) == '\0') {
+ puts(line);
+ return;
+ }
+
+ /*
+ * use a default makefile is not specified.
+ */
+ if (!makefile) {
+ if (stat("Makefile", &st) == 0)
+ makefile = "Makefile";
+ else if (stat("makefile", &st) == 0)
+ makefile = "makefile";
+ else
+ fatalerr("[mM]akefile is not present\n");
+ }
+ else
+ stat(makefile, &st);
+ if ((fdin = fopen(makefile, "r")) == NULL)
+ fatalerr("cannot open \"%s\"\n", makefile);
+ sprintf(backup, "%s.bak", makefile);
+ unlink(backup);
+#if defined(WIN32) || defined(__UNIXOS2__) || defined(__CYGWIN__)
+ fclose(fdin);
+#endif
+ if (rename(makefile, backup) < 0)
+ fatalerr("cannot rename %s to %s\n", makefile, backup);
+#if defined(WIN32) || defined(__UNIXOS2__) || defined(__CYGWIN__)
+ if ((fdin = fopen(backup, "r")) == NULL)
+ fatalerr("cannot open \"%s\"\n", backup);
+#endif
+ if ((fdout = freopen(makefile, "w", stdout)) == NULL)
+ fatalerr("cannot open \"%s\"\n", backup);
+ len = strlen(line);
+ while (!found && fgets(buf, BUFSIZ, fdin)) {
+ if (*buf == '#' && strncmp(line, buf, len) == 0)
+ found = TRUE;
+ fputs(buf, fdout);
+ }
+ if (!found) {
+ if (verbose)
+ warning("Adding new delimiting line \"%s\" and dependencies...\n",
+ line);
+ puts(line); /* same as fputs(fdout); but with newline */
+ } else if (append) {
+ while (fgets(buf, BUFSIZ, fdin)) {
+ fputs(buf, fdout);
+ }
+ }
+ fflush(fdout);
+#ifndef HAVE_FCHMOD
+ chmod(makefile, st.st_mode);
+#else
+ fchmod(fileno(fdout), st.st_mode);
+#endif /* HAVE_FCHMOD */
+}
+
+void
+fatalerr(char *msg, ...)
+{
+ va_list args;
+ fprintf(stderr, "%s: error: ", ProgramName);
+ va_start(args, msg);
+ vfprintf(stderr, msg, args);
+ va_end(args);
+ exit (1);
+}
+
+void
+warning(char *msg, ...)
+{
+ va_list args;
+ fprintf(stderr, "%s: warning: ", ProgramName);
+ va_start(args, msg);
+ vfprintf(stderr, msg, args);
+ va_end(args);
+}
+
+void
+warning1(char *msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ vfprintf(stderr, msg, args);
+ va_end(args);
+}
diff --git a/nx-X11/config/makedepend/mkdepend.man b/nx-X11/config/makedepend/mkdepend.man
new file mode 100644
index 000000000..ac67cc8d3
--- /dev/null
+++ b/nx-X11/config/makedepend/mkdepend.man
@@ -0,0 +1,382 @@
+.\" $Xorg: mkdepend.man,v 1.5 2001/02/09 02:03:16 xorgcvs Exp $
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+.\" SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall not
+.\" be used in advertising or otherwise to promote the sale, use or other
+.\" dealing in this Software without prior written authorization from The
+.\" Open Group.
+.\"
+.\" $XFree86: xc/config/makedepend/mkdepend.man,v 1.6 2001/12/17 20:52:22 dawes Exp $
+.\"
+.TH MAKEDEPEND 1 __xorgversion__
+.UC 4
+.SH NAME
+makedepend \- create dependencies in makefiles
+.SH SYNOPSIS
+.B makedepend
+[
+.BI \-D name\fB=\fPdef
+] [
+.BI \-D name
+] [
+.BI \-I includedir
+] [
+.BI \-Y includedir
+] [
+.B \-a
+] [
+.BI \-f makefile
+] [
+.BI \-include \ file
+] [
+.BI \-o objsuffix
+] [
+.BI \-p objprefix
+] [
+.BI \-s string
+] [
+.BI \-w width
+] [
+.B \-v
+] [
+.B \-m
+] [
+\-\^\-
+.I otheroptions
+\-\^\-
+]
+.I sourcefile
+\&.\|.\|.
+.br
+.SH DESCRIPTION
+The
+.B makedepend
+program reads each
+.I sourcefile
+in sequence and parses it like a C-preprocessor,
+processing all
+.I #include,
+.I #define,
+.I #undef,
+.I #ifdef,
+.I #ifndef,
+.I #endif,
+.I #if,
+.I #elif
+and
+.I #else
+directives so that it can correctly tell which
+.I #include,
+directives would be used in a compilation.
+Any
+.I #include,
+directives can reference files having other
+.I #include
+directives, and parsing will occur in these files as well.
+.PP
+Every file that a
+.I sourcefile
+includes,
+directly or indirectly,
+is what
+.B makedepend
+calls a \fIdependency.\fP
+These dependencies are then written to a
+.I makefile
+in such a way that
+.B make(1)
+will know which object files must be recompiled when a dependency has changed.
+.PP
+By default,
+.B makedepend
+places its output in the file named
+.I makefile
+if it exists, otherwise
+.I Makefile.
+An alternate makefile may be specified with the
+.B \-f
+option.
+It first searches the makefile for
+the line
+.sp
+\& # DO NOT DELETE THIS LINE \-\^\- make depend depends on it.
+.sp
+or one provided with the
+.B \-s
+option,
+as a delimiter for the dependency output.
+If it finds it, it will delete everything
+following this to the end of the makefile
+and put the output after this line.
+If it doesn't find it, the program
+will append the string to the end of the makefile
+and place the output following that.
+For each
+.I sourcefile
+appearing on the command line,
+.B makedepend
+puts lines in the makefile of the form
+.sp
+ sourcefile.o:\0dfile .\|.\|.
+.sp
+Where \fIsourcefile.o\fP is the name from the command
+line with its suffix replaced with ``.o'',
+and \fIdfile\fP is a dependency discovered in a
+.I #include
+directive while parsing
+.I sourcefile
+or one of the files it included.
+.SH EXAMPLE
+Normally,
+.B makedepend
+will be used in a makefile target so that typing ``make depend'' will
+bring the dependencies up to date for the makefile.
+For example,
+.nf
+ SRCS\0=\0file1.c\0file2.c\0.\|.\|.
+ CFLAGS\0=\0\-O\0\-DHACK\0\-I\^.\^.\^/foobar\0\-xyz
+ depend:
+ makedepend\0\-\^\-\0$(CFLAGS)\0\-\^\-\0$(SRCS)
+.fi
+.SH OPTIONS
+The program
+will ignore any option that it does not understand so that you may use
+the same arguments that you would for
+.B cc(1).
+.TP 5
+.B \-D\fIname\fP=\fIdef\fP \fRor\fP \-D\fIname\fP
+Define.
+This places a definition for
+.I name
+in
+.B makedepend's
+symbol table.
+Without
+.I =def\|
+the symbol becomes defined as ``1''.
+.TP 5
+.B \-I\fIincludedir\fP
+Include directory.
+This option tells
+.B makedepend
+to prepend
+.I includedir
+to its list of directories to search when it encounters
+a
+.I #include
+directive.
+By default,
+.B makedepend
+only searches the standard include directories (usually /usr/include
+and possibly a compiler-dependent directory).
+.TP 5
+.B \-Y\fIincludedir\fP
+Replace all of the standard include directories with the single specified
+include directory; you can omit the
+.I includedir
+to simply prevent searching the standard include directories.
+.TP 5
+.B \-a
+Append the dependencies to the end of the file instead of replacing them.
+.TP 5
+.B \-f\fImakefile\fP
+Filename.
+This allows you to specify an alternate makefile in which
+.B makedepend
+can place its output.
+Specifying ``\-'' as the file name (i.e., \fB\-f\-\fP) sends the
+output to standard output instead of modifying an existing file.
+.TP 5
+.B \-include \fIfile\fP
+Process file as input, and include all the resulting output
+before processing the regular input file. This has the same
+affect as if the specified file is an include statement that
+appears before the very first line of the regular input file.
+.TP 5
+.B \-o\fIobjsuffix\fP
+Object file suffix.
+Some systems may have object files whose suffix is something other
+than ``.o''.
+This option allows you to specify another suffix, such as
+``.b'' with
+.I \-o.b
+or ``:obj''
+with
+.I \-o:obj
+and so forth.
+.TP 5
+.B \-p\fIobjprefix\fP
+Object file prefix.
+The prefix is prepended to the name of the object file. This is
+usually used to designate a different directory for the object file.
+The default is the empty string.
+.TP 5
+.B \-s\fIstring\fP
+Starting string delimiter.
+This option permits you to specify
+a different string for
+.B makedepend
+to look for in the makefile.
+.TP 5
+.B \-w\fIwidth\fP
+Line width.
+Normally,
+.B makedepend
+will ensure that every output line that it writes will be no wider than
+78 characters for the sake of readability.
+This option enables you to change this width.
+.TP 5
+.B \-v
+Verbose operation.
+This option causes
+.B makedepend
+to emit the list of files included by each input file.
+.TP 5
+.B \-m
+Warn about multiple inclusion.
+This option causes
+.B makedepend
+to produce a warning if any input file includes another file more than
+once. In previous versions of
+.B makedepend
+this was the default behavior; the default has been changed to better
+match the behavior of the C compiler, which does not consider multiple
+inclusion to be an error. This option is provided for backward
+compatibility, and to aid in debugging problems related to multiple
+inclusion.
+.TP 5
+.B "\-\^\- \fIoptions\fP \-\^\-"
+If
+.B makedepend
+encounters a double hyphen (\-\^\-) in the argument list,
+then any unrecognized argument following it
+will be silently ignored; a second double hyphen terminates this
+special treatment.
+In this way,
+.B makedepend
+can be made to safely ignore esoteric compiler arguments that might
+normally be found in a CFLAGS
+.B make
+macro (see the
+.B EXAMPLE
+section above).
+All options that
+.B makedepend
+recognizes and appear between the pair of double hyphens
+are processed normally.
+.SH ALGORITHM
+The approach used in this program enables it to run an order of magnitude
+faster than any other ``dependency generator'' I have ever seen.
+Central to this performance are two assumptions:
+that all files compiled by a single
+makefile will be compiled with roughly the same
+.I \-I
+and
+.I \-D
+options;
+and that most files in a single directory will include largely the
+same files.
+.PP
+Given these assumptions,
+.B makedepend
+expects to be called once for each makefile, with
+all source files that are maintained by the
+makefile appearing on the command line.
+It parses each source and include
+file exactly once, maintaining an internal symbol table
+for each.
+Thus, the first file on the command line will take an amount of time
+proportional to the amount of time that a normal C preprocessor takes.
+But on subsequent files, if it encounters an include file
+that it has already parsed, it does not parse it again.
+.PP
+For example,
+imagine you are compiling two files,
+.I file1.c
+and
+.I file2.c,
+they each include the header file
+.I header.h,
+and the file
+.I header.h
+in turn includes the files
+.I def1.h
+and
+.I def2.h.
+When you run the command
+.sp
+ makedepend\0file1.c\0file2.c
+.sp
+.B makedepend
+will parse
+.I file1.c
+and consequently,
+.I header.h
+and then
+.I def1.h
+and
+.I def2.h.
+It then decides that the dependencies for this file are
+.sp
+ file1.o:\0header.h\0def1.h\0def2.h
+.sp
+But when the program parses
+.I file2.c
+and discovers that it, too, includes
+.I header.h,
+it does not parse the file,
+but simply adds
+.I header.h,
+.I def1.h
+and
+.I def2.h
+to the list of dependencies for
+.I file2.o.
+.SH "SEE ALSO"
+cc(1), make(1)
+.SH BUGS
+.B makedepend
+parses, but does not currently evaluate, the SVR4 #predicate(token-list)
+preprocessor expression; such expressions are simply assumed to be true.
+This may cause the wrong
+.I #include
+directives to be evaluated.
+.PP
+Imagine you are parsing two files,
+say
+.I file1.c
+and
+.I file2.c,
+each includes the file
+.I def.h.
+The list of files that
+.I def.h
+includes might truly be different when
+.I def.h
+is included by
+.I file1.c
+than when it is included by
+.I file2.c.
+But once
+.B makedepend
+arrives at a list of dependencies for a file,
+it is cast in concrete.
+.SH AUTHOR
+Todd Brunhoff, Tektronix, Inc. and MIT Project Athena
diff --git a/nx-X11/config/makedepend/parse.c b/nx-X11/config/makedepend/parse.c
new file mode 100644
index 000000000..935c61df7
--- /dev/null
+++ b/nx-X11/config/makedepend/parse.c
@@ -0,0 +1,686 @@
+/* $Xorg: parse.c,v 1.6 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/parse.c,v 1.11 2001/12/17 20:52:22 dawes Exp $ */
+
+#include "def.h"
+
+extern char *directives[];
+extern struct inclist inclist[ MAXFILES ],
+ *inclistnext,
+ maininclist;
+extern char *includedirs[ ],
+ **includedirsnext;
+
+static int deftype (char *line, struct filepointer *filep,
+ struct inclist *file_red, struct inclist *file,
+ int parse_it);
+static int zero_value(char *filename, char *exp, struct filepointer *filep,
+ struct inclist *file_red);
+static int merge2defines(struct inclist *file1, struct inclist *file2);
+
+static int
+gobble(struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red)
+{
+ char *line;
+ int type;
+
+ while ((line = getnextline(filep))) {
+ switch(type = deftype(line, filep, file_red, file, FALSE)) {
+ case IF:
+ case IFFALSE:
+ case IFGUESSFALSE:
+ case IFDEF:
+ case IFNDEF:
+ type = gobble(filep, file, file_red);
+ while ((type == ELIF) || (type == ELIFFALSE) ||
+ (type == ELIFGUESSFALSE))
+ type = gobble(filep, file, file_red);
+ if (type == ELSE)
+ (void)gobble(filep, file, file_red);
+ break;
+ case ELSE:
+ case ENDIF:
+ debug(0,("%s, line %d: #%s\n",
+ file->i_file, filep->f_line,
+ directives[type]));
+ return(type);
+ case DEFINE:
+ case UNDEF:
+ case INCLUDE:
+ case INCLUDEDOT:
+ case PRAGMA:
+ case ERROR:
+ case IDENT:
+ case SCCS:
+ case EJECT:
+ case WARNING:
+ case INCLUDENEXT:
+ case INCLUDENEXTDOT:
+ break;
+ case ELIF:
+ case ELIFFALSE:
+ case ELIFGUESSFALSE:
+ return(type);
+ case -1:
+ warning("%s", file_red->i_file);
+ if (file_red != file)
+ warning1(" (reading %s)", file->i_file);
+ warning1(", line %d: unknown directive == \"%s\"\n",
+ filep->f_line, line);
+ break;
+ }
+ }
+ return(-1);
+}
+
+/*
+ * Decide what type of # directive this line is.
+ */
+static int
+deftype (char *line, struct filepointer *filep,
+ struct inclist *file_red, struct inclist *file, int parse_it)
+{
+ register char *p;
+ char *directive, savechar, *q;
+ register int ret;
+
+ /*
+ * Parse the directive...
+ */
+ directive=line+1;
+ while (*directive == ' ' || *directive == '\t')
+ directive++;
+
+ p = directive;
+ while ((*p == '_') || (*p >= 'a' && *p <= 'z'))
+ p++;
+ savechar = *p;
+ *p = '\0';
+ ret = match(directive, directives);
+ *p = savechar;
+
+ /* If we don't recognize this compiler directive or we happen to just
+ * be gobbling up text while waiting for an #endif or #elif or #else
+ * in the case of an #elif we must check the zero_value and return an
+ * ELIF or an ELIFFALSE.
+ */
+
+ if (ret == ELIF && !parse_it)
+ {
+ while (*p == ' ' || *p == '\t')
+ p++;
+ /*
+ * parse an expression.
+ */
+ debug(0,("%s, line %d: #elif %s ",
+ file->i_file, filep->f_line, p));
+ ret = zero_value(file->i_file, p, filep, file_red);
+ if (ret != IF)
+ {
+ debug(0,("false...\n"));
+ if (ret == IFFALSE)
+ return(ELIFFALSE);
+ else
+ return(ELIFGUESSFALSE);
+ }
+ else
+ {
+ debug(0,("true...\n"));
+ return(ELIF);
+ }
+ }
+
+ if (ret < 0 || ! parse_it)
+ return(ret);
+
+ /*
+ * now decide how to parse the directive, and do it.
+ */
+ while (*p == ' ' || *p == '\t')
+ p++;
+ q = p + strlen(p);
+ do {
+ q--;
+ } while (*q == ' ' || *q == '\t');
+ q[1] = '\0';
+ switch (ret) {
+ case IF:
+ /*
+ * parse an expression.
+ */
+ ret = zero_value(file->i_file, p, filep, file_red);
+ debug(0,("%s, line %d: %s #if %s\n",
+ file->i_file, filep->f_line, ret?"false":"true", p));
+ break;
+ case IFDEF:
+ case IFNDEF:
+ debug(0,("%s, line %d: #%s %s\n",
+ file->i_file, filep->f_line, directives[ret], p));
+ case UNDEF:
+ /*
+ * separate the name of a single symbol.
+ */
+ while (isalnum(*p) || *p == '_')
+ *line++ = *p++;
+ *line = '\0';
+ break;
+ case INCLUDE:
+ case INCLUDENEXT:
+ debug(2,("%s, line %d: #include%s %s\n",
+ file->i_file, filep->f_line,
+ (ret == INCLUDE) ? "" : "_next", p));
+
+ /* Support ANSI macro substitution */
+ while (1) {
+ struct symtab **sym;
+
+ if (!*p || *p == '"' || *p == '<')
+ break;
+
+ sym = isdefined(p, file_red, NULL);
+ if (!sym)
+ break;
+
+ p = (*sym)->s_value;
+ debug(3,("%s : #includes SYMBOL %s = %s\n",
+ file->i_incstring,
+ (*sym) -> s_name,
+ (*sym) -> s_value));
+ /* mark file as having included a 'soft include' */
+ file->i_flags |= INCLUDED_SYM;
+ }
+
+ /*
+ * Separate the name of the include file.
+ */
+ while (*p && *p != '"' && *p != '<')
+ p++;
+ if (! *p)
+ return(-2);
+ if (*p++ == '"') {
+ if (ret == INCLUDE)
+ ret = INCLUDEDOT;
+ else
+ ret = INCLUDENEXTDOT;
+ while (*p && *p != '"')
+ *line++ = *p++;
+ } else
+ while (*p && *p != '>')
+ *line++ = *p++;
+ *line = '\0';
+ break;
+ case DEFINE:
+ /*
+ * copy the definition back to the beginning of the line.
+ */
+ strcpy (line, p);
+ break;
+ case ELSE:
+ case ENDIF:
+ case ELIF:
+ case PRAGMA:
+ case ERROR:
+ case IDENT:
+ case SCCS:
+ case EJECT:
+ case WARNING:
+ debug(0,("%s, line %d: #%s\n",
+ file->i_file, filep->f_line, directives[ret]));
+ /*
+ * nothing to do.
+ */
+ break;
+ }
+ return(ret);
+}
+
+struct symtab **
+fdefined(char *symbol, struct inclist *file, struct inclist **srcfile)
+{
+ struct inclist **ip;
+ struct symtab **val;
+ int i;
+ static int recurse_lvl = 0;
+
+ if (file->i_flags & DEFCHECKED)
+ return(NULL);
+ debug(2,("Looking for %s in %s\n", symbol, file->i_file));
+ file->i_flags |= DEFCHECKED;
+ if ((val = slookup(symbol, file)))
+ debug(1,("%s defined in %s as %s\n",
+ symbol, file->i_file, (*val)->s_value));
+ if (val == NULL && file->i_list)
+ {
+ for (ip = file->i_list, i=0; i < file->i_listlen; i++, ip++)
+ if (file->i_merged[i]==FALSE) {
+ val = fdefined(symbol, *ip, srcfile);
+ file->i_merged[i]=merge2defines(file,*ip);
+ if (val!=NULL) break;
+ }
+ }
+ else if (val != NULL && srcfile != NULL) *srcfile = file;
+ recurse_lvl--;
+ file->i_flags &= ~DEFCHECKED;
+
+ return(val);
+}
+
+struct symtab **
+isdefined(char *symbol, struct inclist *file, struct inclist **srcfile)
+{
+ struct symtab **val;
+
+ if ((val = slookup(symbol, &maininclist))) {
+ debug(1,("%s defined on command line\n", symbol));
+ if (srcfile != NULL) *srcfile = &maininclist;
+ return(val);
+ }
+ if ((val = fdefined(symbol, file, srcfile)))
+ return(val);
+ debug(1,("%s not defined in %s\n", symbol, file->i_file));
+ return(NULL);
+}
+
+/*
+ * Return type based on if the #if expression evaluates to 0
+ */
+static int
+zero_value(char *filename,
+ char *exp,
+ struct filepointer *filep,
+ struct inclist *file_red)
+{
+ if (cppsetup(filename, exp, filep, file_red))
+ return(IFFALSE);
+ else
+ return(IF);
+}
+
+void
+define2(char *name, char *val, struct inclist *file)
+{
+ int first, last, below;
+ register struct symtab **sp = NULL, **dest;
+ struct symtab *stab;
+
+ /* Make space if it's needed */
+ if (file->i_defs == NULL)
+ {
+ file->i_defs = (struct symtab **)
+ malloc(sizeof (struct symtab*) * SYMTABINC);
+ file->i_ndefs = 0;
+ }
+ else if (!(file->i_ndefs % SYMTABINC))
+ file->i_defs = (struct symtab **)
+ realloc(file->i_defs,
+ sizeof(struct symtab*)*(file->i_ndefs+SYMTABINC));
+
+ if (file->i_defs == NULL)
+ fatalerr("malloc()/realloc() failure in insert_defn()\n");
+
+ below = first = 0;
+ last = file->i_ndefs - 1;
+ while (last >= first)
+ {
+ /* Fast inline binary search */
+ register char *s1;
+ register char *s2;
+ register int middle = (first + last) / 2;
+
+ /* Fast inline strchr() */
+ s1 = name;
+ s2 = file->i_defs[middle]->s_name;
+ while (*s1++ == *s2++)
+ if (s2[-1] == '\0') break;
+
+ /* If exact match, set sp and break */
+ if (*--s1 == *--s2)
+ {
+ sp = file->i_defs + middle;
+ break;
+ }
+
+ /* If name > i_defs[middle] ... */
+ if (*s1 > *s2)
+ {
+ below = first;
+ first = middle + 1;
+ }
+ /* else ... */
+ else
+ {
+ below = last = middle - 1;
+ }
+ }
+
+ /* Search is done. If we found an exact match to the symbol name,
+ just replace its s_value */
+ if (sp != NULL)
+ {
+ debug(1,("redefining %s from %s to %s in file %s\n",
+ name, (*sp)->s_value, val, file->i_file));
+ free((*sp)->s_value);
+ (*sp)->s_value = copy(val);
+ return;
+ }
+
+ sp = file->i_defs + file->i_ndefs++;
+ dest = file->i_defs + below + 1;
+ while (sp > dest)
+ {
+ *sp = sp[-1];
+ sp--;
+ }
+ stab = (struct symtab *) malloc(sizeof (struct symtab));
+ if (stab == NULL)
+ fatalerr("malloc()/realloc() failure in insert_defn()\n");
+
+ debug(1,("defining %s to %s in file %s\n", name, val, file->i_file));
+ stab->s_name = copy(name);
+ stab->s_value = copy(val);
+ *sp = stab;
+}
+
+void
+define(char *def, struct inclist *file)
+{
+ char *val;
+
+ /* Separate symbol name and its value */
+ val = def;
+ while (isalnum(*val) || *val == '_')
+ val++;
+ if (*val)
+ *val++ = '\0';
+ while (*val == ' ' || *val == '\t')
+ val++;
+
+ if (!*val)
+ val = "1";
+ define2(def, val, file);
+}
+
+struct symtab **
+slookup(char *symbol, struct inclist *file)
+{
+ register int first = 0;
+ register int last = file->i_ndefs - 1;
+
+ if (file) while (last >= first)
+ {
+ /* Fast inline binary search */
+ register char *s1;
+ register char *s2;
+ register int middle = (first + last) / 2;
+
+ /* Fast inline strchr() */
+ s1 = symbol;
+ s2 = file->i_defs[middle]->s_name;
+ while (*s1++ == *s2++)
+ if (s2[-1] == '\0') break;
+
+ /* If exact match, we're done */
+ if (*--s1 == *--s2)
+ {
+ return file->i_defs + middle;
+ }
+
+ /* If symbol > i_defs[middle] ... */
+ if (*s1 > *s2)
+ {
+ first = middle + 1;
+ }
+ /* else ... */
+ else
+ {
+ last = middle - 1;
+ }
+ }
+ return(NULL);
+}
+
+static int
+merge2defines(struct inclist *file1, struct inclist *file2)
+{
+ int i;
+
+ if ((file1==NULL) || (file2==NULL) ||
+ !(file2->i_flags & FINISHED))
+ return 0;
+
+ for (i=0; i < file2->i_listlen; i++)
+ if (file2->i_merged[i]==FALSE)
+ return 0;
+
+ {
+ int first1 = 0;
+ int last1 = file1->i_ndefs - 1;
+
+ int first2 = 0;
+ int last2 = file2->i_ndefs - 1;
+
+ int first=0;
+ struct symtab** i_defs = NULL;
+ int deflen=file1->i_ndefs+file2->i_ndefs;
+
+ debug(2,("merging %s into %s\n",
+ file2->i_file, file1->i_file));
+
+ if (deflen>0)
+ {
+ /* make sure deflen % SYMTABINC == 0 is still true */
+ deflen += (SYMTABINC - deflen % SYMTABINC) % SYMTABINC;
+ i_defs=(struct symtab**)
+ malloc(deflen*sizeof(struct symtab*));
+ if (i_defs==NULL) return 0;
+ }
+
+ while ((last1 >= first1) && (last2 >= first2))
+ {
+ char *s1=file1->i_defs[first1]->s_name;
+ char *s2=file2->i_defs[first2]->s_name;
+
+ if (strcmp(s1,s2) < 0)
+ i_defs[first++]=file1->i_defs[first1++];
+ else if (strcmp(s1,s2) > 0)
+ i_defs[first++]=file2->i_defs[first2++];
+ else /* equal */
+ {
+ i_defs[first++]=file2->i_defs[first2++];
+ first1++;
+ }
+ }
+ while (last1 >= first1)
+ {
+ i_defs[first++]=file1->i_defs[first1++];
+ }
+ while (last2 >= first2)
+ {
+ i_defs[first++]=file2->i_defs[first2++];
+ }
+
+ if (file1->i_defs) free(file1->i_defs);
+ file1->i_defs=i_defs;
+ file1->i_ndefs=first;
+
+ return 1;
+ }
+}
+
+void
+undefine(char *symbol, struct inclist *file)
+{
+ register struct symtab **ptr;
+ struct inclist *srcfile;
+ while ((ptr = isdefined(symbol, file, &srcfile)) != NULL)
+ {
+ srcfile->i_ndefs--;
+ for (; ptr < srcfile->i_defs + srcfile->i_ndefs; ptr++)
+ *ptr = ptr[1];
+ }
+}
+
+int
+find_includes(struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red, int recursion, boolean failOK)
+{
+ struct inclist *inclistp;
+ char **includedirsp;
+ register char *line;
+ register int type;
+ boolean recfailOK;
+
+ while ((line = getnextline(filep))) {
+ switch(type = deftype(line, filep, file_red, file, TRUE)) {
+ case IF:
+ doif:
+ type = find_includes(filep, file,
+ file_red, recursion+1, failOK);
+ while ((type == ELIF) || (type == ELIFFALSE) ||
+ (type == ELIFGUESSFALSE))
+ type = gobble(filep, file, file_red);
+ if (type == ELSE)
+ gobble(filep, file, file_red);
+ break;
+ case IFFALSE:
+ case IFGUESSFALSE:
+ doiffalse:
+ if (type == IFGUESSFALSE || type == ELIFGUESSFALSE)
+ recfailOK = TRUE;
+ else
+ recfailOK = failOK;
+ type = gobble(filep, file, file_red);
+ if (type == ELSE)
+ find_includes(filep, file,
+ file_red, recursion+1, recfailOK);
+ else
+ if (type == ELIF)
+ goto doif;
+ else
+ if ((type == ELIFFALSE) || (type == ELIFGUESSFALSE))
+ goto doiffalse;
+ break;
+ case IFDEF:
+ case IFNDEF:
+ if ((type == IFDEF && isdefined(line, file_red, NULL))
+ || (type == IFNDEF && !isdefined(line, file_red, NULL))) {
+ debug(1,(type == IFNDEF ?
+ "line %d: %s !def'd in %s via %s%s\n" : "",
+ filep->f_line, line,
+ file->i_file, file_red->i_file, ": doit"));
+ type = find_includes(filep, file,
+ file_red, recursion+1, failOK);
+ while (type == ELIF || type == ELIFFALSE || type == ELIFGUESSFALSE)
+ type = gobble(filep, file, file_red);
+ if (type == ELSE)
+ gobble(filep, file, file_red);
+ }
+ else {
+ debug(1,(type == IFDEF ?
+ "line %d: %s !def'd in %s via %s%s\n" : "",
+ filep->f_line, line,
+ file->i_file, file_red->i_file, ": gobble"));
+ type = gobble(filep, file, file_red);
+ if (type == ELSE)
+ find_includes(filep, file,
+ file_red, recursion+1, failOK);
+ else if (type == ELIF)
+ goto doif;
+ else if (type == ELIFFALSE || type == ELIFGUESSFALSE)
+ goto doiffalse;
+ }
+ break;
+ case ELSE:
+ case ELIFFALSE:
+ case ELIFGUESSFALSE:
+ case ELIF:
+ if (!recursion)
+ gobble(filep, file, file_red);
+ case ENDIF:
+ if (recursion)
+ return(type);
+ case DEFINE:
+ define(line, file);
+ break;
+ case UNDEF:
+ if (!*line) {
+ warning("%s", file_red->i_file);
+ if (file_red != file)
+ warning1(" (reading %s)", file->i_file);
+ warning1(", line %d: incomplete undef == \"%s\"\n",
+ filep->f_line, line);
+ break;
+ }
+ undefine(line, file_red);
+ break;
+ case INCLUDE:
+ case INCLUDEDOT:
+ case INCLUDENEXT:
+ case INCLUDENEXTDOT:
+ inclistp = inclistnext;
+ includedirsp = includedirsnext;
+ debug(2,("%s, reading %s, includes %s\n",
+ file_red->i_file, file->i_file, line));
+ add_include(filep, file, file_red, line, type, failOK);
+ inclistnext = inclistp;
+ includedirsnext = includedirsp;
+ break;
+ case ERROR:
+ case WARNING:
+ warning("%s", file_red->i_file);
+ if (file_red != file)
+ warning1(" (reading %s)", file->i_file);
+ warning1(", line %d: %s\n",
+ filep->f_line, line);
+ break;
+
+ case PRAGMA:
+ case IDENT:
+ case SCCS:
+ case EJECT:
+ break;
+ case -1:
+ warning("%s", file_red->i_file);
+ if (file_red != file)
+ warning1(" (reading %s)", file->i_file);
+ warning1(", line %d: unknown directive == \"%s\"\n",
+ filep->f_line, line);
+ break;
+ case -2:
+ warning("%s", file_red->i_file);
+ if (file_red != file)
+ warning1(" (reading %s)", file->i_file);
+ warning1(", line %d: incomplete include == \"%s\"\n",
+ filep->f_line, line);
+ break;
+ }
+ }
+ file->i_flags |= FINISHED;
+ debug(2,("finished with %s\n", file->i_file));
+ return(-1);
+}
diff --git a/nx-X11/config/makedepend/pr.c b/nx-X11/config/makedepend/pr.c
new file mode 100644
index 000000000..5d0e1c4da
--- /dev/null
+++ b/nx-X11/config/makedepend/pr.c
@@ -0,0 +1,124 @@
+/* $Xorg: pr.c,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/makedepend/pr.c,v 1.4 2001/04/29 23:25:02 tsi Exp $ */
+
+#include "def.h"
+
+extern struct inclist inclist[ MAXFILES ],
+ *inclistp;
+extern char *objprefix;
+extern char *objsuffix;
+extern int width;
+extern boolean printed;
+extern boolean verbose;
+extern boolean show_where_not;
+
+void
+add_include(struct filepointer *filep, struct inclist *file,
+ struct inclist *file_red, char *include, int type,
+ boolean failOK)
+{
+ register struct inclist *newfile;
+ register struct filepointer *content;
+
+ /*
+ * First decide what the pathname of this include file really is.
+ */
+ newfile = inc_path(file->i_file, include, type);
+ if (newfile == NULL) {
+ if (failOK)
+ return;
+ if (file != file_red)
+ warning("%s (reading %s, line %d): ",
+ file_red->i_file, file->i_file, filep->f_line);
+ else
+ warning("%s, line %d: ", file->i_file, filep->f_line);
+ warning1("cannot find include file \"%s\"\n", include);
+ show_where_not = TRUE;
+ newfile = inc_path(file->i_file, include, type);
+ show_where_not = FALSE;
+ }
+
+ if (newfile) {
+ included_by(file, newfile);
+ if (!(newfile->i_flags & SEARCHED)) {
+ newfile->i_flags |= SEARCHED;
+ content = getfile(newfile->i_file);
+ find_includes(content, newfile, file_red, 0, failOK);
+ freefile(content);
+ }
+ }
+}
+
+static void
+pr(struct inclist *ip, char *file, char *base)
+{
+ static char *lastfile;
+ static int current_len;
+ register int len, i;
+ char buf[ BUFSIZ ];
+
+ printed = TRUE;
+ len = strlen(ip->i_file)+1;
+ if (current_len + len > width || file != lastfile) {
+ lastfile = file;
+ sprintf(buf, "\n%s%s%s: %s", objprefix, base, objsuffix,
+ ip->i_file);
+ len = current_len = strlen(buf);
+ }
+ else {
+ buf[0] = ' ';
+ strcpy(buf+1, ip->i_file);
+ current_len += len;
+ }
+ fwrite(buf, len, 1, stdout);
+
+ /*
+ * If verbose is set, then print out what this file includes.
+ */
+ if (! verbose || ip->i_list == NULL || ip->i_flags & NOTIFIED)
+ return;
+ ip->i_flags |= NOTIFIED;
+ lastfile = NULL;
+ printf("\n# %s includes:", ip->i_file);
+ for (i=0; i<ip->i_listlen; i++)
+ printf("\n#\t%s", ip->i_list[ i ]->i_incstring);
+}
+
+void
+recursive_pr_include(struct inclist *head, char *file, char *base)
+{
+ int i;
+
+ if (head->i_flags & MARKED)
+ return;
+ head->i_flags |= MARKED;
+ if (head->i_file != file)
+ pr(head, file, base);
+ for (i=0; i<head->i_listlen; i++)
+ recursive_pr_include(head->i_list[ i ], file, base);
+}
diff --git a/nx-X11/config/pswrap/Imakefile b/nx-X11/config/pswrap/Imakefile
new file mode 100644
index 000000000..98f845d62
--- /dev/null
+++ b/nx-X11/config/pswrap/Imakefile
@@ -0,0 +1,27 @@
+XCOMM $XFree86: xc/config/pswrap/Imakefile,v 1.8tsi Exp $
+
+ FRIENDSDEF = -DFRIENDSFILE='"<DPS/dpsfriends.h>"'
+ DEFINES = -DXENVIRONMENT
+ DEPLIBS =
+ YFLAGS = -d
+EXTRA_LIBRARIES = LexLib
+
+SRCS = main.c pswdict.c pswfile.c \
+ systemnames.c psw.c pswstring.c pswsemantics.c
+
+OBJS = main.o pswparser.o lexer.o pswdict.o pswfile.o \
+ systemnames.o psw.o pswstring.o pswsemantics.o
+
+#if CrossCompiling
+ComplexHostProgramTarget(pswrap)
+#else
+ComplexProgramTarget(pswrap)
+#endif
+
+pswraponly:: $(PROGRAM)
+
+SpecialObjectRule(pswfile.o,pswfile.c,$(FRIENDSDEF))
+
+LexFile(lexer)
+
+YaccFile(pswparser,$(YFLAGS))
diff --git a/nx-X11/config/pswrap/lexer.l b/nx-X11/config/pswrap/lexer.l
new file mode 100644
index 000000000..fdd6d03c2
--- /dev/null
+++ b/nx-X11/config/pswrap/lexer.l
@@ -0,0 +1,814 @@
+%{
+/*
+ * lexer.l
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/lexer.l,v 1.10 2001/10/28 03:32:03 tsi Exp $ */
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "pswpriv.h"
+#include "pswparser.h"
+
+/* flex of EMX seems to be too old */
+#if defined(FLEX_SCANNER) && !defined(YY_FLEX_LEX_COMPAT) && !defined(__UNIXOS2__)
+int yylineno = 1;
+#endif
+
+static int parens = 0; /* current paren balancing */
+static char *sbody; /* cur pointer into string_temp */
+static int curleng = 0; /* current scanned string length */
+static int strlineno; /* start line of current string */
+
+static int nonComment = true; /* are we outside C comments? */
+static int newLine = true; /* are we starting a new line? */
+static int hexstringerrs = 0; /* found an error in this hex string */
+
+int errorCount = 0; /* number of non-fatal errors */
+
+#ifdef PSWDEBUG
+int lexdebug = 1; /* debug flag */
+#define DEBUGP(x) {if (lexdebug) { fprintf x ; };}
+#else /* PSWDEBUG */
+#define DEBUGP(x)
+#endif /* PSWDEBUG */
+
+#undef YYLMAX
+#define YYLMAX 16384
+
+/* ErrIntro prints a standard intro for error messages;
+ * change it if your system uses something else. We have many options:
+ *
+ * to match Macintosh: #define FMT "File \"%s\"; Line %d # "
+ * to match BSD cc: #define FMT "\"%s\", line %d: "
+ * to match gcc: #define FMT "%s:%d: "
+ * to match Mips cc: #define FMT "pswrap: Error: %s, line %d: "
+ */
+#define INTRO "# In function %s -\n"
+
+#ifdef macintosh
+#define FMT "File \"%s\"; Line %d # "
+#else /* macintosh */
+#define FMT "\"%s\", line %d: "
+#endif /* macintosh */
+
+void ErrIntro(int line)
+{
+ if (! reportedPSWName && currentPSWName) {
+ reportedPSWName = 1;
+ fprintf(stderr,INTRO,currentPSWName);
+ }
+ fprintf(stderr,FMT,ifile,line);
+ errorCount++;
+}
+
+
+void yyerror(char *errmsg)
+{
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s near text \"%s\"\n",errmsg,yytext);
+}
+%}
+
+%o 3500
+%a 2500
+
+%START PS STR HEX DEF SUB
+
+DIGIT ([0-9])
+HEXDIGIT ([a-fA-F0-9])
+RADIXDIGIT ([a-zA-Z0-9])
+LETTER ([a-zA-Z])
+SIGN ([+-])
+EXP ([eE]{SIGN}?{DIGIT}+)
+W ([ \t\n\r])
+
+%%
+
+<PS>^defineps { /* inside a wrap - just a PS token */
+ if (nonComment) {
+ newLine = false;
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ DEBUGP((stderr,"PSNAME ->%s\n",yytext));
+ return PSNAME;
+ }
+}
+
+<DEF>^defineps { /* treat as a C name inside the def part */
+ if (nonComment) {
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ DEBUGP((stderr,"CNAME ->%s\n",yytext));
+ return CNAME;
+ }
+}
+
+<STR>^defineps { /* part of string text */
+ register int i = yyleng;
+ register unsigned char *c = (unsigned char *) yytext;
+
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+ for (; i > 0; --i) *sbody++ = *c++;
+}
+
+^{W}*defineps { /* start of a wrap definition */
+ if (nonComment) {
+ BEGIN DEF;
+ DEBUGP((stderr,"DEFINEPS\n"));
+ return DEFINEPS;
+ } else ECHO;
+}
+
+<PS>endps { /* end of a wrap */
+ if (nonComment){
+ if (newLine) {
+ newLine = false;
+ DEBUGP((stderr,"ENDPS\n"));
+ BEGIN 0;
+ return ENDPS;
+ } else {
+ DEBUGP((stderr,"PSNAME %s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ return PSNAME;
+ }
+ }
+}
+
+<DEF>^endps { /* treat as a C name inside the def part? */
+ if (nonComment) {
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ DEBUGP((stderr,"CNAME ->%s\n",yytext));
+ return CNAME;
+ }
+}
+
+<STR>^defineps { /* part of string text */
+ register int i = yyleng;
+ register unsigned char *c = (unsigned char *) yytext;
+
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+ for (; i > 0; --i) *sbody++ = *c++;
+}
+
+endps { /* BOGUS end of a wrap */
+ if (nonComment) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"endps without matching defineps\n");
+ } else ECHO;
+}
+
+%{
+ /* real definition stuff */
+%}
+
+<DEF>"/*" { /* C comments on */
+ nonComment = false;
+}
+
+<DEF>"*/" { /* C comments off */
+ nonComment = true;
+}
+
+<DEF>"(" { /* formals start */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->(\n"));
+ return '(';
+ }
+}
+
+<DEF>")" { /* formals end */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->)\n"));
+ BEGIN PS;
+ return ')';
+ }
+}
+
+<DEF>[|,;[\]*:] { /* special single chars */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->%c\n",yytext[0]));
+ return (yytext[0]);
+ }
+}
+
+%{
+ /* formals type names */
+%}
+
+<DEF>"static" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->static\n"));
+ return STATIC;
+ }
+}
+
+<DEF>"boolean" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->boolean\n"));
+ return BOOLEAN;
+ }
+}
+
+<DEF>"char" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->char\n"));
+ return CHAR;
+ }
+}
+
+<DEF>"int" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->int\n"));
+ return INT;
+ }
+}
+
+<DEF>"short" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->short\n"));
+ return SHORT;
+ }
+}
+
+<DEF>"long" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->long\n"));
+ return LONG;
+ }
+}
+
+<DEF>"unsigned" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->unsigned\n"));
+ return UNSIGNED;
+ }
+}
+
+<DEF>"float" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->float\n"));
+ return FLOAT;
+ }
+}
+
+<DEF>"double" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->double\n"));
+ return DOUBLE;
+ }
+}
+
+<DEF>"userobject" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->userobject\n"));
+ return USEROBJECT;
+ }
+}
+
+<DEF>"numstring" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->numstring\n"));
+ return NUMSTRING;
+ }
+}
+
+<DEF>"DPSContext" {
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->DPScontext\n"));
+ return PSCONTEXT;
+ }
+}
+
+%{
+ /* C format numbers in formals part */
+%}
+
+<DEF>[1-9]{DIGIT}* { /* base 10 number */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->CINTEGER %s\n",yytext));
+ yylval.intobj = atoi((char *) yytext);
+ return CINTEGER;
+ }
+}
+
+<DEF>0{DIGIT}* { /* octal number (and zero) */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->CINTEGER %s\n",yytext));
+ /* I have no idea why the cast is needed in the next line,
+ but it seems to make the compiler happy on alpha */
+ sscanf((char *) yytext,"%lo",&yylval.intobj);
+ return CINTEGER;
+ }
+}
+
+<DEF>0[xX]{HEXDIGIT}+ { /* hex number */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->CINTEGER %s\n",yytext));
+ /* See previous comment... */
+ sscanf((char *) yytext,"0x%lx",&yylval.intobj);
+ return CINTEGER;
+ }
+}
+
+<DEF>[a-zA-Z_][a-zA-Z0-9_]* { /* C identifier */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->CNAME %s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ return CNAME;
+ }
+}
+
+<DEF>{W}+ {
+}
+
+<DEF>[^a-zA-Z0-9_|,;[\]*:\(\)/ \t\n\r]+ { /* all else - ERROR */
+ if (nonComment) {
+ DEBUGP((stderr,"DEF ->JUNK %s\n",yytext));
+ ErrIntro(yylineno);
+ fprintf(stderr,"invalid characters '%s' in definition\n",
+ yytext);
+ }
+}
+
+
+%{
+ /* body part - PostScript code */
+%}
+
+<PS>\%.* { /* a PS comment, ignore */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"comment %s\n",yytext));
+ /* yylval = yytext; return PSCOMMENT; */
+ }
+}
+
+<PS>{SIGN}?{DIGIT}+ { /* a decimal integer */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSINTEGER ->%s\n",yytext));
+ yylval.intobj = atoi((char *) yytext);
+ return PSINTEGER;
+ }
+}
+
+<PS>{DIGIT}+#{RADIXDIGIT}+ { /* a radix number */
+#define MAX_ULONG ((unsigned long) -1)
+ unsigned base = 0;
+ unsigned char *s = (unsigned char *) yytext;
+ register unsigned long x, limit;
+ register unsigned long i = 0;
+
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSINTEGER radix->%s\n",yytext));
+ while (*s != '#') {
+ base *= 10;
+ base += *s++ - '0';
+ if (base > 32) break;
+ }
+
+ if ((base < 2) || (base > 36)) {goto error;}
+ else {
+ limit = MAX_ULONG / base;
+ s++; /* skip # sign */
+ while (*s != '\0') {
+ if (i > limit) goto error;
+ i *= base;
+ if (isdigit(*s)) { x = *s - '0';}
+ else { x = (*s | 040) - ('a'-10);}
+ if (x >= base) goto error;
+ if (x > (MAX_ULONG - i)) goto error;
+ i += x;
+ s++;
+ }
+ }
+ yylval.intobj = i;
+ return PSINTEGER;
+
+ error:;
+ ErrIntro(yylineno);
+ fprintf(stderr,"invalid radix number %s\n",yytext);
+ yylval.intobj = 0; /* ERROR */
+ return PSINTEGER;
+ }
+}
+
+<PS>(({SIGN}?{DIGIT}+(\.{DIGIT}*)?{EXP}?)|({SIGN}?{DIGIT}*\.{DIGIT}+{EXP}?)) {
+ /* a float */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSREAL ->%s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object,yytext);
+ return PSREAL;
+ }
+}
+
+<PS>"(" { /* start PS string */
+ if (nonComment) {
+ newLine = false;
+ BEGIN STR;
+ parens=1;
+ sbody = string_temp;
+ curleng = 0;
+ strlineno = yylineno;
+ *sbody = '\0';
+ }
+}
+
+%{
+ /* inside PS strings */
+%}
+
+<STR>"(" { /* balancing parens */
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+ parens++;
+ *sbody++ = '(';
+}
+
+<STR>")" { /* balancing parens or end string */
+ if ((--parens) == 0) {
+ BEGIN PS;
+ *sbody = '\0';
+ yylval.object = psw_malloc(strlen(string_temp) + 1);
+ strcpy(yylval.object, string_temp);
+ DEBUGP((stderr,"PSSTRING ->%s\n",string_temp));
+ return PSSTRING;
+ }
+ else if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+ *sbody++ = ')';
+}
+
+<STR>"\\"[0-7]([0-7]?)([0-7]?) { /* quoted octal byte */
+ if (4 + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += 4;
+ sprintf(sbody,"\\%3.3s",(yytext + 1));
+ while (*sbody) {
+ if (*sbody == ' ') *sbody = '0';
+ sbody++;
+ }
+}
+
+
+<STR>"\\\n" { /* ignore quoted newline */
+}
+
+<STR>"\\\\" { /* keep quoted backslashes in */
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ *sbody++ = '\\';
+ *sbody++ = '\\';
+ curleng += 2;
+}
+
+
+<STR>("\\".) { /* other quoted char, including parens */
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ switch (yytext[1]) {
+ case 'b':
+ *sbody++ = '\b';
+ break;
+ case 'f':
+ *sbody++ = '\f';
+ break;
+ case 'n':
+ *sbody++ = '\012';
+ break;
+ case 'r':
+ *sbody++ = '\015';
+ break;
+ case 't':
+ *sbody++ = '\t';
+ break;
+ default:
+ *sbody++ = yytext[1];
+ break;
+ }
+ curleng++;
+}
+
+
+<STR>"\n" { /* newline in a string */
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+
+ *sbody++ = '\n';
+}
+
+<STR>[^()\\\n]+ { /* anything else */
+ register int i = yyleng;
+ register unsigned char *c = (unsigned char *) yytext;
+
+ if (yyleng + curleng >= maxstring) {
+ stringerr(1);
+ BEGIN PS;
+ *sbody = '\0';
+ return PSSTRING;
+ }
+ curleng += yyleng;
+ for (; i > 0; --i) *sbody++ = *c++;
+}
+
+%{
+ /* hexidecimal strings "< >" */
+%}
+
+<PS>"<" { /* begin hex string */
+ if (nonComment) {
+ newLine = false;
+ BEGIN HEX;
+ sbody = string_temp;
+ *sbody = '\0';
+ curleng = 0;
+ strlineno = yylineno;
+ hexstringerrs = 0;
+ }
+}
+
+<HEX>{W}+ { /* hex whitespace */
+ /* ignore */
+}
+
+<HEX>[0-9A-Fa-f]+ { /* hex string data */
+ if (yyleng + curleng >= maxstring) {
+ stringerr(2);
+ *sbody = '\0';
+ BEGIN PS;
+ return PSHEXSTRING;
+ }
+ curleng += yyleng;
+ strcpy(sbody,yytext);
+ sbody += yyleng;
+}
+
+<HEX>">" { /* end hex string */
+ BEGIN PS;
+ *sbody = '\0';
+ DEBUGP((stderr,"PSHEXSTRING ->%s\n",string_temp));
+ yylval.object = psw_malloc(strlen(string_temp) + 1);
+ strcpy(yylval.object, string_temp);
+ return PSHEXSTRING;
+}
+
+<HEX>[^a-fA-F0-9> \t\n\r]+ { /* ERROR */
+ if (hexstringerrs == 0) { /* only complain once per string */
+ ErrIntro(yylineno);
+ fprintf(stderr,"invalid characters in hex string '%s'\n",yytext);
+ hexstringerrs++;
+ }
+}
+
+
+%{
+ /* straight postscript */
+%}
+
+<PS>"<<" { /* just a PS token (for level 2 compatablity) */
+ if (nonComment) {
+ newLine = false;
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ DEBUGP((stderr,"PSNAME ->%s\n",yytext));
+ return PSNAME;
+ }
+}
+
+<PS>">>" { /* just a PS token (for level 2 compatablity) */
+ if (nonComment) {
+ newLine = false;
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ DEBUGP((stderr,"PSNAME ->%s\n",yytext));
+ return PSNAME;
+ }
+}
+
+<PS>[\[\]\{\}] { /* PS self delimiter */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PS ->%s\n",yytext));
+ return (yytext[0]);
+ }
+}
+
+<PS>"true"|"false" { /* boolean */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSBOOLEAN %s\n",yytext));
+ yylval.intobj = (*yytext == 't');
+ return PSBOOLEAN;
+ }
+}
+
+<PS>"/"[^ <>\(\)\[\]\{\}\%\/\t\n\r]* { /* literal name */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSLITNAME %s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext));
+ strcpy(yylval.object, yytext+1);
+ return PSLITNAME;
+ }
+}
+
+<PS>[^ <>\(\)\[\]\{\}\%\/\\\t\n\r]+ { /* executable name */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PSNAME %s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext) + 1);
+ strcpy(yylval.object, yytext);
+ return PSNAME;
+ }
+}
+
+<PS>"*/" { /* special case */
+ if (nonComment) {
+ newLine = false;
+ unput('/');
+ yylval.object = psw_malloc(2);
+ strcpy(yylval.object, "*");
+ return PSNAME;
+ }
+}
+
+<PS>"\\"[^ <>\(\)\[\]\{\}\%\/\\\t\n\r]+/"[" { /* \name[index] */
+ if (nonComment) {
+ DEBUGP((stderr,"\\PSNAME %s\n",yytext));
+ yylval.object = psw_malloc(strlen(yytext));
+ strcpy(yylval.object, yytext+1);
+ BEGIN SUB;
+ return PSSUBNAME;
+ }
+}
+
+<SUB>[\[][^ \t\]]*[\]] { /* [index] */
+ if (nonComment) {
+ int len = strlen(yytext);
+ DEBUGP((stderr,"PSINDEX %s\n",yytext));
+ if (len == 2) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"parameter index expression empty\n");
+ yylval.object = "0";
+ }
+ else {
+ yylval.object = psw_malloc(len);
+ strncpy(yylval.object, yytext+1, len-2);
+ yylval.object[len-2] = '\0';
+ }
+ BEGIN PS;
+ return PSINDEX;
+ }
+}
+
+<SUB>[\[][^\]]*[\]] { /* error */
+ if (nonComment) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"parameter index expression error\n");
+ yylval.object = "0";
+ BEGIN PS;
+ return PSINDEX;
+ }
+}
+
+<PS>[\)\>\\]+ { /* ERROR */
+ if (nonComment) {
+ newLine = false;
+ DEBUGP((stderr,"PS JUNK ->%s\n",yytext));
+ ErrIntro(yylineno);
+ fprintf(stderr,"invalid characters '%s'\n",yytext);
+ }
+}
+
+<PS>[ \t\r]+ { }
+
+<PS>[\n]+ {
+ newLine = true;
+}
+
+[ \t]+ { /* passthru stuff */
+ ECHO;
+}
+
+\n {
+ outlineno++;
+ ECHO;
+};
+
+"/*" { /* C comments on */
+ nonComment = false;
+ ECHO;
+}
+
+"*/" { /* C comments off */
+ if (!nonComment) {
+ nonComment = true;
+ ECHO;
+ }
+}
+
+%%
+
+int yywrap (void) {
+ if (!feof(yyin))
+ return (0);
+/* The following appears not to work with flex. As it is error
+ handling code, we just comment it out. */
+#if !defined(FLEX_SCANNER)
+ if (yybgin != (yysvec+1)) { /* make sure we are in state 0 */
+ ErrIntro(yylineno);
+ fprintf(stderr,"end of input file/missing endps\n");
+ }
+#endif
+ return (1);
+}
+
+void stringerr(int type)
+{
+ ErrIntro(strlineno);
+ fprintf(stderr,"%sstring too long (caught at line %d)\n",
+ ((type==1)?"":"hex "),yylineno);
+ errorCount++;
+ return;
+}
diff --git a/nx-X11/config/pswrap/main.c b/nx-X11/config/pswrap/main.c
new file mode 100644
index 000000000..0f7227a6c
--- /dev/null
+++ b/nx-X11/config/pswrap/main.c
@@ -0,0 +1,225 @@
+/*
+ * main.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/main.c,v 1.4 2000/06/07 19:50:47 tsi Exp $ */
+
+#include <stdio.h>
+
+#ifdef XENVIRONMENT
+#include <X11/Xos.h>
+#else
+#include <string.h>
+#endif
+
+#define SLASH '/'
+#include <ctype.h>
+#include <stdlib.h>
+#include "pswpriv.h"
+
+#define MIN_MAXSTRING 80 /* min allowable value of maxstring */
+
+/* global data */
+char *prog; /* program name */
+char *special_h = NULL; /* -f option */
+char *hfile = NULL; /* name of -h file */
+char *ofile = NULL; /* name of -o file */
+char *ifile = NULL; /* name of input file */
+int gotInFile = 0; /* got an explicit input file name */
+int doANSI = 0; /* got -a (ansi) flag for -h file */
+int pad = 0; /* got -p (padding) flag */
+boolean noUserNames = false; /* got -n (don't use usernames) flag */
+int reentrant = 0; /* automatic vars for generated BOS */
+int bigFile = 0; /* got -b flag => call free */
+FILE *header; /* stream for -h file output */
+char headid[200]; /* id for header file #include */
+int maxstring = 2000; /* -s max string length to scan */
+char *string_temp; /* string buffer of above size */
+int outlineno = 1; /* output line number */
+int nWraps = 0; /* total number of wraps */
+#ifdef __MACH__
+char *shlibInclude = NULL; /* special file to be #included at top of */
+ /* file. Used only when building shlibs */
+#endif /* __MACH__ */
+
+static void Usage(void)
+{
+ fprintf(stderr,"Usage: pswrap [options] [input-file]\n");
+ fprintf(stderr," -a produce ANSI C procedure prototypes\n");
+ fprintf(stderr," -b process a big file\n");
+ fprintf(stderr," -f filename include special header\n");
+ fprintf(stderr," -h filename specify header filename\n");
+ fprintf(stderr," -o filename specify output C filename\n");
+ fprintf(stderr," -r make wraps re-entrant\n");
+ fprintf(stderr," -s length set maximum string length\n");
+ exit(1);
+}
+
+static void ScanArgs(int argc, char *argv[])
+{
+ char *slash; /* index of last / in hfile */
+ char *c; /* pointer into headid for conversion */
+ int i = 0;
+
+ prog = argv[i++];
+ slash = rindex(prog,SLASH);
+ if (slash)
+ prog = slash + 1;
+ while (i < argc) {
+ if (*argv[i] != '-') {
+ if (ifile != NULL) {
+ fprintf(stderr, "%s: Only one input file can be specified.\n", prog);
+ Usage();
+ } else {
+ ifile = argv[i];
+ }
+ } else {
+ switch (*(argv[i]+1)) {
+ case 'a':
+ doANSI++;
+ reentrant++;
+ break;
+ case 'b':
+ bigFile++;
+ break;
+#ifdef PSWDEBUG
+ case 'd':
+ lexdebug++;
+ break;
+#endif /* PSWDEBUG */
+ case 'f':
+ special_h = argv[++i];
+ break;
+ case 'h':
+ hfile = argv[++i];
+ slash = rindex(hfile,SLASH);
+ strcpy(headid, slash ? slash+1 : hfile);
+ for (c = headid; *c != '\0'; c++) {
+ if (*c == '.') *c = '_';
+ else if (isascii(*c) && islower(*c)) *c = toupper(*c);
+ }
+ break;
+ case 'o':
+ ofile = argv[++i];
+ break;
+ case 'r':
+ reentrant++;
+ break;
+ case 's':
+ if ((maxstring = atoi(argv[++i])) < MIN_MAXSTRING) {
+ fprintf(stderr,"%s: -s %d is the minimum\n", prog, MIN_MAXSTRING);
+ maxstring = MIN_MAXSTRING;
+ }
+ break;
+ case 'w':
+ break;
+#ifdef __MACH__
+ case 'S':
+ shlibInclude = argv[++i];
+ break;
+#endif /* __MACH__ */
+ case 'n':
+ noUserNames = true;
+ break;
+ case 'p':
+ pad++;
+ break;
+ default:
+ fprintf(stderr, "%s: bad option '-%c'\n", prog, *(argv[i]+1));
+ Usage();
+ break;
+ } /* switch */
+ } /* else */
+ i++;
+ } /* while */
+} /* ScanArgs */
+
+int main(int argc, char *argv[])
+{
+ int retval; /* return from yyparse */
+
+ ScanArgs(argc, argv);
+
+ if (ifile == NULL)
+ ifile = "stdin";
+ else {
+ gotInFile = 1;
+ if (freopen(ifile,"r",stdin) == NULL) {
+ fprintf(stderr, "%s: can't open %s for input\n", prog, ifile);
+ exit(1);
+ }
+ }
+ if ((string_temp = (char *) malloc((unsigned) (maxstring+1))) == 0) {
+ fprintf(stderr, "%s: can't allocate %d char string; try a smaller -s value\n", prog, maxstring);
+ exit(1);
+ }
+ if (ofile == NULL)
+ ofile = "stdout";
+ else {
+#ifdef __MACH__
+ (void)unlink(ofile);
+#endif /* __MACH__ */
+ if (freopen(ofile,"w",stdout) == NULL) {
+ fprintf(stderr, "%s: can't open %s for output\n", prog, ofile);
+ exit(1);
+ }
+ }
+ InitOFile();
+
+ if (hfile != NULL) {
+#ifdef __MACH__
+ (void)unlink(hfile);
+#endif /* __MACH__ */
+ if ((header = fopen(hfile,"w")) == NULL) {
+ fprintf(stderr, "%s: can't open %s for output\n", prog, hfile);
+ exit(1);
+ }
+ }
+ if (header != NULL) InitHFile();
+
+ InitWellKnownPSNames();
+
+ if ((retval = yyparse()) != 0)
+ fprintf(stderr,"%s: error in parsing %s\n",prog,ifile);
+ else if (errorCount != 0) {
+ fprintf(stderr,"%s: errors were encountered\n",prog);
+ retval = errorCount;
+ }
+
+ if (hfile != NULL) FinishHFile();
+
+ exit (retval);
+}
diff --git a/nx-X11/config/pswrap/psw.c b/nx-X11/config/pswrap/psw.c
new file mode 100644
index 000000000..f50f87a8b
--- /dev/null
+++ b/nx-X11/config/pswrap/psw.c
@@ -0,0 +1,1961 @@
+/*
+ * psw.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/psw.c,v 1.5 2000/06/07 21:36:56 tsi Exp $ */
+
+/***********/
+/* Imports */
+/***********/
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef XENVIRONMENT
+#include <X11/Xos.h>
+#else
+#include <string.h>
+#endif
+
+#include "pswdict.h"
+#include "pswpriv.h"
+#include "pswsemantics.h"
+
+#define DPS_HEADER_SIZE 4
+#define DPS_LONG_HEADER_SIZE 8
+#define DPS_BINOBJ_SIZE 8 /* sizeof(DPSBinObjGeneric) */
+#define WORD_ALIGN 3
+#define HNUMTOKEN 149
+#define NUMSTR_HEADER_SIZE 4
+#define MAXSTRINGS 256 /* maximum number of non-duplcated strings */
+
+#define datafil stdout /* send statics to stdout (with code) */
+
+/********************/
+/* Global Variables */
+/********************/
+
+/* Wrap-specific globals */
+
+static char *ctxName;
+
+static TokenList nameTokens;
+static int nNames;
+static TokenList namedInputArrays, namedInputStrings;
+static TokenList literalStrings;
+static boolean writable; /* encoding is not constant */
+static boolean twoStatics; /* true if strings are separate from objects */
+static boolean large;
+static int dpsHeaderSize;
+static int stringBytes;
+
+/**************************/
+/* Procedure Declarations */
+/**************************/
+
+
+/**********************/
+/* Utility procedures */
+
+
+#define CantHappen() { fprintf(stderr, "CantHappen"); abort(); }
+
+#define Assert(b) if (!(b)) { CantHappen(); }
+
+#define SafeStrCpy(dst,src) \
+ dst = psw_malloc(strlen(src)+1) , \
+ strcpy(dst, src)
+
+static long NumArgs(Args args)
+{
+ register long n = 0;
+ register Arg arg;
+ register Item item;
+ for (arg = args; arg; arg = arg->next)
+ for (item = arg->items; item; item = item->next)
+ n++;
+ return n;
+}
+
+static int NumTokens(Body body)
+{
+ register int n = 0;
+ while (body) { n++; body = body->next; }
+ return n;
+}
+
+static TokenList ConsToken (Token t, TokenList ll)
+{
+ TokenList tt = (TokenList) psw_calloc(sizeof(TokenListRec), 1);
+ tt->token = t;
+ tt->next = ll;
+ return tt;
+}
+
+static TokenList ConsNameToken (Token t, TokenList ll)
+{
+ TokenList temp, tt = (TokenList) psw_calloc(sizeof(TokenListRec), 1);
+
+ tt->token = t;
+ tt->next = ll;
+ if(ll == NULL)
+ return (tt);
+ temp = ll;
+ while((temp->next != NULL) && strcmp((char *)(temp->token->val), (char *)(t->val)))
+ temp = temp->next;
+ tt->next = temp->next;
+ temp->next = tt;
+ return (ll);
+}
+
+static boolean IsCharType(Type t)
+{
+ return (t == T_CHAR || t == T_UCHAR);
+}
+
+static boolean IsNumStrType(Type t)
+{
+ return (t == T_NUMSTR
+ || t == T_FLOATNUMSTR
+ || t == T_LONGNUMSTR
+ || t == T_SHORTNUMSTR);
+}
+
+static boolean IsPadNumStrType(Type t)
+{
+ return (t == T_NUMSTR || t == T_SHORTNUMSTR);
+}
+
+/*************************/
+/* Type-code conversions */
+
+static char *TypeToText(Type type)
+{
+ switch ((int) type) {
+ case T_CONTEXT:
+ return "DPSContext";
+ case T_BOOLEAN:
+ return "int";
+ case T_FLOAT:
+ return "float";
+ case T_DOUBLE:
+ return "double";
+ case T_CHAR:
+ return "char";
+ case T_UCHAR:
+ return "unsigned char";
+ case T_USEROBJECT:
+ case T_INT:
+ return "int";
+ case T_LONGINT:
+ return "long int";
+ case T_SHORTINT:
+ return "short int";
+ case T_ULONGINT:
+ return "unsigned long int";
+ case T_USHORTINT:
+ return "unsigned short int";
+ case T_UINT:
+ return "unsigned int";
+ case T_NUMSTR:
+ return "int";
+ case T_FLOATNUMSTR:
+ return "float";
+ case T_LONGNUMSTR:
+ return "long int";
+ case T_SHORTNUMSTR:
+ return "short int";
+ default:
+ CantHappen();
+ }
+ /*NOTREACHED*/
+}
+
+static char *CTypeToDPSType(int type)
+{
+ switch (type) {
+ case T_BOOLEAN:
+ return("DPS_BOOL");
+ case T_INT:
+ case T_LONGINT:
+ case T_SHORTINT:
+ case T_UINT:
+ case T_ULONGINT:
+ case T_USHORTINT:
+ case T_USEROBJECT:
+ return("DPS_INT");
+ case T_FLOAT:
+ case T_DOUBLE:
+ return("DPS_REAL");
+ case T_CHAR:
+ case T_UCHAR:
+ return("DPS_STRING");
+ default: CantHappen();
+ }
+ /*NOTREACHED*/
+}
+
+static char *CTypeToResultType(int type)
+{
+ switch (type) {
+ case T_BOOLEAN:
+ return("dps_tBoolean");
+ case T_USEROBJECT:
+ case T_INT:
+ return("dps_tInt");
+ case T_LONGINT:
+ return("dps_tLong");
+ case T_SHORTINT:
+ return("dps_tShort");
+ case T_UINT:
+ return("dps_tUInt");
+ case T_ULONGINT:
+ return("dps_tULong");
+ case T_USHORTINT:
+ return("dps_tUShort");
+ case T_FLOAT:
+ return("dps_tFloat");
+ case T_DOUBLE:
+ return("dps_tDouble");
+ case T_CHAR:
+ return("dps_tChar");
+ case T_UCHAR:
+ return("dps_tUChar");
+ case T_NUMSTR:
+ return("dps_tInt");
+ case T_FLOATNUMSTR:
+ return("dps_tFloat");
+ case T_LONGNUMSTR:
+ return("dps_tLong");
+ case T_SHORTNUMSTR:
+ return("dps_tShort");
+ default: CantHappen();
+ }
+ /*NOTREACHED*/
+}
+
+static void FreeTokenList(TokenList tokenList)
+{
+ register TokenList tl;
+ if (bigFile)
+ while (tokenList) {
+ tl = tokenList->next;
+ free((char *)tokenList);
+ tokenList = tl;
+ }
+}
+
+
+/********************************************/
+/* Support procedures that generate no code */
+
+static void SetNameTag(Token t)
+{
+ PSWDictValue tag;
+ Assert(t->type == T_NAME || t->type == T_LITNAME);
+ tag = PSWDictLookup(wellKnownPSNames, (char *)(t->val));
+ if (tag == -1) { /* this is not a well-known name */
+ if (noUserNames)
+ t->wellKnownName = false;
+ else {
+ nameTokens = ConsNameToken(t, nameTokens);
+ nNames++;
+ }
+ }
+ else { /* a well-known (system) name */
+ t->wellKnownName = true;
+ t->body.cnst = tag;
+ }
+}
+
+/* If the wrap has result parameters, DPSAwaitReturnValues
+ must be told when execution if the body is complete. The
+ following boilerplate is tacked on to the end of the body
+ for this purpose by AppendResultFlush:
+ 0 doneTag printobject flush
+ where doneTag = (last result parameter tag + 1).
+*/
+static Body AppendResultFlush(Body body, long n)
+{
+ Token t, token;
+ char *ss;
+
+ if (body == NULL) return NULL;
+ for (t = body; t->next; t = t->next) ;
+
+ token = PSWToken(T_INT, 0L);
+ token->next = PSWToken(T_INT, (char *)(long)n);
+
+ SafeStrCpy(ss, "printobject");
+ token->next->next = PSWToken(T_NAME, ss);
+
+ SafeStrCpy(ss, "flush");
+ token->next->next->next = PSWToken(T_NAME, ss);
+
+ t->next = token;
+ return body;
+}
+
+
+/*****************************************/
+/* Support procedures that generate code */
+
+static void EmitArgPrototypes(FILE *stm, Header hdr)
+{
+ register Arg arg;
+ register Item item;
+ for (arg = hdr->inArgs; arg; arg = arg->next) {
+ fprintf(stm, "%s ", TypeToText(arg->type));
+ for (item = arg->items; item; item = item->next) {
+ if (item->starred) fprintf(stm, "*");
+ fprintf(stm, item->name);
+ if (item->subscripted) fprintf(stm, "[]");
+ if (item->next) fprintf(stm, ", ");
+ }
+ fprintf(stm, "; ");
+ }
+ for (arg = hdr->outArgs; arg; arg = arg->next) {
+ fprintf(stm, "%s ", TypeToText(arg->type));
+ for (item = arg->items; item; item = item->next) {
+ if (item->starred) fprintf(stm, "*");
+ fprintf(stm, item->name);
+ if (item->subscripted) fprintf(stm, "[]");
+ if (item->next) fprintf(stm, ", ");
+ }
+ fprintf(stm, "; ");
+ }
+}
+
+/* use default promotions in prototypes unless it's a pointer/array */
+static char *TypeToDefault(int type)
+{
+ char *result = TypeToText(type);
+ switch (type) {
+ case T_FLOAT: result = "double"; break;
+ case T_USHORTINT: result = "unsigned"; break;
+ case T_SHORTINT: result = "int"; break;
+ }
+ return result;
+}
+
+static void EmitANSIPrototypes(FILE *stm, Header hdr)
+{
+ register Arg arg;
+ register Item item;
+ register char *type;
+
+ if ((hdr->inArgs == NULL) && (hdr->outArgs == NULL)) {
+ fprintf(stm, " void "); return;
+ }
+ for (arg = hdr->inArgs; arg; arg = arg->next) {
+ type = TypeToText(arg->type);
+ for (item = arg->items; item; item = item->next) {
+ if (arg->type == T_CONTEXT) ctxName = item->name;
+ fprintf(stm, "%s%s %s%s",
+ (item->starred || item-> subscripted) ? "const " : "",
+ (item->starred || item-> subscripted) ? type : TypeToDefault(arg->type),
+ item->starred ? "*" : "", item->name);
+ if (item->subscripted) fprintf(stm, "[]");
+ if (item->next) fprintf(stm, ", ");
+ }
+ if (arg->next) fprintf(stm, ", ");
+ }
+ if (hdr->inArgs && hdr->outArgs) fprintf(stm, ", ");
+ for (arg = hdr->outArgs; arg; arg = arg->next) {
+ type = TypeToText(arg->type);
+ for (item = arg->items; item; item = item->next) {
+ fprintf(stm, "%s %s%s",
+ (item->starred || item-> subscripted) ? type : TypeToDefault(arg->type),
+ item->starred ? "*" : "",
+ item->name);
+ if (item->subscripted) fprintf(stm, "[]");
+ if (item->next) fprintf(stm, ", ");
+ }
+ if (arg->next) fprintf(stm, ", ");
+ }
+}
+
+/* Procedures for generating type declarations in the body */
+
+static void StartBinObjSeqDef(void)
+{
+ /* start type defn of binobjseq */
+ printf(" typedef struct {\n");
+ printf(" unsigned char tokenType;\n");
+ if(large) {
+ printf(" unsigned char sizeFlag;\n");
+ printf(" unsigned short topLevelCount;\n");
+ printf(" unsigned int nBytes;\n\n");
+ outlineno++;
+ } else {
+ printf(" unsigned char topLevelCount;\n");
+ printf(" unsigned short nBytes;\n\n");
+ }
+ outlineno += 5;
+}
+
+static void EmitFieldType(Token t)
+{
+ if ((t->type == T_FLOAT)
+ || (t->type == T_NAME && t->namedFormal
+ && (!t->namedFormal->subscripted)
+ && (t->namedFormal->type == T_FLOAT || t->namedFormal->type == T_DOUBLE))
+ || ((t->type == T_SUBSCRIPTED) && ((t->namedFormal->type == T_FLOAT)
+ || (t->namedFormal->type == T_DOUBLE))))
+ {
+ printf(" DPSBinObjReal");
+ } else {
+ printf(" DPSBinObjGeneric");
+ }
+ printf (" obj%d;\n", t->tokenIndex); outlineno++;
+}
+
+static int CheckSize(Body body)
+{
+ Adr nextAdr;
+ register TokenList bodies = NULL;
+ register TokenList tl;
+ boolean firstBody = true;
+ PSWDict wrapDict;
+ int strCount = 0;
+
+ bodies = ConsToken(body, (TokenList) NULL); /* the work list */
+
+ wrapDict = CreatePSWDict(MAXSTRINGS); /* dictionary of strings in the wrap */
+
+ nextAdr.cnst = 0;
+ nextAdr.var = NULL;
+ namedInputArrays = NULL;
+ namedInputStrings = NULL;
+ literalStrings = NULL;
+
+ while (bodies) {
+ register Token t;
+ register TokenList c = bodies;
+ bodies = c->next;
+
+ if (firstBody) firstBody = false;
+ else {
+ c->token->body = nextAdr;
+ c->token = (Body)c->token->val;
+ }
+ for (t = c->token; t; t = t->next) {
+ /* foreach token in this body */
+ nextAdr.cnst += DPS_BINOBJ_SIZE;
+
+
+ switch (t->type) {
+ case T_STRING: /* token is a string literal */
+ case T_HEXSTRING: /* token is a hexstring literal */
+ if (t->namedFormal == NULL) {
+ if ((t->type == T_STRING) ? PSWStringLength(t->val)
+ : PSWHexStringLength(t->val))
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ else {
+ Assert(IsCharType(t->namedFormal->type));
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ }
+ break;
+
+ case T_NAME:
+ if (t->namedFormal != NULL) {
+ if (IsCharType(t->namedFormal->type) ||
+ IsNumStrType(t->namedFormal->type))
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ else
+ if (t->namedFormal->subscripted)
+ namedInputArrays = ConsToken(t, namedInputArrays);
+ } else {
+ if (noUserNames) {
+ SetNameTag(t);
+ if (!t->wellKnownName)
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ }
+ break;
+
+ case T_LITNAME:
+ if (t->namedFormal != NULL) {
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ writable = true;
+ } else {
+ if (noUserNames) {
+ SetNameTag(t);
+ if (!t->wellKnownName)
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ }
+ break;
+
+ case T_SUBSCRIPTED:
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ break;
+
+ case T_ARRAY:
+ bodies = ConsToken(t, bodies);
+ break;
+ case T_PROC:
+ bodies = ConsToken(t, bodies);
+ break;
+ default:
+ CantHappen();
+ } /* switch */
+ } /* for */
+ free(c);
+ } /* while */
+
+
+ for (tl = namedInputArrays; tl; tl = tl->next) {
+ Token t = tl->token;
+ if (t->namedFormal->subscript->constant)
+ nextAdr.cnst += t->namedFormal->subscript->val * DPS_BINOBJ_SIZE;
+ }
+
+ for (tl = literalStrings; tl; tl = tl->next) {
+ Token t = tl->token;
+ int ln;
+ if (PSWDictLookup(wrapDict, (char *)t->val) == -1) {
+ if (strCount <= MAXSTRINGS) {
+ PSWDictEnter(wrapDict, t->val, 0);
+ strCount++;
+ }
+ if (t->type == T_STRING || t->type == T_NAME || t->type == T_LITNAME)
+ ln = PSWStringLength((char *)t->val);
+ else
+ ln = PSWHexStringLength((char *)t->val);
+ nextAdr.cnst += ln;
+ }
+ }
+
+ /* process name and litname tokens that reference formal string arguments */
+ for (tl = namedInputStrings; tl; tl = tl->next) {
+ Token t = tl->token;
+ if (t->namedFormal->subscripted && t->namedFormal->subscript->constant) {
+ if (IsNumStrType(t->namedFormal->type))
+ nextAdr.cnst += NUMSTR_HEADER_SIZE;
+ else
+ if(pad) {
+ int length;
+ length = t->namedFormal->subscript->val + WORD_ALIGN;
+ length &= ~WORD_ALIGN;
+ nextAdr.cnst += length;
+ } else
+ nextAdr.cnst += t->namedFormal->subscript->val;
+ }
+ }
+
+ DestroyPSWDict(wrapDict);
+ if (nextAdr.cnst > 0xffff)
+ return(1);
+ else
+ return(0);
+
+} /* CheckSize */
+
+static void BuildTypesAndAssignAddresses(
+ Body body, Adr *sz, long int *nObjs, unsigned *psize)
+{
+ long int objN = 0;
+ Adr nextAdr;
+ register TokenList bodies = NULL;
+ register TokenList tl;
+ boolean firstBody = true;
+ PSWDict wrapDict;
+ int strCount = 0;
+
+ bodies = ConsToken(body, (TokenList) NULL); /* the work list */
+
+ wrapDict = CreatePSWDict(MAXSTRINGS); /* dictionary of strings in the wrap */
+
+ nextAdr.cnst = 0;
+ nextAdr.var = NULL;
+ namedInputArrays = NULL;
+ namedInputStrings = NULL;
+ literalStrings = NULL;
+ writable = false;
+ stringBytes = 0;
+
+ /* emit boilerplate for the binobjseq record type */
+ StartBinObjSeqDef();
+
+ while (bodies) {
+ register Token t;
+ register TokenList c = bodies;
+ bodies = c->next;
+
+ if (firstBody) firstBody = false;
+ else {
+ c->token->body = nextAdr;
+ c->token = (Body)c->token->val;
+ }
+ for (t = c->token; t; t = t->next) {
+ /* foreach token in this body */
+ t->adr = nextAdr;
+ nextAdr.cnst += DPS_BINOBJ_SIZE;
+ t->tokenIndex = objN++;
+
+ /* emit the token type as the next record field */
+ EmitFieldType(t);
+
+ switch (t->type) {
+ case T_STRING: /* token is a string literal */
+ case T_HEXSTRING: /* token is a hexstring literal */
+ if (t->namedFormal == NULL) {
+ if ((t->type == T_STRING) ? PSWStringLength(t->val)
+ : PSWHexStringLength(t->val))
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ else {
+ Assert(IsCharType(t->namedFormal->type));
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ if (!(t->namedFormal->subscripted && t->namedFormal->subscript->constant))
+ writable = true;
+ }
+ break;
+
+ case T_NAME:
+ if (t->namedFormal == NULL) {
+ SetNameTag(t);
+ if(noUserNames) {
+ if (!t->wellKnownName)
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ } else
+ if (IsCharType(t->namedFormal->type)
+ || IsNumStrType(t->namedFormal->type)) {
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ if (!(t->namedFormal->subscripted
+ && t->namedFormal->subscript->constant))
+ writable = true;
+ } else
+ if (t->namedFormal->subscripted) {
+ namedInputArrays = ConsToken(t, namedInputArrays);
+ if (!(t->namedFormal->subscript->constant))
+ writable = true;
+ } else
+ writable = true;
+ break;
+
+ case T_LITNAME:
+ Assert(t->namedFormal == NULL || IsCharType(t->namedFormal->type));
+ if (t->namedFormal == NULL) {
+ SetNameTag(t);
+ if (noUserNames) {
+ if (!t->wellKnownName)
+ literalStrings = ConsToken(t, literalStrings);
+ }
+ } else {
+ namedInputStrings = ConsToken(t, namedInputStrings);
+ writable = true;
+ }
+ break;
+
+ case T_SUBSCRIPTED:
+ writable = true;
+ break;
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ break;
+
+ case T_ARRAY:
+ bodies = ConsToken(t, bodies);
+ break;
+ case T_PROC:
+ bodies = ConsToken(t, bodies);
+ break;
+ default:
+ CantHappen();
+ } /* switch */
+ } /* for */
+ free(c);
+ } /* while */
+
+ *psize = nextAdr.cnst;
+
+ if(nNames)
+ writable = true; /* SetNameTag couldn't find the name */
+
+ if (namedInputArrays && literalStrings) {
+ twoStatics = true;
+ printf(" } _dpsQ;\n\n");
+ printf(" typedef struct {\n");
+ outlineno += 3;
+ }
+ else twoStatics = false;
+
+ for (tl = namedInputArrays; tl; tl = tl->next) {
+ Token t = tl->token;
+ Assert(t && t->type == T_NAME && t->namedFormal);
+ Assert(t->namedFormal->subscripted && !t->namedFormal->starred);
+
+ /* this input array token requires its own write binobjs call */
+ t->body = nextAdr;
+ if (t->namedFormal->subscript->constant)
+ nextAdr.cnst += t->namedFormal->subscript->val * DPS_BINOBJ_SIZE;
+ }
+
+ for (tl = literalStrings; tl; tl = tl->next) {
+ Token t = tl->token;
+ int ln;
+ PSWDictValue loc;
+
+ loc = PSWDictLookup(wrapDict, (char *)t->val);
+ if (loc == -1) {
+ t->body = nextAdr;
+ if (strCount <= MAXSTRINGS) {
+ PSWDictEnter(wrapDict, (char *)t->val, nextAdr.cnst);
+ strCount++;
+ }
+ if (t->type == T_STRING || t->type == T_NAME || t->type == T_LITNAME)
+ ln = PSWStringLength((char *)t->val);
+ else
+ ln = PSWHexStringLength((char *)t->val);
+ nextAdr.cnst += ln;
+ stringBytes += ln;
+
+ /* emit the string type as the next record field */
+ printf(" char obj%ld[%d];\n", objN++, ln); outlineno++;
+ } else {
+ t->body = nextAdr;
+ t->body.cnst = loc;
+ }
+ }
+
+ /* process name and litname tokens that reference formal string arguments */
+ for (tl = namedInputStrings; tl; tl = tl->next) {
+ Token t = tl->token;
+ t->body = nextAdr;
+ if (t->namedFormal->subscripted && t->namedFormal->subscript->constant) {
+ if (IsNumStrType(t->namedFormal->type)) {
+ nextAdr.cnst += NUMSTR_HEADER_SIZE;
+ writable = true;
+ } else
+ if(pad) {
+ int length;
+ length = t->namedFormal->subscript->val + WORD_ALIGN;
+ length &= ~WORD_ALIGN;
+ nextAdr.cnst += length;
+ } else
+ nextAdr.cnst += t->namedFormal->subscript->val;
+ }
+ }
+
+ /* emit boilerplate to end the last record type */
+ if (twoStatics) printf(" } _dpsQ1;\n");
+ else printf(" } _dpsQ;\n");
+ outlineno++;
+
+ *nObjs = objN;
+ /* total number of objects plus string bodies in objrecs */
+
+ *sz = nextAdr;
+ DestroyPSWDict(wrapDict);
+} /* BuildTypesAndAssignAddresses */
+
+
+/* Procedures for generating static declarations for local types */
+
+static void StartStatic(boolean first)
+{
+ /* start static def for bin obj seq or for array data (aux) */
+ if (first) {
+ if(reentrant && writable) {
+ if(doANSI)
+ printf(" static const _dpsQ _dpsStat = {\n");
+ else
+ printf(" static _dpsQ _dpsStat = {\n");
+ } else {
+ if (doANSI)
+ printf(" static const _dpsQ _dpsF = {\n");
+ else
+ printf(" static _dpsQ _dpsF = {\n");
+ }
+ } else {
+ if(doANSI)
+ printf(" static const _dpsQ1 _dpsF1 = {\n");
+ else
+ printf(" static _dpsQ1 _dpsF1 = {\n");
+ }
+
+ outlineno++;
+}
+
+static void FirstStatic(int nTopObjects, Adr *sz)
+{
+ char *numFormat = "DPS_DEF_TOKENTYPE";
+
+ outlineno++;
+ if(large) {
+ fprintf(datafil, " %s, 0, %d, ", numFormat, nTopObjects);
+ fprintf(datafil, "%ld,\n", sz->cnst + dpsHeaderSize);
+ } else {
+ fprintf(datafil, " %s, %d, ", numFormat, nTopObjects);
+ fprintf(datafil, "%ld,\n", sz->cnst + dpsHeaderSize);
+ }
+}
+
+static void EndStatic(boolean first)
+{
+ /* end static template defn */
+ if (first)
+ printf(" }; /* _dpsQ */\n");
+ else
+ printf(" }; /* _dpsQ1 */\n");
+ outlineno++;
+}
+
+/* char that separates object attributes */
+#define ATT_SEP '|'
+
+static void EmitFieldConstructor(Token t)
+{
+ char *comment = NULL, *commentName = NULL;
+ fprintf(datafil, " {");
+
+ switch (t->type) {
+ case T_BOOLEAN:
+ fprintf(datafil, "DPS_LITERAL%cDPS_BOOL, 0, 0, %d", ATT_SEP, (int)(long)t->val);
+ break;
+ case T_INT:
+ fprintf(datafil, "DPS_LITERAL%cDPS_INT, 0, 0, %d", ATT_SEP, (int)(long)t->val);
+ break;
+ case T_FLOAT:
+ fprintf(datafil, "DPS_LITERAL%cDPS_REAL, 0, 0, %s", ATT_SEP, (char *)t->val);
+ break;
+
+ case T_ARRAY:
+ fprintf(datafil, "DPS_LITERAL%cDPS_ARRAY, 0, %d, %ld", ATT_SEP,
+ NumTokens((Body) (t->val)), t->body.cnst);
+ break;
+ case T_PROC:
+ fprintf(datafil, "DPS_EXEC%cDPS_ARRAY, 0, %d, %ld", ATT_SEP,
+ NumTokens((Body) (t->val)), t->body.cnst);
+ break;
+
+ case T_STRING:
+ case T_HEXSTRING:
+ if (t->namedFormal == NULL) {
+ int ln;
+ if (t->type == T_STRING)
+ ln = PSWStringLength((char *)t->val);
+ else ln = PSWHexStringLength((char *)t->val);
+ fprintf(datafil, "DPS_LITERAL%cDPS_STRING, 0, %d, %ld", ATT_SEP,
+ ln, t->body.cnst);
+ } else {
+ Item item = t->namedFormal;
+ if (item->subscripted && item->subscript->constant) {
+ fprintf(datafil, "DPS_LITERAL%cDPS_STRING, 0, %d, %ld",
+ ATT_SEP,item->subscript->val, t->body.cnst);
+ comment = "param[const]: ";
+ } else {
+ fprintf(datafil, "DPS_LITERAL%cDPS_STRING, 0, 0, %ld",
+ ATT_SEP,t->body.cnst);
+ comment = "param ";
+ }
+ commentName = (char *)t->val;
+ }
+ break;
+
+ case T_LITNAME:
+ commentName = (char *)t->val;
+ if (t->wellKnownName) {
+ fprintf(datafil, "DPS_LITERAL%cDPS_NAME, 0, DPSSYSNAME, %ld", ATT_SEP, t->body.cnst);
+ }
+ else if (t->namedFormal == NULL) {
+ int ln;
+ if (noUserNames) {
+ ln = PSWStringLength((char *)t->val);
+ fprintf(datafil, "DPS_LITERAL%cDPS_NAME, 0, %d, %ld", ATT_SEP, ln, t->body.cnst);
+ } else
+ fprintf(datafil, "DPS_LITERAL%cDPS_NAME, 0, 0, 0", ATT_SEP);
+ }
+ else {
+ fprintf(datafil, "DPS_LITERAL%cDPS_NAME, 0, 0, %ld", ATT_SEP, t->body.cnst);
+ comment = "param ";
+ }
+ break;
+
+ case T_NAME:
+ commentName = (char *)t->val;
+ if (t->wellKnownName) {
+ fprintf(datafil, "DPS_EXEC%cDPS_NAME, 0, DPSSYSNAME, %ld", ATT_SEP, t->body.cnst);
+ }
+ else if (t->namedFormal == NULL) {
+ int ln;
+ if (noUserNames) {
+ ln = PSWStringLength((char *)t->val);
+ fprintf(datafil, "DPS_EXEC%cDPS_NAME, 0, %d, %ld", ATT_SEP,
+ ln, t->body.cnst);
+ } else
+ fprintf(datafil, "DPS_EXEC%cDPS_NAME, 0, 0, 0", ATT_SEP);
+ }
+ else {
+ Item item = t->namedFormal;
+ if (IsCharType(item->type)) {
+ if (item->subscripted && t->namedFormal->subscript->constant) {
+ fprintf(datafil, "DPS_EXEC%cDPS_NAME, 0, %d, %ld", ATT_SEP,
+ t->namedFormal->subscript->val, t->body.cnst);
+ comment = "param[const]: ";
+ }
+ else {
+ fprintf(datafil, "DPS_EXEC%cDPS_NAME, 0, 0, %ld", ATT_SEP, t->body.cnst);
+ comment = "param ";
+ }
+ }
+ else {
+ if (item->subscripted) {
+ if (t->namedFormal->subscript->constant) {
+ if(IsNumStrType(item->type))
+ fprintf(datafil, "DPS_LITERAL%cDPS_STRING, 0, %d, %ld",
+ ATT_SEP, t->namedFormal->subscript->val
+ + NUMSTR_HEADER_SIZE, t->body.cnst);
+ else
+ fprintf(datafil, "DPS_LITERAL%cDPS_ARRAY, 0, %d, %ld",
+ ATT_SEP, t->namedFormal->subscript->val,
+ t->body.cnst);
+ comment = "param[const]: ";
+ } else {
+ if(IsNumStrType(item->type))
+ fprintf(datafil, "DPS_LITERAL%cDPS_STRING, 0, 0, %ld",
+ ATT_SEP, t->body.cnst);
+ else
+ fprintf(datafil, "DPS_LITERAL%cDPS_ARRAY, 0, 0, %ld", ATT_SEP,
+ t->body.cnst);
+ comment = "param[var]: ";
+ }
+ }
+ else {
+ char *dt = CTypeToDPSType(item->type);
+ fprintf(datafil, "DPS_LITERAL%c%s, 0, 0, 0", ATT_SEP, dt);
+ comment = "param: ";
+ }
+ }
+ }
+ break;
+ case T_SUBSCRIPTED: {
+ Item item = t->namedFormal;
+ char *dt = CTypeToDPSType(item->type);
+
+ /* Assert(t->namedFormal) */
+ fprintf(datafil, "DPS_LITERAL%c%s, 0, 0, 0", ATT_SEP, dt);
+ comment = "indexed param: ";
+ commentName = (char *)t->val;
+ }
+ break;
+
+ default:
+ CantHappen();
+ } /* switch */
+
+ if (comment == NULL) {
+ if (commentName == NULL) fprintf(datafil, "},\n");
+ else fprintf(datafil, "}, /* %s */\n", commentName);
+ }
+ else {
+ if (commentName == NULL) fprintf(datafil, "}, /* %s */\n", comment);
+ else fprintf(datafil, "}, /* %s%s */\n", comment, commentName);
+ }
+ outlineno++;
+} /* EmitFieldConstructor */
+
+static void ConstructStatics(Body body, Adr *sz, int nObjs)
+{
+ int objN = 0;
+ register TokenList strings = NULL, bodies = NULL;
+ register TokenList tl;
+ boolean isNamedInputArrays = false;
+ PSWDict wrapDict;
+ int strCount = 0;
+
+ wrapDict = CreatePSWDict(MAXSTRINGS); /* dictionary of strings in the wrap */
+
+ bodies = ConsToken(body, (TokenList) NULL); /* the work list */
+
+ /* emit boilerplate for the binobjseq static */
+ StartStatic(true);
+ FirstStatic(NumTokens(body), sz);
+
+ while (bodies) {
+ register Token t;
+ TokenList c = bodies;
+ bodies = c->next;
+
+ for (t = c->token; t; t = t->next) {
+ /* foreach token in this body */
+
+ /* emit the next record field constructor */
+ EmitFieldConstructor(t);
+ objN++;
+
+ switch (t->type) {
+ case T_STRING: /* token is a string literal */
+ if ((t->namedFormal == NULL) && PSWStringLength(t->val))
+ strings = ConsToken(t, strings);
+ break;
+
+ case T_HEXSTRING: /* token is a hexstring literal */
+ if ((t->namedFormal == NULL) && PSWHexStringLength(t->val))
+ strings = ConsToken(t, strings);
+ break;
+
+ case T_NAME:
+ if (t->namedFormal == NULL) {
+ if (noUserNames) {
+ if (!t->wellKnownName)
+ strings = ConsToken(t, strings);
+ }
+ } else
+ if ((t->namedFormal->subscripted)
+ && (!IsCharType(t->namedFormal->type))
+ && (!IsNumStrType(t->namedFormal->type))
+ )
+ isNamedInputArrays = true;
+ break;
+
+ case T_LITNAME:
+ if (noUserNames) {
+ if (!t->namedFormal && !t->wellKnownName)
+ strings = ConsToken(t, strings);
+ break;
+ }
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ case T_SUBSCRIPTED:
+ break;
+
+ case T_ARRAY:
+ case T_PROC:
+ bodies = ConsToken((Body)t->val, bodies);
+ break;
+ default:
+ CantHappen();
+ } /* switch */
+ } /* for */
+ free(c);
+ } /* while */
+
+ if (strings && isNamedInputArrays) {
+ EndStatic(true);
+ StartStatic(false);
+ }
+
+ for (tl = strings; tl; tl = tl->next) {
+ Token t = tl->token;
+ if (PSWDictLookup(wrapDict, (char *)t->val) == -1) {
+ if (strCount <= MAXSTRINGS) {
+ PSWDictEnter(wrapDict, (char *)t->val, 0);
+ strCount++;
+ }
+ printf(" {");
+ if (t->type == T_STRING || t->type == T_NAME || t->type == T_LITNAME)
+ PSWOutputStringChars((char *)t->val);
+ else
+ PSWOutputHexStringChars((char *)t->val);
+ printf("},\n"); outlineno++;
+ objN++;
+ }
+ }
+
+ FreeTokenList(strings); strings = NULL;
+
+ EndStatic(! twoStatics); /* end the last static record */
+
+ Assert(objN == nObjs);
+
+ DestroyPSWDict(wrapDict);
+} /* ConstructStatics */
+
+
+/* Procedures for managing the result table */
+
+static void EmitResultTagTableDecls(Args outArgs)
+{
+ register Arg arg;
+ register Item item;
+ int count = 0;
+
+ if(reentrant) {
+ for (arg = outArgs; arg; arg = arg->next)
+ for (item = arg->items; item; item = item->next)
+ count++;
+ printf(" DPSResultsRec _dpsR[%d];\n", count); outlineno++;
+ count = 0;
+ if(doANSI)
+ printf(" static const DPSResultsRec _dpsRstat[] = {\n");
+ else
+ printf(" static DPSResultsRec _dpsRstat[] = {\n");
+ outlineno++;
+ } else {
+ printf(" static DPSResultsRec _dpsR[] = {\n"); outlineno++;
+ }
+ for (arg = outArgs; arg; arg = arg->next) {
+ for (item = arg->items; item; item = item->next) {
+ if (item->subscripted) {
+ printf(" { %s },\n",CTypeToResultType(item->type));
+ }
+ else { /* not subscripted */
+ printf(" { %s, -1 },\n",CTypeToResultType(item->type));
+ }
+ outlineno++;
+ }
+ }
+ printf(" };\n"); outlineno++;
+ for (arg = outArgs; arg; arg = arg->next) {
+ for (item = arg->items; item; item = item->next) {
+ if(reentrant) {
+ printf(" _dpsR[%d] = _dpsRstat[%d];\n", count, count);
+ outlineno++;
+ }
+ if (item->subscripted) {
+ Subscript s = item->subscript;
+ if (!(s->constant)) {
+ printf(" _dpsR[%d].count = %s;\n",count, s->name);
+ } else {
+ printf(" _dpsR[%d].count = %d;\n",count, s->val);
+ }
+ outlineno++;
+ } else { /* not subscripted */
+ if (IsCharType(item->type)) {
+ printf(" _dpsR[%d].count = -1;\n",count);
+ outlineno++;
+ }
+ }
+ printf(" _dpsR[%d].value = (char *)%s;\n",count++,item->name);
+ outlineno++;
+ }
+ }
+ printf("\n"); outlineno++;
+}
+
+static void EmitResultTagTableAssignments(Args outArgs)
+{
+ printf(" DPSSetResultTable(%s, _dpsR, %ld);\n", ctxName, NumArgs(outArgs));
+ outlineno++;
+}
+
+/* Procedure for acquiring name tags */
+
+static void EmitNameTagAcquisition(void)
+{
+ register TokenList n;
+ int i;
+ char *last_str;
+
+ last_str = (char *) psw_malloc((unsigned) (maxstring+1));
+
+ printf(" {\n");
+ if(!doANSI) {
+ printf(" static int _dpsT = 1;\n\n");
+ printf(" if (_dpsT) {\n");
+ outlineno += 4;
+ } else {
+ printf("if (_dpsCodes[0] < 0) {\n");
+ outlineno += 2;
+ }
+ if(doANSI)
+ printf(" static const char * const _dps_names[] = {\n");
+ else
+ printf(" static char *_dps_names[] = {\n");
+ outlineno ++;
+
+ for (n = nameTokens; n!= NULL; n = n->next) {
+ if (strcmp(last_str,(char *)n->token->val)) {
+ strcpy(last_str,(char *)n->token->val);
+ printf("\t\"%s\"", (char *)n->token->val);
+ } else {
+ printf("\t(char *) 0 ");
+ }
+ if (n->next) {printf(",\n"); outlineno++;}
+ }
+ printf("};\n"); outlineno++;
+ printf(" int *_dps_nameVals[%d];\n",nNames);outlineno++;
+ if (!doANSI) {
+ if (!writable) {
+ printf(" register DPSBinObjRec *_dpsP = (DPSBinObjRec *) &_dpsF.obj0;\n");
+ outlineno++;
+ } else {
+ if (reentrant) {
+ printf(" _dpsP = (DPSBinObjRec *) &_dpsStat.obj0;\n");
+ outlineno++;
+ }
+ }
+ }
+ i = 0;
+ if (doANSI) {
+ for(i=0; i<nNames; i++) {
+ printf(" _dps_nameVals[%d] = &_dpsCodes[%d];\n",i,i);
+ outlineno ++;
+ }
+ } else {
+ for (n = nameTokens; n!= NULL; n = n->next) {
+ printf(" _dps_nameVals[%d] = (int *)&_dpsP[%d].val.nameVal;\n",
+ i++, n->token->tokenIndex);
+ outlineno++;
+ }
+ }
+ printf("\n DPSMapNames(%s, %d, (char **) _dps_names, _dps_nameVals);\n",
+ ctxName, nNames);
+ outlineno += 2;
+ if (reentrant && writable && !doANSI) {
+ printf(" _dpsP = (DPSBinObjRec *) &_dpsF.obj0;\n");
+ outlineno++;
+ }
+ if (!doANSI) {
+ printf(" _dpsT = 0;\n");
+ outlineno ++;
+ }
+ printf(" }\n }\n\n");
+ outlineno += 3;
+} /* EmitNameTagAcquisition */
+
+
+/* Miscellaneous procedures */
+
+static void EmitLocals(unsigned sz)
+{
+ if(reentrant && writable) {
+ printf(" _dpsQ _dpsF; /* local copy */\n");
+ outlineno++;
+ }
+ if (ctxName == NULL) {
+ printf(" register DPSContext _dpsCurCtxt = DPSPrivCurrentContext();\n");
+ ctxName = "_dpsCurCtxt";
+ outlineno++;
+ }
+ if(pad) {
+ printf(" char pad[3];\n");
+ outlineno++;
+ }
+ if (writable) {
+ printf(" register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0;\n");
+ if(doANSI && nNames) {
+ printf(" static int _dpsCodes[%d] = {-1};\n",nNames);
+ outlineno++;
+ }
+ outlineno++;
+ if (namedInputArrays || namedInputStrings) {
+ printf(" register int _dps_offset = %d;\n",
+ twoStatics ? sz : sz + stringBytes);
+ outlineno++;
+ }
+ }
+}
+
+static boolean AllLiterals(Body body)
+{
+ Token t;
+
+ for (t = body; t; t = t->next) {
+ switch (t->type) {
+
+ case T_NAME:
+ if (t->namedFormal == NULL) return false;
+ break;
+
+ case T_ARRAY:
+ if (!AllLiterals((Body)t->val)) return false;
+ break;
+
+ case T_PROC:
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ case T_LITNAME:
+ case T_HEXSTRING:
+ case T_STRING:
+ case T_SUBSCRIPTED:
+ break;
+
+ default:
+ CantHappen();
+ } /* switch */
+ } /* for */
+ return true;
+} /* AllLiterals */
+
+static void FlattenSomeArrays(Body body, boolean inSquiggles)
+{
+ Token t;
+ for (t = body; t; t = t->next) {
+ switch (t->type) {
+
+ case T_ARRAY:
+ if (!AllLiterals((Body)t->val)) {
+ Token t1, b, tlsq, trsq;
+ char *s;
+ t1 = t->next;
+ b = (Body)t->val;
+ SafeStrCpy(s, "[");
+ tlsq = PSWToken(T_NAME, s);
+ SafeStrCpy(s, "]");
+ trsq = PSWToken(T_NAME, s);
+ tlsq->sourceLine = t->sourceLine;
+ trsq->sourceLine = t->sourceLine;
+ *t = *tlsq;
+ t->next = b;
+ trsq->next = t1;
+ if (b == NULL) t->next = trsq;
+ else {
+ Token last;
+ for (last = b; last->next; last = last->next) ;
+ last->next = trsq;
+ }
+ }
+ else FlattenSomeArrays((Body)t->val, inSquiggles);
+ break;
+
+ case T_PROC:
+ FlattenSomeArrays((Body)t->val, true);
+ /* flatten all arrays below here */
+ break;
+
+ case T_NAME:
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ case T_LITNAME:
+ case T_HEXSTRING:
+ case T_STRING:
+ case T_SUBSCRIPTED:
+ case T_NUMSTR:
+ case T_FLOATNUMSTR:
+ case T_LONGNUMSTR:
+ case T_SHORTNUMSTR:
+ break;
+
+ default:
+ CantHappen();
+ } /* switch */
+ } /* for */
+} /* FlattenSomeArrays */
+
+
+static void FixupOffsets(void)
+{
+ register TokenList tl; Token t;
+ register Item item;
+ int stringOffset = 0;
+ PSWDict wrapDict;
+ int strCount = 0;
+
+ wrapDict = CreatePSWDict(MAXSTRINGS); /* dictionary of wrap strings */
+
+ for (tl = namedInputArrays; tl; tl = tl->next) {
+ t = tl->token; item = t->namedFormal;
+ printf(" _dpsP[%d].val.arrayVal = _dps_offset;\n",t->tokenIndex);
+ printf(" _dps_offset += ");
+ if (item->subscript->constant)
+ printf("%d * sizeof(DPSBinObjGeneric);\n",item->subscript->val);
+ else
+ printf("%s * sizeof(DPSBinObjGeneric);\n",item->subscript->name);
+ outlineno += 2;
+ } /* named input arrays */
+
+ for (tl = namedInputStrings; tl; tl = tl->next) {
+ t = tl->token; item = t->namedFormal;
+ printf(" _dpsP[%d].val.stringVal = _dps_offset;\n",t->tokenIndex);
+ printf(" _dps_offset += ");
+ if (item->subscripted) {
+ if (item->subscript->constant) {
+ if(IsNumStrType(t->namedFormal->type)) {
+ if(pad & IsPadNumStrType(t->namedFormal->type))
+ printf("((%d * sizeof(%s)) + %d) & ~%d;\n",
+ item->subscript->val,TypeToText(t->namedFormal->type),
+ NUMSTR_HEADER_SIZE+WORD_ALIGN, WORD_ALIGN);
+ else
+ printf("(%d * sizeof(%s)) + %d;\n",
+ item->subscript->val,TypeToText(t->namedFormal->type),
+ NUMSTR_HEADER_SIZE);
+ } else
+ if(pad) {
+ int val = item->subscript->val;
+ val += WORD_ALIGN;
+ val &= ~WORD_ALIGN;
+ printf("%d;\n", val);
+ } else
+ printf("%d;\n",item->subscript->val);
+ } else {
+ if(IsNumStrType(t->namedFormal->type)) {
+ if(pad & IsPadNumStrType(t->namedFormal->type))
+ printf("((%s * sizeof(%s)) + %d) & ~%d;\n",
+ item->subscript->name,TypeToText(t->namedFormal->type),
+ NUMSTR_HEADER_SIZE+WORD_ALIGN, WORD_ALIGN);
+ else
+ printf("(%s * sizeof(%s)) + %d;\n",
+ item->subscript->name,TypeToText(t->namedFormal->type),
+ NUMSTR_HEADER_SIZE);
+ } else
+ if(pad)
+ printf("(%s + %d) & ~%d;\n",
+ item->subscript->name, WORD_ALIGN, WORD_ALIGN);
+ else
+ printf("%s;\n",item->subscript->name);
+ }
+ } else
+ if(pad)
+ printf("(_dpsP[%d].length + %d) & ~%d;\n",
+ t->tokenIndex, WORD_ALIGN, WORD_ALIGN);
+ else
+ printf("_dpsP[%d].length;\n",t->tokenIndex);
+ outlineno += 2;
+ } /* named input strings */
+
+ if (namedInputArrays) {
+ PSWDictValue strOffset;
+ for (tl = literalStrings; tl; tl = tl->next) {
+ t = tl->token;
+ strOffset = PSWDictLookup(wrapDict, (char *)t->val);
+ if (strOffset == -1) {
+ if (strCount <= MAXSTRINGS) {
+ PSWDictEnter(wrapDict, (char *)t->val, stringOffset);
+ strCount++;
+ }
+ if (stringOffset == 0)
+ printf(" _dpsP[%d].val.stringVal = _dps_offset;\n",
+ t->tokenIndex);
+ else
+ printf(" _dpsP[%d].val.stringVal = _dps_offset + %d;\n",
+ t->tokenIndex,stringOffset);
+ outlineno++;
+ stringOffset +=
+ (t->type == T_STRING || t->type == T_NAME || t->type == T_LITNAME)
+ ? PSWStringLength((char *)t->val)
+ : PSWHexStringLength((char *)t->val);
+ } else {
+ if (strOffset == 0)
+ printf(" _dpsP[%d].val.stringVal = _dps_offset;\n",
+ t->tokenIndex);
+ else
+ printf(" _dpsP[%d].val.stringVal = _dps_offset + %d;\n",
+ t->tokenIndex, (int) strOffset);
+ outlineno++;
+ }
+ } /* literalStrings */
+ if (stringOffset) {
+ printf(" _dps_offset += %d;\n",stringOffset);
+ outlineno++;
+ }
+ }
+ DestroyPSWDict(wrapDict);
+} /* FixupOffsets */
+
+
+static int EmitValueAssignments(Body body, Item item)
+{
+ register Token t;
+ int gotit = 0;
+
+ for (t = body; t; t = t->next) {
+ switch (t->type) {
+ case T_STRING:
+ case T_HEXSTRING:
+ case T_LITNAME:
+ if (t->namedFormal && t->namedFormal == item) {
+ printf("\n _dpsP[%d].length =",t->tokenIndex);
+ outlineno++;
+ gotit++;
+ }
+ break;
+ case T_NAME:
+ if (t->namedFormal && t->namedFormal == item) {
+ if ((item->subscripted && !item->subscript->constant) ||
+ (item->starred && IsCharType(item->type)) ||
+ IsNumStrType(item->type)) {
+ printf("\n _dpsP[%d].length =",t->tokenIndex);
+ outlineno++;
+ gotit++;
+ }
+ switch (item->type) {
+ case T_BOOLEAN:
+ if (!item->subscripted) {
+ printf("\n _dpsP[%d].val.booleanVal =",
+ t->tokenIndex);
+ gotit++; outlineno++;
+ }
+ break;
+ case T_INT:
+ case T_LONGINT:
+ case T_SHORTINT:
+ case T_UINT:
+ case T_ULONGINT:
+ case T_USHORTINT:
+ case T_USEROBJECT:
+ if (!item->subscripted) {
+ printf("\n _dpsP[%d].val.integerVal =",
+ t->tokenIndex);
+ gotit++; outlineno++;
+ }
+ break;
+ case T_FLOAT:
+ case T_DOUBLE:
+ if (!item->subscripted) {
+ printf("\n _dpsP[%d].val.realVal =",
+ t->tokenIndex);
+ gotit++; outlineno++;
+ }
+ break;
+ case T_CHAR:
+ case T_UCHAR: /* the executable name is an arg */
+ case T_NUMSTR:
+ case T_FLOATNUMSTR:
+ case T_LONGNUMSTR:
+ case T_SHORTNUMSTR:
+ break;
+ default: CantHappen();
+ }
+ }
+ break;
+
+ case T_SUBSCRIPTED:
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ break;
+
+ case T_ARRAY:
+ case T_PROC:
+ /* recurse */
+ gotit += EmitValueAssignments((Body) (t->val),item);
+ break;
+ default:
+ CantHappen();
+ } /* switch */
+ } /* token */
+ return (gotit);
+} /* EmitValueAssignments */
+
+
+static void EmitElementValueAssignments(Body body, Item item)
+{
+ register Token t;
+
+ for (t = body; t; t = t->next) {
+ if (t->type != T_SUBSCRIPTED) continue;
+ if (t->namedFormal == item) {
+ switch (item->type) {
+ case T_BOOLEAN:
+ printf("\n _dpsP[%d].val.booleanVal = (int)(0 != %s[%s]);",
+ t->tokenIndex, item->name, t->body.var);
+ outlineno++;
+ break;
+ case T_INT:
+ case T_LONGINT:
+ case T_SHORTINT:
+ case T_UINT:
+ case T_ULONGINT:
+ case T_USHORTINT:
+ printf("\n _dpsP[%d].val.integerVal = %s[%s];",
+ t->tokenIndex, item->name, t->body.var);
+ outlineno++;
+ break;
+ case T_FLOAT:
+ case T_DOUBLE:
+ printf("\n _dpsP[%d].val.realVal = %s[%s];",
+ t->tokenIndex, item->name, t->body.var);
+ outlineno++;
+ break;
+ case T_CHAR:
+ case T_UCHAR:
+ CantHappen();
+ break;
+ default: CantHappen();
+ }
+ }
+ } /* token */
+} /* EmitElementValueAssignments */
+
+
+static void ScanParamsAndEmitValues(Body body, Args args)
+{
+ register Arg arg; /* a list of parameters */
+ register Item item; /* a parameter */
+ int gotit; /* flag that we found some token with this length */
+
+ /* for each arg */
+ for (arg = args; arg; arg = arg->next) {
+ /* for each arg item */
+ for (item = arg->items; item; item = item->next) {
+ if (item->type == T_CONTEXT) continue;
+ gotit = EmitValueAssignments(body,item);
+ if (gotit != 0) {
+ if (item->subscripted) {
+ if (item->subscript->constant) {
+ if(IsNumStrType(item->type))
+ printf(" (%d * sizeof(%s)) + %d;",item->subscript->val,
+ TypeToText(item->type), NUMSTR_HEADER_SIZE);
+ else
+ printf(" %d;",item->subscript->val);
+ } else {
+ if(IsNumStrType(item->type))
+ printf(" (%s * sizeof(%s)) + %d;",item->subscript->name,
+ TypeToText(item->type), NUMSTR_HEADER_SIZE);
+ else
+ printf(" %s;",item->subscript->name);
+ }
+ } else switch(item->type) {
+ case T_CHAR:
+ case T_UCHAR:
+ printf(" strlen(%s);",item->name);
+ break;
+ case T_INT:
+ case T_LONGINT:
+ case T_SHORTINT:
+ case T_UINT:
+ case T_ULONGINT:
+ case T_USHORTINT:
+ case T_FLOAT:
+ case T_DOUBLE:
+ case T_USEROBJECT:
+ printf(" %s;",item->name);
+ break;
+ case T_BOOLEAN:
+ printf(" (int) (0 != %s);",item->name);
+ break;
+ default: CantHappen();
+ } /* switch */
+ } /* gotit */
+ if (item->subscripted) {
+ EmitElementValueAssignments(body,item);
+ }
+ } /* item */
+ } /* arg */
+ printf("\n"); outlineno++;
+}
+
+static void EmitMappedNames(void)
+{
+register TokenList n;
+int i=0;
+ for (n = nameTokens; n!= NULL; n = n->next) {
+ printf(" _dpsP[%d].val.nameVal = _dpsCodes[%d];\n",
+ n->token->tokenIndex, i++);
+ outlineno++;
+ }
+}
+
+static void WriteObjSeq(unsigned sz)
+{
+ register TokenList tl;
+
+ printf(" DPSBinObjSeqWrite(%s,(char *) &_dpsF,%d);\n",
+ ctxName, (twoStatics ? sz : sz + stringBytes) + dpsHeaderSize);
+ outlineno++;
+
+ for (tl = namedInputArrays; tl; tl = tl->next) {
+ Token t = tl->token;
+ printf(" DPSWriteTypedObjectArray(%s, %s, (char *)%s, ",
+ ctxName,
+ CTypeToResultType(t->namedFormal->type),
+ t->namedFormal->name);
+ if (t->namedFormal->subscript->constant)
+ printf("%d);\n", t->namedFormal->subscript->val);
+ else
+ printf("%s);\n", t->namedFormal->subscript->name);
+ outlineno++;
+ }
+
+ for (tl = namedInputStrings; tl; tl = tl->next) {
+ Token t = tl->token;
+ if(IsNumStrType(t->namedFormal->type)) {
+ printf(" DPSWriteNumString(%s, %s, (char *) %s, ", ctxName,
+ CTypeToResultType(t->namedFormal->type), t->namedFormal->name);
+ if (t->namedFormal->subscript->constant)
+ printf("%d, ", t->namedFormal->subscript->val);
+ else
+ printf("%s, ", t->namedFormal->subscript->name);
+ if (t->namedFormal->scaled) {
+ if (t->namedFormal->scale->constant)
+ printf("%d);\n", t->namedFormal->scale->val);
+ else
+ printf("%s);\n", t->namedFormal->scale->name);
+ } else printf("0);\n");
+ outlineno ++;
+ } else {
+ printf(" DPSWriteStringChars(%s, (char *)%s, ",
+ ctxName, t->namedFormal->name);
+ if (!t->namedFormal->subscripted) {
+ printf("_dpsP[%d].length);\n", t->tokenIndex);
+ if(pad) {
+ printf(" DPSWriteStringChars(%s, (char *)pad, ~(_dpsP[%d].length + %d) & %d);\n",
+ ctxName,t->tokenIndex,WORD_ALIGN,WORD_ALIGN);
+ outlineno ++;
+ }
+ } else
+ if (t->namedFormal->subscript->constant) {
+ int val = t->namedFormal->subscript->val;
+ printf("%d);\n", val);
+ if(pad){
+ val = ~(val + WORD_ALIGN) & WORD_ALIGN;
+ if(val) {
+ printf(" DPSWriteStringChars(%s, (char *)pad, %d);\n",
+ ctxName,val);
+ outlineno ++;
+ }
+ }
+ } else {
+ printf("%s);\n", t->namedFormal->subscript->name);
+ if(pad) {
+ printf(" DPSWriteStringChars(%s, (char *)pad, ~(%s + %d) & %d);\n",
+ ctxName,t->namedFormal->subscript->name,
+ WORD_ALIGN,WORD_ALIGN);
+ outlineno ++;
+ }
+ }
+ outlineno ++;
+ }
+ }
+
+ if (twoStatics) {
+ printf(" DPSWriteStringChars(%s,(char *) &_dpsF1,%d);\n",
+ ctxName,stringBytes);
+ outlineno++;
+ }
+} /* WriteObjSeq */
+
+
+/*************************************************************/
+/* Public procedures, called by the semantic action routines */
+
+void EmitPrototype(Header hdr)
+{
+ /* emit procedure prototype to the output .h file, if any */
+
+ fprintf(header, "\n");
+ fprintf(header, "extern void %s(", hdr->name);
+ if (doANSI) EmitANSIPrototypes(header, hdr);
+ else if (hdr->inArgs || hdr->outArgs) {
+ fprintf(header, " /* ");
+ EmitArgPrototypes(header, hdr);
+ fprintf(header, "*/ ");
+ }
+ fprintf(header, ");\n");
+}
+
+void EmitBodyHeader(Header hdr)
+{
+ /* emit procedure header */
+ register Arg arg;
+ register Item item;
+
+ nameTokens = NULL;
+ nNames = 0;
+ ctxName = NULL;
+
+ if (hdr->isStatic) printf("static ");
+ printf("void %s(", hdr->name);
+
+ if (doANSI) {
+ EmitANSIPrototypes(stdout,hdr);
+ printf(")\n");
+ outlineno++;
+ }
+ else { /* not ANSI */
+ for (arg = hdr->inArgs; arg; arg = arg->next) {
+ for (item = arg->items; item; item = item->next) {
+ if (arg->type == T_CONTEXT) ctxName = item->name;
+ printf(item->name);
+ if (item->next) printf(", ");
+ }
+ if (arg->next || hdr->outArgs) printf(", ");
+ } /* inArgs */
+ for (arg = hdr->outArgs; arg; arg = arg->next) {
+ for (item = arg->items; item; item = item->next) {
+ printf(item->name);
+ if (item->next) printf(", ");
+ }
+ if (arg->next) printf(", ");
+ } /* outArgs */
+ printf(")\n"); outlineno++;
+ if (hdr->inArgs || hdr->outArgs) {
+ EmitArgPrototypes(stdout, hdr);
+ printf("\n");
+ outlineno++;
+ }
+ }
+} /* EmitBodyHeader */
+
+void EmitBody(Tokens body, Header hdr)
+{
+ Args arg, outArgs = hdr->outArgs;
+ Item item;
+ long int nObjs;
+ unsigned structSize;
+ /* total number of objects plus string bodies in objrecs.
+ Not including array arg expansions */
+ Adr sizeAdr;
+
+ if(NumTokens(body) == 0)
+ return; /* empty wrap */
+
+ if (outArgs) body = AppendResultFlush(body, NumArgs(outArgs));
+
+ FlattenSomeArrays(body, false);
+
+ if ((large = (((NumTokens(body) > 0xff)) || CheckSize(body))) != 0)
+ dpsHeaderSize = DPS_LONG_HEADER_SIZE;
+ else
+ dpsHeaderSize = DPS_HEADER_SIZE;
+
+ /* check for char * input args */
+ for (arg = hdr->inArgs; arg && !large; arg = arg->next) {
+ for (item = arg->items; item; item = item->next) {
+ if ((arg->type == T_CHAR) && item->starred) {
+ /* if arg is char * then need to use large format since
+ size of arg is unknown */
+ large = true;
+ dpsHeaderSize = DPS_LONG_HEADER_SIZE;
+ }
+ }
+ }
+
+ BuildTypesAndAssignAddresses(body, &sizeAdr, &nObjs, &structSize);
+ /* also constructs namedInputArrays, namedInputStrings and literalStrings */
+
+ ConstructStatics(body, &sizeAdr, nObjs);
+
+ EmitLocals(structSize);
+
+ if (outArgs) EmitResultTagTableDecls(outArgs);
+
+ if (nameTokens) {
+ EmitNameTagAcquisition();
+ }
+
+ if(reentrant && writable) {
+ printf(" _dpsF = _dpsStat; /* assign automatic variable */\n");
+ outlineno++;
+ }
+ if(writable) {
+ ScanParamsAndEmitValues(body,hdr->inArgs);
+ }
+
+ if(doANSI && nameTokens) {
+ EmitMappedNames();
+ FreeTokenList(nameTokens);
+ nameTokens = NULL;
+ }
+
+ /* Fixup offsets and the total size */
+
+ if (writable && (namedInputArrays || namedInputStrings)) {
+ FixupOffsets();
+ printf("\n _dpsF.nBytes = _dps_offset+%d;\n", dpsHeaderSize);
+ outlineno += 2;
+ }
+
+ if (outArgs) EmitResultTagTableAssignments(outArgs);
+
+ WriteObjSeq(structSize);
+
+ FreeTokenList(namedInputArrays); namedInputArrays = NULL;
+ FreeTokenList(namedInputStrings); namedInputStrings = NULL;
+ FreeTokenList(literalStrings); literalStrings = NULL;
+
+ if (outArgs)
+ printf(" DPSAwaitReturnValues(%s);\n", ctxName);
+ else
+ printf(" DPSSYNCHOOK(%s)\n", ctxName);
+ outlineno++;
+
+#ifdef NeXT
+ if (pad) {
+ printf(" if (0) *pad = 0; /* quiets compiler warnings */\n"); /* gets rid of "unused variable" warnings */
+ outlineno++;
+ }
+#endif
+} /* EmitBody */
+
+static void AllocFailure(void)
+{
+ ErrIntro(yylineno);
+ fprintf(stderr, "pswrap is out of storage; ");
+ if (bigFile)
+ fprintf(stderr, "try splitting the input file\n");
+ else
+ fprintf(stderr, "try -b switch\n");
+ exit(1);
+}
+
+char *psw_malloc(s) int s; {
+ char *temp;
+ if ((temp = malloc((unsigned) s)) == NULL)
+ AllocFailure();
+ return(temp);
+}
+
+char *psw_calloc(n,s) int n,s; {
+ char *temp;
+ if ((temp = calloc((unsigned) n, (unsigned) s)) == NULL)
+ AllocFailure();
+ return(temp);
+}
+
+void
+FreeBody(body) Body body; {
+ register Token t, nexttoken;
+
+ for (t = body; t; t = nexttoken) {
+ nexttoken = t->next;
+ if (t->adr.var) free(t->adr.var);
+ switch (t->type) {
+ case T_STRING:
+ case T_NAME:
+ case T_LITNAME:
+ case T_HEXSTRING:
+ free (t->val);
+ break;
+ case T_FLOAT:
+ case T_INT:
+ case T_BOOLEAN:
+ break;
+ case T_SUBSCRIPTED:
+ free (t->val); free(t->body.var);
+ break;
+ case T_ARRAY:
+ case T_PROC:
+ FreeBody((Body) (t->val));
+ break;
+ default:
+ CantHappen();
+ }
+ free (t);
+ }
+}
diff --git a/nx-X11/config/pswrap/psw.h b/nx-X11/config/pswrap/psw.h
new file mode 100644
index 000000000..612fb5db4
--- /dev/null
+++ b/nx-X11/config/pswrap/psw.h
@@ -0,0 +1,92 @@
+/*
+ * psw.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+#ifndef PSW_H
+#define PSW_H
+
+/* C types */
+
+#define T_BOOLEAN 101
+#define T_FLOAT 102
+#define T_DOUBLE 103
+#define T_CHAR 104
+#define T_UCHAR 105
+#define T_INT 106
+#define T_UINT 107
+#define T_LONGINT 108
+#define T_SHORTINT 109
+#define T_ULONGINT 110
+#define T_USHORTINT 111
+#define T_USEROBJECT 112
+#define T_NUMSTR 113
+#define T_FLOATNUMSTR 114
+#define T_LONGNUMSTR 115
+#define T_SHORTNUMSTR 116
+
+
+/* PostScript types */
+
+#define T_STRING 91
+#define T_HEXSTRING 92
+#define T_NAME 93
+#define T_LITNAME 94
+#define T_ARRAY 95
+#define T_PROC 96
+#define T_CONTEXT 97
+#define T_SUBSCRIPTED 98
+
+/* Other PostScript types:
+
+ T_FLOAT is used for real
+ T_INT is used for integer
+ T_BOOLEAN is used for boolean
+ T_USEROBJECT is used for userobjects
+
+*/
+
+/* psw.c */
+extern char *psw_malloc(int);
+extern char *psw_calloc(int, int);
+
+/* pswstring.c */
+extern int PSWStringLength(char *);
+extern int PSWHexStringLength(char *);
+extern void PSWOutputStringChars(char *);
+extern void PSWOutputHexStringChars(char *);
+
+#endif /* PSW_H */
diff --git a/nx-X11/config/pswrap/pswdict.c b/nx-X11/config/pswrap/pswdict.c
new file mode 100644
index 000000000..3c72fbeea
--- /dev/null
+++ b/nx-X11/config/pswrap/pswdict.c
@@ -0,0 +1,180 @@
+/*
+ * pswdict.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+/***********/
+/* Imports */
+/***********/
+
+#include <stdlib.h>
+
+#include "pswtypes.h"
+#include "pswdict.h"
+#include "psw.h"
+
+#ifdef XENVIRONMENT
+#include <X11/Xos.h>
+#else
+#include <string.h>
+#endif
+
+/********************/
+/* Types */
+/********************/
+
+typedef struct _t_EntryRec {
+ struct _t_EntryRec *next;
+ char *name;
+ PSWDictValue value;
+} EntryRec, *Entry;
+
+ /* The concrete definition for a dictionary */
+typedef struct _t_PSWDictRec {
+ int nEntries;
+ Entry *entries;
+} PSWDictRec;
+
+PSWDict atoms;
+
+/**************************/
+/* Procedure Declarations */
+/**************************/
+
+/* Creates and returns a new dictionary. nEntries is a hint. */
+PSWDict CreatePSWDict(int nEntries)
+{
+ PSWDict d = (PSWDict)psw_calloc(sizeof(PSWDictRec), 1);
+ d->nEntries = nEntries;
+ d->entries = (Entry *)psw_calloc(sizeof(EntryRec), d->nEntries);
+ return d;
+}
+
+/* Destroys a dictionary */
+void DestroyPSWDict(PSWDict dict)
+{
+ free(dict->entries);
+ free(dict);
+}
+
+static int Hash(char *name, int nEntries)
+{
+ register int val = 0;
+ while (*name) val += *name++;
+ if (val < 0) val = -val;
+ return (val % nEntries);
+}
+
+static Entry Probe(PSWDict d, int x, char *name)
+{
+ register Entry e;
+ for (e = (d->entries)[x]; e; e = e->next) {
+ if (strcmp(name, e->name) == 0) break;
+ }
+ return e;
+}
+
+static Entry PrevProbe(Entry *prev, PSWDict d, int x, char *name)
+{
+ register Entry e;
+ *prev = NULL;
+ for (e = (d->entries)[x]; e; e = e->next) {
+ if (strcmp(name, e->name) == 0) break;
+ *prev = e;
+ }
+ return e;
+}
+
+/* -1 => not found */
+PSWDictValue PSWDictLookup(PSWDict dict, char *name)
+{
+ Entry e;
+ e = Probe(dict, Hash(name, dict->nEntries), name);
+ if (e == NULL) return -1;
+ return e->value;
+}
+
+/* 0 => normal return (not found)
+ -1 => found. If found, value is replaced. */
+PSWDictValue PSWDictEnter(PSWDict dict, char *name, PSWDictValue value)
+{
+ Entry e;
+ int x = Hash(name, dict->nEntries);
+ e = Probe(dict, x, name);
+ if (e) {
+ e->value = value;
+ return -1;
+ }
+ e = (Entry)psw_calloc(sizeof(EntryRec), 1);
+ e->next = (dict->entries)[x]; (dict->entries)[x] = e;
+ e->value = value;
+ e->name = MakeAtom(name);
+ return 0;
+}
+
+/* -1 => not found. If found, value is returned. */
+PSWDictValue PSWDictRemove(PSWDict dict, char *name)
+{
+ Entry e, prev;
+ PSWDictValue value;
+ int x = Hash(name, dict->nEntries);
+
+ e = PrevProbe(&prev, dict, x, name);
+ if (e == NULL) return -1;
+ value = e->value;
+ if (prev == NULL) (dict->entries)[x] = e->next; else prev->next = e->next;
+ free(e);
+ return value;
+}
+
+PSWAtom MakeAtom(char *name)
+{
+ Entry e;
+ int x = Hash(name, 511);
+ char *newname;
+
+ if (atoms == NULL) atoms = CreatePSWDict(511);
+ e = Probe(atoms, x, name);
+ if (e == NULL) {
+ e = (Entry)psw_calloc(sizeof(EntryRec), 1);
+ e->next = (atoms->entries)[x]; (atoms->entries)[x] = e;
+ e->value = 0;
+ newname = psw_malloc(strlen(name)+1);
+ strcpy(newname, name);
+ e->name = newname;
+ }
+ return e->name;
+}
diff --git a/nx-X11/config/pswrap/pswdict.h b/nx-X11/config/pswrap/pswdict.h
new file mode 100644
index 000000000..dcbfbb13b
--- /dev/null
+++ b/nx-X11/config/pswrap/pswdict.h
@@ -0,0 +1,76 @@
+/*
+ * pswdict.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+#ifndef PSWDICT_H
+#define PSWDICT_H
+
+typedef struct _t_PSWDictRec *PSWDict;
+/* Opaque designator for a dictionary */
+
+typedef long int PSWDictValue; /* non-negative */
+typedef char *PSWAtom;
+
+/* PROCEDURES */
+
+/* NOTES
+ The name parameters defined below are NULL-terminated C strings.
+ None of the name parameters are handed off, i.e. the caller is
+ responsible for managing their storage. */
+
+extern PSWDict CreatePSWDict(int /* nEntries */);
+/* nEntries is a hint. Creates and returns a new dictionary */
+
+extern void DestroyPSWDict(PSWDict /* dict */);
+/* Destroys a dictionary */
+
+extern PSWDictValue PSWDictLookup(PSWDict /* dict */, char * /* name */);
+/* -1 => not found. */
+
+extern PSWDictValue PSWDictEnter
+ (PSWDict /* dict */, char * /* name */, PSWDictValue /* value */);
+/* 0 => normal return (not found)
+ -1 => found. If found, the old value gets replaced with the new one. */
+
+extern PSWDictValue PSWDictRemove(PSWDict /* dict */, char * /* name */);
+/* -1 => not found. If found, value is returned. */
+
+extern PSWAtom MakeAtom(char * /* name */);
+
+extern PSWDict wellKnownPSNames;
+
+#endif /* PSWDICT_H */
diff --git a/nx-X11/config/pswrap/pswfile.c b/nx-X11/config/pswrap/pswfile.c
new file mode 100644
index 000000000..e4f24a641
--- /dev/null
+++ b/nx-X11/config/pswrap/pswfile.c
@@ -0,0 +1,87 @@
+/*
+ * pswfile.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/pswfile.c,v 1.5tsi Exp $ */
+
+#include <stdio.h>
+#include "pswversion.h"
+#include "pswpriv.h"
+
+#ifdef __MACH__
+extern char *shlibInclude;
+#endif /* __MACH__ */
+
+static int EmitVersion(FILE *f, char *infname, char *outfname)
+{
+ fprintf(f,"/* %s generated from %s\n",outfname,infname);
+ fprintf(f," by %s %s %s\n */\n\n",PSW_OS,prog,PSW_VERSION);
+ return 4; /* number of output lines */
+}
+
+void InitHFile(void)
+{
+ (void) EmitVersion(header, ifile, hfile);
+ fprintf(header,"#ifndef %s\n#define %s\n",headid,headid);
+}
+
+void FinishHFile(void)
+{
+ fprintf(header,"\n#endif /* %s */\n",headid);
+ fclose(header);
+}
+
+void InitOFile(void)
+{
+ outlineno += EmitVersion(stdout, ifile, ofile);
+#ifdef __MACH__
+ if( shlibInclude ) {
+ printf("#ifdef SHLIB\n");
+ printf("#include \"%s\"\n", shlibInclude );
+ printf("#endif\n");
+ outlineno += 3;
+ }
+#endif /* __MACH__ */
+ printf("#include %s\n", FRIENDSFILE);
+ printf("#include <string.h>\n");
+ outlineno += 3; /* UPDATE this if you add more prolog */
+ if (special_h) {
+ printf("#include \"%s\"\n\n", special_h);
+ outlineno ++;
+ }
+ printf("#line 1 \"%s\"\n",ifile);
+ outlineno++;
+}
diff --git a/nx-X11/config/pswrap/pswparser.y b/nx-X11/config/pswrap/pswparser.y
new file mode 100644
index 000000000..795113947
--- /dev/null
+++ b/nx-X11/config/pswrap/pswparser.y
@@ -0,0 +1,278 @@
+/*
+ * pswparser.y
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/pswparser.y,v 1.4 2000/05/18 23:46:08 dawes Exp $ */
+
+/*
+ * Not all yaccs understand this.
+ *
+%expect 1
+ */
+
+%{
+
+#include "pswpriv.h"
+#include "pswsemantics.h"
+
+%}
+
+/* yylval type (from lexer and on stack) */
+
+%union {
+ char *object;
+ long intobj;
+ Token token;
+ Item item;
+ Header header;
+ int flag;
+ Arg arg;
+ Subscript subscript;
+}
+
+
+%token <object> DEFINEPS ENDPS STATIC
+%token <object> PSCONTEXT
+%token <object> BOOLEAN FLOAT DOUBLE UNSIGNED SHORT LONG INT CHAR USEROBJECT
+%token <object> NUMSTRING
+%token <object> CNAME
+%token <intobj> CINTEGER
+
+%token <object> PSNAME PSLITNAME PSREAL PSBOOLEAN PSSTRING PSHEXSTRING
+%token <intobj> PSINTEGER
+%token <object> PSSUBNAME PSINDEX
+
+%token <object> '(' ')' '|' ';' ',' '*' '[' ']' '{' '}' ':'
+
+%type <token> Token Tokens Body
+%type <item> Items Item
+%type <header> Header
+%type <flag> Def Type
+%type <arg> InArgs Args ContextArg SubArgs Arg
+%type <subscript> Subscript
+
+%start Module
+
+%%
+
+Module:
+ /* empty */
+ | Module Definition
+ ;
+
+Definition:
+ Header Body ENDPS
+ { FinalizePSWrapDef($1, $2); yyerrok; }
+ | error ENDPS
+ { yyerrok; }
+ ;
+
+Body:
+ /* nothing */
+ { $$ = 0; }
+ | Tokens
+ /* { $$ = $1; }*/
+ ;
+
+Tokens:
+ Token
+ { $$ = AppendPSWToken($1, 0L); }
+ | Tokens Token
+ { $$ = AppendPSWToken($2, $1); yyerrok; }
+ /* | error
+ { $$ = 0; } */
+ ;
+
+Header:
+ Def ')'
+ { $$ = PSWHeader($1, 0, 0); yyerrok; }
+ | Def InArgs ')'
+ { $$ = PSWHeader($1, $2, 0); yyerrok; }
+ | Def InArgs '|' Args ')'
+ { $$ = PSWHeader($1, $2, $4); yyerrok; }
+ | Def '|' Args ')'
+ { $$ = PSWHeader($1, 0, $3); yyerrok; }
+ ;
+
+Def:
+ DEFINEPS CNAME '('
+ { PSWName($2); $$ = 0; yyerrok; }
+ | DEFINEPS STATIC CNAME '('
+ { PSWName($3); $$ = 1; yyerrok; }
+ | DEFINEPS error '('
+ { PSWName("error"); $$ = 0; yyerrok; }
+ ;
+
+Semi:
+ /* nothing */
+ | ';' { yyerrok; }
+ ;
+
+InArgs:
+ ContextArg Semi
+ /* { $$ = $1; } */
+ | Args
+ /* { $$ = $1; } */
+ | ContextArg ';' Args
+ { $$ = ConsPSWArgs($1, $3); }
+ ;
+
+ContextArg:
+ PSCONTEXT CNAME
+ { $$ = PSWArg(T_CONTEXT, PSWItem($2)); }
+ ;
+
+Args:
+ SubArgs Semi
+ /* { $$ = $1; }*/
+ ;
+
+SubArgs:
+ Arg
+ /* { $$ = $1; }*/
+ | SubArgs ';' Arg
+ { yyerrok; $$ = AppendPSWArgs($3, $1); }
+ | SubArgs error
+ | SubArgs error Arg
+ { yyerrok; $$ = AppendPSWArgs($3, $1); }
+ | SubArgs ';' error
+ ;
+
+Arg: Type Items
+ { $$ = PSWArg($1, $2); yyerrok; }
+ ;
+
+Items:
+ Item
+ /* { $$ = $1; } */
+ | Items ',' Item
+ { yyerrok; $$ = AppendPSWItems($3, $1); }
+ | error { $$ = 0; }
+ | Items error
+ | Items error Item
+ { yyerrok; $$ = AppendPSWItems($3, $1); }
+ | Items ',' error
+ ;
+
+Item:
+ '*' CNAME
+ { $$ = PSWStarItem($2); }
+ | CNAME '[' Subscript ']'
+ { $$ = PSWSubscriptItem($1, $3); }
+ | CNAME '[' Subscript ']' ':' CNAME
+ { $$ = PSWScaleItem($1, $3, $6, 0); }
+ | CNAME '[' Subscript ']' ':' CINTEGER
+ { $$ = PSWScaleItem($1, $3, NULL, $6); }
+ | CNAME
+ { $$ = PSWItem($1); }
+ ;
+
+Subscript:
+ CNAME
+ { $$ = PSWNameSubscript($1); }
+ | CINTEGER
+ { $$ = PSWIntegerSubscript($1); }
+ ;
+
+Type:
+ BOOLEAN
+ { $$ = T_BOOLEAN; }
+ | FLOAT
+ { $$ = T_FLOAT; }
+ | DOUBLE
+ { $$ = T_DOUBLE; }
+ | CHAR
+ { $$ = T_CHAR; }
+ | UNSIGNED CHAR
+ { $$ = T_UCHAR; }
+ | INT
+ { $$ = T_INT; }
+ | LONG INT
+ { $$ = T_LONGINT; }
+ | LONG
+ { $$ = T_LONGINT; }
+ | SHORT INT
+ { $$ = T_SHORTINT; }
+ | SHORT
+ { $$ = T_SHORTINT; }
+ | UNSIGNED
+ { $$ = T_UINT; }
+ | UNSIGNED LONG
+ { $$ = T_ULONGINT; }
+ | UNSIGNED INT
+ { $$ = T_UINT; }
+ | UNSIGNED LONG INT
+ { $$ = T_ULONGINT; }
+ | UNSIGNED SHORT
+ { $$ = T_USHORTINT; }
+ | UNSIGNED SHORT INT
+ { $$ = T_USHORTINT; }
+ | USEROBJECT
+ { $$ = T_USEROBJECT; }
+ | NUMSTRING
+ { $$ = T_NUMSTR; }
+ | INT NUMSTRING
+ { $$ = T_NUMSTR; }
+ | FLOAT NUMSTRING
+ { $$ = T_FLOATNUMSTR; }
+ | LONG NUMSTRING
+ { $$ = T_LONGNUMSTR; }
+ | SHORT NUMSTRING
+ { $$ = T_SHORTNUMSTR; }
+ ;
+
+Token:
+ PSINTEGER
+ { $$ = PSWToken(T_INT, (char *)$1); }
+ | PSREAL
+ { $$ = PSWToken(T_FLOAT, $1); }
+ | PSBOOLEAN
+ { $$ = PSWToken(T_BOOLEAN, $1); }
+ | PSSTRING
+ { $$ = PSWToken(T_STRING, $1); }
+ | PSHEXSTRING
+ { $$ = PSWToken(T_HEXSTRING, $1); }
+ | PSNAME
+ { $$ = PSWToken(T_NAME, $1); }
+ | PSLITNAME
+ { $$ = PSWToken(T_LITNAME, $1); }
+ | PSSUBNAME PSINDEX
+ { $$ = PSWToken2(T_SUBSCRIPTED, $1, $2); }
+ | '[' Body ']'
+ { $$ = PSWToken(T_ARRAY, (char *)$2); }
+ | '{' Body '}'
+ { $$ = PSWToken(T_PROC, (char *)$2); }
+ ;
diff --git a/nx-X11/config/pswrap/pswpriv.h b/nx-X11/config/pswrap/pswpriv.h
new file mode 100644
index 000000000..18f1cb97b
--- /dev/null
+++ b/nx-X11/config/pswrap/pswpriv.h
@@ -0,0 +1,177 @@
+/*
+ * pswpriv.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86: xc/config/pswrap/pswpriv.h,v 1.6 2000/06/07 21:58:25 tsi Exp $ */
+
+#ifndef PSWPRIV_H
+#define PSWPRIV_H
+
+#include <stdio.h>
+
+#include "pswtypes.h"
+#include "psw.h"
+
+/********************/
+/* Types */
+/********************/
+
+typedef struct _t_ItemRec *Item;
+/* Forward type designator */
+
+typedef struct {
+ boolean constant;
+ int val; /* valid if constant */
+ char *name; /* valid if not constant */
+ } SubscriptRec, *Subscript, ScaleRec, *Scale;
+
+typedef int Type;
+
+typedef struct _t_ItemRec { /* see above */
+ struct _t_ItemRec *next;
+ char *name;
+ boolean starred, subscripted, scaled;
+ Subscript subscript; /* valid if subscripted */
+ Scale scale;
+
+ /* the fields below are filled in by PSWHeader */
+ boolean isoutput; /* true if this is an output parameter */
+ long int tag; /* valid if output is true; the index of
+ this output parameter. starting from 0. */
+ Type type; /* copied from parent Arg */
+ int sourceLine;
+ } ItemRec;
+
+typedef Item Items;
+
+typedef struct _t_ArgRec {
+ struct _t_ArgRec *next;
+ Type type;
+ Items items;
+ } ArgRec, *Arg;
+
+typedef Arg Args;
+
+typedef struct {
+ boolean isStatic;
+ char *name;
+ Args inArgs, outArgs;
+ } HeaderRec, *Header;
+
+typedef struct {
+ long cnst;
+ char *var;
+ } Adr, *PAdr;
+
+typedef struct _t_TokenRec {
+ struct _t_TokenRec *next;
+ Type type;
+ Adr adr; /* of this token in the binary object sequence. */
+ char *val; /* loopholed */
+ int tokenIndex;
+ boolean wellKnownName; /* valid if type is T_NAME or T_LITNAME */
+ int sourceLine;
+ Item namedFormal;
+ /* non-NIL if this token is a reference to a formal.
+ (T_STRING, T_HEXSTRING, T_NAME, and T_LITNAME) */
+ Adr body;
+ /* Meaning depends on the token type, as follows:
+ simple => unused
+ array or proc => adr of body in binobjseq
+ string or hexstring => adr of body in binobjseq
+ name or litname => adr of namestring or array in binobjseq (named arg)
+ or cnst = the nametag (well-known name)
+ or cnst = 0 (name index filled in at runtime)
+ subscripted => index for element
+ */
+} TokenRec, *Token;
+
+typedef Token Tokens;
+
+typedef Tokens Body;
+
+typedef struct _t_TokenListRec {
+ struct _t_TokenListRec *next;
+ Token token;
+ } TokenListRec, *TokenList;
+
+extern FILE *header;
+extern boolean noUserNames; /* -n flag */
+extern char *currentPSWName;
+extern char *hfile;
+extern char *ifile; /* input file name for error messages */
+extern char *ofile;
+extern char *prog;
+extern char *special_h; /* -f option */
+extern char *string_temp; /* buffer of that size for scanning strings */
+extern char headid[];
+extern int bigFile;
+extern int doANSI; /* -a flag */
+extern int maxstring; /* max PS string length to scan (-s) */
+extern int lexdebug; /* debug flag for lexer */
+extern int errorCount; /* non-fatal errs */
+extern int outlineno; /* line number in output file */
+extern int pad; /* -p flag */
+extern int reentrant;
+extern int reportedPSWName;
+extern int yylineno; /* current line number in pswrap source file */
+
+/* lexer.l */
+extern int yylex(void);
+extern void stringerr(int); /* report string overflow */
+
+/* psw.c */
+extern void EmitPrototype(Header);
+extern void EmitBodyHeader(Header);
+extern void EmitBody(Tokens, Header);
+extern void FreeBody(Body);
+
+/* pswfile.c */
+extern void FinishHFile(void);
+extern void InitHFile(void);
+extern void InitOFile(void);
+
+/* pswparser.y */
+extern int yyparse (void);
+
+/* systemnames.c */
+extern void InitWellKnownPSNames(void);
+
+/* yyerror.c */
+extern void ErrIntro(int);
+extern void yyerror(char *);
+
+#endif /* PSWPRIV_H */
diff --git a/nx-X11/config/pswrap/pswrap.man b/nx-X11/config/pswrap/pswrap.man
new file mode 100644
index 000000000..17d7f05f7
--- /dev/null
+++ b/nx-X11/config/pswrap/pswrap.man
@@ -0,0 +1,141 @@
+.\" Id: pswrap.man,v 6.1 1994/05/18 23:21:11 asente Exp $
+.na
+.nh
+.TH PSWRAP 1 "4 Apr 1994" "Adobe Systems"
+.SH NAME
+pswrap \- creates C procedures from segments of PostScript language code
+
+.SH SYNOPSIS
+.B pswrap
+[
+.B \-apr
+] [
+.B \-o
+.I outputCfile
+] [
+.B \-h
+.I outputHfile
+] [
+.B \-s
+.I maxstring
+]
+.I inputfile
+
+.SH DESCRIPTION
+.LP
+.B pswrap
+reads input from
+.I inputfile
+and creates C-callable procedures, known as wraps, that send PostScript
+language code to the PostScript interpreter.
+.I inputfile
+contains segments of PostScript language code wrapped with a C-like
+procedure syntax.
+.LP
+Wraps are the most efficient way for an application to communicate with the
+PostScript interpreter. For complete documentation of
+.B pswrap
+and the language it accepts, see "pswrap Reference Manual"
+in \fIProgramming the Display PostScript System with X.\fR
+.LP
+
+.SH OPTIONS
+.LP
+.TP
+.I inputfile
+A file that contains one or more wrap definitions.
+.B pswrap
+transforms the definitions in
+.I inputfile
+into C procedures. If no input file is specified, the standard
+input (which can be redirected from a file or pipe) is used. The input file
+can include text other than wrap definitions.
+.B pswrap
+converts wrap definitions to C procedures and passes the other text
+through unchanged. Therefore, it is possible to intersperse C-language
+source code with wrap definitions in the input file.
+.RS
+.LP
+.I Note:
+Although C code is allowed in a pswrap input file, it is not allowed
+within a wrap body. In particular, no CPP macros (for example, #define) are
+allowed inside a wrap.
+.RE
+.TP
+.B \-a
+Generates ANSI C procedure prototypes for procedure definitions in
+.I outputCfile
+and, optionally,
+.I outputHfile.
+The
+.B \-a
+option allows compilers that recognize the
+ANSI C standard to do more complete type checking of parameters. The
+.B \-a
+option also causes
+.B pswrap
+to generate const declarations.
+.RS
+.LP
+.I Note:
+ANSI C procedure prototype syntax is not recognized by most non-ANSI C
+compilers, including many compilers based on the Portable C Compiler. Use the
+.B \-a
+option only in conjunction with a compiler that conforms to the ANSI C Standard.
+.RE
+.TP
+.BI \-h " outputHFile"
+Generates a header file that contains extern declarations for non-static
+wraps. This file can be used in #include statements in modules that use
+wraps. If the
+.B \-a
+option is specified, the declarations in the header file
+are ANSI C procedure prototypes. If the
+.B \-h
+option is omitted, a header file is not produced.
+.TP
+.BI \-o " outputCFile"
+Specifies the file to which the generated wraps and passed-through text are
+written. If omitted, the standard output is used. If the
+.B \-a
+option is also specified, the procedure definitions generated by
+.B pswrap
+are in ANSI C procedure prototype syntax.
+.TP
+.B \-p
+Specifies that strings passed by wraps are padded so that each data object
+begins on a long-word (4-byte) boundary. This option allows wraps to run on
+architectures that restrict data alignment to 4-byte boundaries and
+improves performance on some other architectures.
+.TP
+.B \-r
+Generates reentrant code for wraps shared by more than one process (as in
+shared libraries). Reentrant code can be called recursively or by more than
+one thread. The
+.B \-r
+option causes
+.B pswrap
+to generate extra code, so use it only when necessary.
+.TP
+.BI \-s " maxstring"
+Sets the maximum allowable length of a PostScript string object or
+hexadecimal string object in the wrap body input. A syntax error is reported if a
+string is not terminated with ) or > within
+.I maxstring
+characters.
+.I maxstring
+cannot be set lower than 80; the default is 200.
+
+.SH SEE ALSO
+\fIProgramming the Display PostScript System with X\fR
+(Addison-Wesley Publishing Company, Inc., 1993).
+
+.SH AUTHOR
+Adobe Systems Incorporated
+
+.SH NOTES
+PostScript and Display PostScript are trademarks
+of Adobe Systems Incorporated which may be registered
+in certain jurisdictions.
+.PP
+Copyright (c) 1988-1994 Adobe Systems Incorporated. All rights reserved.
diff --git a/nx-X11/config/pswrap/pswsemantics.c b/nx-X11/config/pswrap/pswsemantics.c
new file mode 100644
index 000000000..caaff800e
--- /dev/null
+++ b/nx-X11/config/pswrap/pswsemantics.c
@@ -0,0 +1,551 @@
+/*
+ * pswsemantics.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+/***********/
+/* Imports */
+/***********/
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#ifdef XENVIRONMENT
+#include <X11/Xos.h>
+#else
+#include <string.h>
+#endif
+
+#include "pswdict.h"
+#include "pswpriv.h"
+#include "pswsemantics.h"
+
+/***********************/
+/* Module-wide globals */
+/***********************/
+
+char *currentPSWName = NULL;
+int reportedPSWName = 0;
+
+static PSWDict currentDict = NULL;
+
+
+/*************************************************/
+/* Procedures called by the parser's annotations */
+/*************************************************/
+
+static boolean IsCharType(Type t)
+{
+ return (t == T_CHAR || t == T_UCHAR);
+}
+
+static boolean IsNumStrType(Type t)
+{
+ return (t == T_NUMSTR
+ || t == T_FLOATNUMSTR
+ || t == T_LONGNUMSTR
+ || t == T_SHORTNUMSTR);
+}
+
+void PSWName(char *s)
+{
+ currentPSWName = psw_malloc(strlen(s)+1);
+ strcpy(currentPSWName, s);
+ reportedPSWName = 0;
+}
+
+ /* Generate the code for this wrap now */
+void FinalizePSWrapDef(Header hdr, Body body)
+{
+ if (header && ! hdr->isStatic) EmitPrototype(hdr);
+
+ printf("#line %d \"%s\"\n", ++outlineno, ofile);
+ EmitBodyHeader(hdr);
+
+ printf("{\n"); outlineno++;
+ EmitBody(body, hdr);
+ printf("}\n"); outlineno++;
+ printf("#line %d \"%s\"\n", yylineno, ifile); outlineno++;
+
+ /* release storage for this wrap */
+ /* Omit if you have lots of memory and want pswrap lean and mean */
+ if (bigFile) {
+ register Arg arg, nextarg; register Item item, nextitem;
+ for(arg = hdr->inArgs; arg; arg = nextarg) {
+ nextarg = arg->next;
+ for(item = arg->items; item; item = nextitem) {
+ nextitem = item->next;
+ if (item->subscripted) {
+ if (!item->subscript->constant) free(item->subscript->name);
+ free(item->subscript);
+ if(item->scaled) {
+ if (!item->scale->constant) free(item->scale->name);
+ free(item->scale);
+ }
+ }
+ free(item->name); free(item);
+ }
+ free(arg);
+ }
+ for(arg = hdr->outArgs; arg; arg = nextarg) {
+ nextarg = arg->next;
+ for(item = arg->items; item; item = nextitem) {
+ nextitem = item->next;
+ if (item->subscripted) {
+ if (!item->subscript->constant) free(item->subscript->name);
+ free(item->subscript);
+ }
+ free(item->name); free(item);
+ }
+ free(arg);
+ }
+ free(hdr->name); free(hdr);
+ FreeBody(body);
+ }
+
+ DestroyPSWDict(currentDict);
+ currentDict = NULL;
+ currentPSWName = NULL;
+ reportedPSWName = 0;
+}
+
+ /* Complete construction of the Header tree and make some semantic checks */
+Header PSWHeader(boolean isStatic, Args inArgs, Args outArgs)
+{
+ char *name = currentPSWName;
+ register Arg arg, prevArg;
+ register Item item, prevItem;
+ int nextTag = 0;
+
+ Header hdr = (Header)psw_calloc(sizeof(HeaderRec), 1);
+ hdr->isStatic = isStatic;
+ hdr->name = name;
+
+ currentDict = CreatePSWDict(511);
+
+ prevArg = NULL;
+ for (arg = inArgs; arg; arg = arg->next) { /* foreach input arg */
+ prevItem = NULL;
+ for (item = arg->items; item; item = item->next) {
+ if (IsCharType(arg->type)
+ && !(item->starred || item->subscripted)) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,
+ "char input parameter %s must be starred or subscripted\n",
+ item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free(item); XXX? */
+ continue;
+ }
+ if(item->scaled && !IsNumStrType(arg->type)) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"only numstring parameters may be scaled\n");
+ }
+ if (IsNumStrType(arg->type)
+ && (item->starred || !item->subscripted)) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,
+ "numstring parameter %s may only be subscripted\n",
+ item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free(item); XXX? */
+ continue;
+ }
+ if (arg->type != T_CONTEXT) {
+ if (PSWDictLookup(currentDict, item->name) != -1) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"parameter %s reused\n", item->name);
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free this ? */
+ continue;
+ }
+ PSWDictEnter(currentDict, item->name, (PSWDictValue) item);
+ item->isoutput = false;
+ item->type = arg->type;
+ prevItem = item;
+ }
+ }
+ if (arg->items == NULL) {
+ if (prevArg) { prevArg->next = arg->next;}
+ else if (arg == inArgs) {inArgs = arg->next;}
+ continue;
+ }
+ prevArg = arg;
+ }
+
+ prevArg = NULL;
+ for (arg = outArgs; arg; arg = arg->next) { /* foreach output arg */
+ prevItem = NULL;
+ for (item = arg->items; item; item = item->next) {
+ if (arg->type == T_USEROBJECT) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"output parameter %s can not be of type userobject\n",
+ item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free(item); XXX */
+ continue;
+ }
+ if (arg->type == T_NUMSTR || arg->type == T_FLOATNUMSTR
+ || arg->type == T_LONGNUMSTR || arg->type == T_SHORTNUMSTR) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"output parameter %s can not be of type numstring\n",
+ item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free(item); XXX */
+ continue;
+ }
+ if (!(item->starred || item->subscripted)) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"output parameter %s must be starred or subscripted\n",
+ item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free(item); XXX */
+ continue;
+ }
+ if (PSWDictLookup(currentDict, item->name) != -1) {
+ ErrIntro(item->sourceLine);
+ fprintf(stderr,"parameter %s reused\n", item->name);
+ /* remove item from list */
+ if (prevItem) {prevItem->next = item->next;}
+ else if (item == arg->items) {arg->items = item->next;};
+ /* free the storage? XXX */
+ continue;
+ }
+ PSWDictEnter(currentDict, item->name, (PSWDictValue) item);
+ item->isoutput = true;
+ item->type = arg->type;
+ item->tag = nextTag++;
+ prevItem = item;
+ } /* inside for loop */
+ if (arg->items == NULL) {
+ if (prevArg) {
+ prevArg->next = arg->next;
+ } else if (arg == outArgs) {
+ outArgs = arg->next;
+ }
+ continue;
+ }
+ prevArg = arg;
+ } /* outside for loop */
+
+ /* now go looking for subscripts that name an input arg */
+ for (arg = inArgs; arg; arg = arg->next) { /* foreach input arg */
+ for (item = arg->items; item; item = item->next) {
+ if (item->subscripted && !item->subscript->constant) {
+ PSWDictValue v = PSWDictLookup(currentDict, item->subscript->name);
+ if (v != -1) {
+ Item subItem = (Item)v;
+ if (subItem->isoutput) {
+ ErrIntro(subItem->sourceLine);
+ fprintf(stderr,"output parameter %s used as a subscript\n",
+ subItem->name);
+ continue;
+ }
+ if (subItem->type != T_INT) {
+ ErrIntro(subItem->sourceLine);
+ fprintf(stderr,
+ "input parameter %s used as a subscript is not an int\n",
+ subItem->name);
+ continue;
+ }
+ }
+ }
+ }
+ }
+
+ for (arg = outArgs; arg; arg = arg->next) { /* foreach output arg */
+ for (item = arg->items; item; item = item->next) {
+ if (item->subscripted && !item->subscript->constant) {
+ PSWDictValue v = PSWDictLookup(currentDict, item->subscript->name);
+ if (v != -1) {
+ Item subItem = (Item)v;
+ if (subItem->isoutput) {
+ ErrIntro(subItem->sourceLine);
+ fprintf(stderr,"output parameter %s used as a subscript\n",
+ subItem->name);
+ continue;
+ }
+ if (subItem->type != T_INT) {
+ ErrIntro(subItem->sourceLine);
+ fprintf(stderr,
+ "input parameter %s used as a subscript is not an int\n",
+ subItem->name);
+ continue;
+ }
+ }
+ }
+ }
+ }
+
+ hdr->inArgs = inArgs;
+ hdr->outArgs = outArgs;
+
+ return hdr;
+}
+
+Token PSWToken(Type type, char *val)
+{
+ register Token token = (Token)psw_calloc(sizeof(TokenRec), 1);
+
+ token->next = NULL;
+ token->type = type;
+ token->val = val;
+ token->sourceLine = yylineno;
+
+ switch (type) {
+ case T_STRING:
+ case T_NAME:
+ case T_LITNAME: {
+ Item dictVal = (Item) PSWDictLookup(currentDict, (char *)val);
+ if ((PSWDictValue) dictVal != -1) {
+ if ((type != T_NAME) && (dictVal->isoutput)) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"output parameter %s used as %s\n",
+ dictVal->name,
+ (type == T_STRING) ? "string": "literal name");
+ } else
+ if ((type != T_NAME) && !IsCharType(dictVal->type)) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"non-char input parameter %s used as %s\n",
+ dictVal->name,
+ (type == T_STRING) ? "string": "literal name");
+ } else
+ token->namedFormal = dictVal; /* ok, so assign a value */
+ }
+ break;
+ }
+ default:
+ break;
+ }
+
+ return token;
+}
+
+Token PSWToken2(Type type, char *val, char *ind)
+{
+ register Token token = (Token)psw_calloc(sizeof(TokenRec), 1);
+ Item dictVal = (Item) PSWDictLookup(currentDict, val);
+ Item dvi;
+
+ token->next = NULL;
+ token->type = type;
+ token->val = val;
+ token->sourceLine = yylineno;
+
+ /* Assert(type == T_SUBSCRIPTED); */
+ if (((PSWDictValue) dictVal == -1) || (dictVal->isoutput)) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s not an input parameter\n", val);
+ }
+ else if (!dictVal->subscripted) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s not an array\n", val);
+ }
+ else if (dictVal->type >= T_NUMSTR) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"cannot subscript numstring %s\n", val);
+ }
+ else if (IsCharType(dictVal->type)) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s not a scalar type\n", val);
+ }
+ else {
+ dvi = (Item) PSWDictLookup(currentDict, (char *)ind);
+ if (((PSWDictValue) dvi != -1)
+ && ((dvi->isoutput) || IsCharType(dvi->type))) {
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s wrong type\n",(char *) ind);
+ }
+ else {
+ token->body.var = (char *) ind;
+ token->namedFormal = dictVal; /* ok, so assign a value */
+ return token;
+ }
+ }
+
+ /* ERRORS fall through */
+ free(token);
+ return (PSWToken(T_NAME,val));
+}
+
+Arg PSWArg(Type type, Items items)
+{
+ register Arg arg = (Arg)psw_calloc(sizeof(ArgRec), 1);
+ arg->next = NULL;
+ arg->type = type;
+ arg->items = items;
+ return arg;
+}
+
+Item PSWItem(char *name)
+{
+ register Item item = (Item)psw_calloc(sizeof(ItemRec), 1);
+ item->next = NULL;
+ item->name = name;
+ item->sourceLine = yylineno;
+ return item;
+}
+
+Item PSWStarItem(char *name)
+{
+ register Item item = (Item)psw_calloc(sizeof(ItemRec), 1);
+ item->next = NULL;
+ item->name = name;
+ item->starred = true;
+ item->sourceLine = yylineno;
+ return item;
+}
+
+Item PSWSubscriptItem(char *name, Subscript subscript)
+{
+ register Item item = (Item)psw_calloc(sizeof(ItemRec), 1);
+ item->next = NULL;
+ item->name = name;
+ item->subscript = subscript;
+ item->subscripted = true;
+ item->sourceLine = yylineno;
+ return item;
+}
+
+Item PSWScaleItem(char *name, Subscript subscript, char *nameval, int val)
+{
+ Item item;
+ Scale scale = (Scale)psw_calloc(sizeof(ScaleRec), 1);
+ item = PSWSubscriptItem(name, subscript);
+ item->scaled = true;
+ if(nameval)
+ scale->name = nameval;
+ else {
+ scale->constant = true;
+ scale->val = val;
+ }
+ item->scale = scale;
+ return(item);
+}
+
+Subscript PSWNameSubscript(char *name)
+{
+ Subscript subscript = (Subscript)psw_calloc(sizeof(SubscriptRec), 1);
+ subscript->name = name;
+ return subscript;
+}
+
+Subscript PSWIntegerSubscript(int val)
+{
+ Subscript subscript = (Subscript)psw_calloc(sizeof(SubscriptRec), 1);
+ subscript->constant = true;
+ subscript->val = val;
+ return subscript;
+}
+
+Args ConsPSWArgs(Arg arg, Args args)
+{
+ arg->next = args;
+ return arg;
+}
+
+Tokens AppendPSWToken(Token token, Tokens tokens)
+{
+ register Token t;
+ static Token firstToken, lastToken; /* cache ptr to last */
+
+ if ((token->type == T_NAME) && (token->namedFormal)) {
+ if( token->namedFormal->isoutput) {
+ Token oldtoken;
+ char *pos = "printobject";
+ char *ss = psw_malloc(strlen(pos) + 1);
+ strcpy(ss, pos);
+ free(token->val);
+ oldtoken = token;
+ token = PSWToken(T_INT, (char *) token->namedFormal->tag);
+ free((char *)oldtoken);
+ token->next = PSWToken(T_NAME, ss);
+ } else
+ if (token->namedFormal->type == T_USEROBJECT) {
+ char *pos = "execuserobject";
+ char *ss = psw_malloc(strlen(pos) + 1);
+ strcpy(ss, pos);
+ token->next = PSWToken(T_NAME, ss);
+ }
+ }
+
+ if (tokens == NULL) {
+ firstToken = lastToken = token;
+ return token;
+ }
+
+ if (tokens != firstToken)
+ firstToken = lastToken = tokens;
+ for (t = lastToken; t->next; t = t->next);
+ lastToken = t->next = token;
+
+ return tokens;
+}
+
+Args AppendPSWArgs(Arg arg, Args args)
+{
+ register Arg a;
+ arg->next = NULL;
+ if (args == NULL) return arg;
+
+ for (a = args; a->next; a = a->next);
+
+ a->next = arg;
+ return args;
+}
+
+Items AppendPSWItems(Item item, Items items)
+{
+ register Item t;
+ item->next = NULL;
+ if (items == NULL) return item;
+
+ for (t = items; t->next; t = t->next);
+
+ t->next = item;
+ return items;
+}
diff --git a/nx-X11/config/pswrap/pswsemantics.h b/nx-X11/config/pswrap/pswsemantics.h
new file mode 100644
index 000000000..b2e0a1a41
--- /dev/null
+++ b/nx-X11/config/pswrap/pswsemantics.h
@@ -0,0 +1,63 @@
+/*
+ * pswsemantics.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+#ifndef PSWSEMANTICS_H
+#define PSWSEMANTICS_H
+
+#include "pswpriv.h"
+
+/* PROCEDURES */
+
+extern Arg PSWArg(Type, Items);
+extern Args AppendPSWArgs(Arg, Args);
+extern Args ConsPSWArgs(Arg, Args);
+extern Header PSWHeader(boolean, Args, Args);
+extern Item PSWItem(char *);
+extern Item PSWScaleItem(char *, Subscript, char *, int);
+extern Item PSWStarItem(char *);
+extern Item PSWSubscriptItem(char *, Subscript);
+extern Items AppendPSWItems(Item, Items);
+extern Subscript PSWIntegerSubscript(int);
+extern Subscript PSWNameSubscript(char *);
+extern Token PSWToken(Type, char *);
+extern Token PSWToken2(Type, char *, char *);
+extern Tokens AppendPSWToken(Token, Tokens);
+extern void FinalizePSWrapDef(Header, Body);
+extern void PSWName(char *);
+
+#endif /* PSWSEMANTICS_H */
diff --git a/nx-X11/config/pswrap/pswstring.c b/nx-X11/config/pswrap/pswstring.c
new file mode 100644
index 000000000..3a4d5084a
--- /dev/null
+++ b/nx-X11/config/pswrap/pswstring.c
@@ -0,0 +1,140 @@
+/*
+ * pswstring.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86$ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+
+#include "pswpriv.h"
+#include "psw.h"
+
+#define outfil stdout
+#define MAX_PER_LINE 16
+
+int PSWStringLength(char *s)
+{
+ register char *c = s;
+ register int len = 0;
+
+ while (*c != '\0') { /* skip \\ and \ooo */
+ if (*c++ == '\\') {
+ if (*c++ != '\\') c += 2;
+ }
+ len++;
+ }
+ return (len);
+}
+
+void PSWOutputStringChars(char *s)
+{
+ register char *c = s;
+ register char b;
+ register int perline = 0;
+
+ while (*c != '\0') {
+ putc('\'',outfil);
+ switch (b = *c++) {
+ case '\\':
+ putc('\\',outfil);
+ fputc(b = *c++,outfil);
+ if (b != '\\') {putc(*c++,outfil);putc(*c++,outfil);}
+ break;
+ case '\'':
+ fprintf(outfil,"\\'");
+ break;
+ case '\"':
+ fprintf(outfil,"\\\"");
+ break;
+ case '\b':
+ fprintf(outfil,"\\b");
+ break;
+ case '\f':
+ fprintf(outfil,"\\f");
+ break;
+/* avoid funny interpretations of \n, \r by MPW */
+ case '\012':
+ fprintf(outfil,"\\012"); perline++;
+ break;
+ case '\015':
+ fprintf(outfil,"\\015"); perline++;
+ break;
+ case '\t':
+ fprintf(outfil,"\\t");
+ break;
+ default:
+ putc(b,outfil); perline--;
+ break;
+ }
+ putc('\'',outfil);
+ if (*c != '\0') {
+ if (++perline >= MAX_PER_LINE) {
+ fprintf(outfil,",\n ");
+ outlineno++;
+ }
+ else {putc(',',outfil);}
+ perline %= MAX_PER_LINE;
+ }
+ }
+}
+
+
+int PSWHexStringLength(char *s)
+{
+ return ((int) (strlen(s)+1)/2);
+}
+
+void PSWOutputHexStringChars(register char *s)
+{
+ register int perline = 0;
+ char tmp[3];
+
+ tmp[2] ='\0';
+ while ((tmp[0] = *s++)!= '\0') {
+ tmp[1] = *s ? *s++ : '\0';
+ fprintf(outfil,"0x%s",tmp);
+ if (*s != '\0') {
+ if (++perline >= MAX_PER_LINE) {
+ fprintf(outfil,",\n ");
+ outlineno++;
+ }
+ else {putc(',',outfil);}
+ perline %= MAX_PER_LINE;
+ }
+ } /* while */
+}
diff --git a/nx-X11/config/pswrap/pswtypes.h b/nx-X11/config/pswrap/pswtypes.h
new file mode 100644
index 000000000..cfa64f083
--- /dev/null
+++ b/nx-X11/config/pswrap/pswtypes.h
@@ -0,0 +1,49 @@
+/*
+ * pswtypes.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86$ */
+
+#ifndef PSWTYPES_H
+#define PSWTYPES_H
+
+#include <stddef.h>
+
+#define false 0
+#define true 1
+typedef short boolean;
+
+#endif /* PSWTYPES_H */
diff --git a/nx-X11/config/pswrap/pswversion.h b/nx-X11/config/pswrap/pswversion.h
new file mode 100644
index 000000000..c28c3f174
--- /dev/null
+++ b/nx-X11/config/pswrap/pswversion.h
@@ -0,0 +1,42 @@
+/*
+ * pswversion.h
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+/* $XFree86$ */
+
+#define PSW_VERSION "V1.009 X11"
+
+#define PSW_OS "unix"
diff --git a/nx-X11/config/pswrap/sysname_gen.c b/nx-X11/config/pswrap/sysname_gen.c
new file mode 100644
index 000000000..10624aafc
--- /dev/null
+++ b/nx-X11/config/pswrap/sysname_gen.c
@@ -0,0 +1,429 @@
+/*
+ * sysnames_gen.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+ wellKnownPSNames = CreatePSWDict(431);
+
+ PSWDictEnter(wellKnownPSNames,"abs", 0);
+ PSWDictEnter(wellKnownPSNames,"add", 1);
+ PSWDictEnter(wellKnownPSNames,"aload", 2);
+ PSWDictEnter(wellKnownPSNames,"anchorsearch", 3);
+ PSWDictEnter(wellKnownPSNames,"and", 4);
+ PSWDictEnter(wellKnownPSNames,"arc", 5);
+ PSWDictEnter(wellKnownPSNames,"arcn", 6);
+ PSWDictEnter(wellKnownPSNames,"arct", 7);
+ PSWDictEnter(wellKnownPSNames,"arcto", 8);
+ PSWDictEnter(wellKnownPSNames,"array", 9);
+ PSWDictEnter(wellKnownPSNames,"ashow", 10);
+ PSWDictEnter(wellKnownPSNames,"astore", 11);
+ PSWDictEnter(wellKnownPSNames,"awidthshow", 12);
+ PSWDictEnter(wellKnownPSNames,"begin", 13);
+ PSWDictEnter(wellKnownPSNames,"bind", 14);
+ PSWDictEnter(wellKnownPSNames,"bitshift", 15);
+ PSWDictEnter(wellKnownPSNames,"ceiling", 16);
+ PSWDictEnter(wellKnownPSNames,"charpath", 17);
+ PSWDictEnter(wellKnownPSNames,"clear", 18);
+ PSWDictEnter(wellKnownPSNames,"cleartomark", 19);
+ PSWDictEnter(wellKnownPSNames,"clip", 20);
+ PSWDictEnter(wellKnownPSNames,"clippath", 21);
+ PSWDictEnter(wellKnownPSNames,"closepath", 22);
+ PSWDictEnter(wellKnownPSNames,"concat", 23);
+ PSWDictEnter(wellKnownPSNames,"concatmatrix", 24);
+ PSWDictEnter(wellKnownPSNames,"copy", 25);
+ PSWDictEnter(wellKnownPSNames,"count", 26);
+ PSWDictEnter(wellKnownPSNames,"counttomark", 27);
+ PSWDictEnter(wellKnownPSNames,"currentcmykcolor", 28);
+ PSWDictEnter(wellKnownPSNames,"currentdash", 29);
+ PSWDictEnter(wellKnownPSNames,"currentdict", 30);
+ PSWDictEnter(wellKnownPSNames,"currentfile", 31);
+ PSWDictEnter(wellKnownPSNames,"currentfont", 32);
+ PSWDictEnter(wellKnownPSNames,"currentgray", 33);
+ PSWDictEnter(wellKnownPSNames,"currentgstate", 34);
+ PSWDictEnter(wellKnownPSNames,"currenthsbcolor", 35);
+ PSWDictEnter(wellKnownPSNames,"currentlinecap", 36);
+ PSWDictEnter(wellKnownPSNames,"currentlinejoin", 37);
+ PSWDictEnter(wellKnownPSNames,"currentlinewidth", 38);
+ PSWDictEnter(wellKnownPSNames,"currentmatrix", 39);
+ PSWDictEnter(wellKnownPSNames,"currentpoint", 40);
+ PSWDictEnter(wellKnownPSNames,"currentrgbcolor", 41);
+ PSWDictEnter(wellKnownPSNames,"currentshared", 42);
+ PSWDictEnter(wellKnownPSNames,"curveto", 43);
+ PSWDictEnter(wellKnownPSNames,"cvi", 44);
+ PSWDictEnter(wellKnownPSNames,"cvlit", 45);
+ PSWDictEnter(wellKnownPSNames,"cvn", 46);
+ PSWDictEnter(wellKnownPSNames,"cvr", 47);
+ PSWDictEnter(wellKnownPSNames,"cvrs", 48);
+ PSWDictEnter(wellKnownPSNames,"cvs", 49);
+ PSWDictEnter(wellKnownPSNames,"cvx", 50);
+ PSWDictEnter(wellKnownPSNames,"def", 51);
+ PSWDictEnter(wellKnownPSNames,"defineusername", 52);
+ PSWDictEnter(wellKnownPSNames,"dict", 53);
+ PSWDictEnter(wellKnownPSNames,"div", 54);
+ PSWDictEnter(wellKnownPSNames,"dtransform", 55);
+ PSWDictEnter(wellKnownPSNames,"dup", 56);
+ PSWDictEnter(wellKnownPSNames,"end", 57);
+ PSWDictEnter(wellKnownPSNames,"eoclip", 58);
+ PSWDictEnter(wellKnownPSNames,"eofill", 59);
+ PSWDictEnter(wellKnownPSNames,"eoviewclip", 60);
+ PSWDictEnter(wellKnownPSNames,"eq", 61);
+ PSWDictEnter(wellKnownPSNames,"exch", 62);
+ PSWDictEnter(wellKnownPSNames,"exec", 63);
+ PSWDictEnter(wellKnownPSNames,"exit", 64);
+ PSWDictEnter(wellKnownPSNames,"file", 65);
+ PSWDictEnter(wellKnownPSNames,"fill", 66);
+ PSWDictEnter(wellKnownPSNames,"findfont", 67);
+ PSWDictEnter(wellKnownPSNames,"flattenpath", 68);
+ PSWDictEnter(wellKnownPSNames,"floor", 69);
+ PSWDictEnter(wellKnownPSNames,"flush", 70);
+ PSWDictEnter(wellKnownPSNames,"flushfile", 71);
+ PSWDictEnter(wellKnownPSNames,"for", 72);
+ PSWDictEnter(wellKnownPSNames,"forall", 73);
+ PSWDictEnter(wellKnownPSNames,"ge", 74);
+ PSWDictEnter(wellKnownPSNames,"get", 75);
+ PSWDictEnter(wellKnownPSNames,"getinterval", 76);
+ PSWDictEnter(wellKnownPSNames,"grestore", 77);
+ PSWDictEnter(wellKnownPSNames,"gsave", 78);
+ PSWDictEnter(wellKnownPSNames,"gstate", 79);
+ PSWDictEnter(wellKnownPSNames,"gt", 80);
+ PSWDictEnter(wellKnownPSNames,"identmatrix", 81);
+ PSWDictEnter(wellKnownPSNames,"idiv", 82);
+ PSWDictEnter(wellKnownPSNames,"idtransform", 83);
+ PSWDictEnter(wellKnownPSNames,"if", 84);
+ PSWDictEnter(wellKnownPSNames,"ifelse", 85);
+ PSWDictEnter(wellKnownPSNames,"image", 86);
+ PSWDictEnter(wellKnownPSNames,"imagemask", 87);
+ PSWDictEnter(wellKnownPSNames,"index", 88);
+ PSWDictEnter(wellKnownPSNames,"ineofill", 89);
+ PSWDictEnter(wellKnownPSNames,"infill", 90);
+ PSWDictEnter(wellKnownPSNames,"initviewclip", 91);
+ PSWDictEnter(wellKnownPSNames,"inueofill", 92);
+ PSWDictEnter(wellKnownPSNames,"inufill", 93);
+ PSWDictEnter(wellKnownPSNames,"invertmatrix", 94);
+ PSWDictEnter(wellKnownPSNames,"itransform", 95);
+ PSWDictEnter(wellKnownPSNames,"known", 96);
+ PSWDictEnter(wellKnownPSNames,"le", 97);
+ PSWDictEnter(wellKnownPSNames,"length", 98);
+ PSWDictEnter(wellKnownPSNames,"lineto", 99);
+ PSWDictEnter(wellKnownPSNames,"load", 100);
+ PSWDictEnter(wellKnownPSNames,"loop", 101);
+ PSWDictEnter(wellKnownPSNames,"lt", 102);
+ PSWDictEnter(wellKnownPSNames,"makefont", 103);
+ PSWDictEnter(wellKnownPSNames,"matrix", 104);
+ PSWDictEnter(wellKnownPSNames,"maxlength", 105);
+ PSWDictEnter(wellKnownPSNames,"mod", 106);
+ PSWDictEnter(wellKnownPSNames,"moveto", 107);
+ PSWDictEnter(wellKnownPSNames,"mul", 108);
+ PSWDictEnter(wellKnownPSNames,"ne", 109);
+ PSWDictEnter(wellKnownPSNames,"neg", 110);
+ PSWDictEnter(wellKnownPSNames,"newpath", 111);
+ PSWDictEnter(wellKnownPSNames,"not", 112);
+ PSWDictEnter(wellKnownPSNames,"null", 113);
+ PSWDictEnter(wellKnownPSNames,"or", 114);
+ PSWDictEnter(wellKnownPSNames,"pathbbox", 115);
+ PSWDictEnter(wellKnownPSNames,"pathforall", 116);
+ PSWDictEnter(wellKnownPSNames,"pop", 117);
+ PSWDictEnter(wellKnownPSNames,"print", 118);
+ PSWDictEnter(wellKnownPSNames,"printobject", 119);
+ PSWDictEnter(wellKnownPSNames,"put", 120);
+ PSWDictEnter(wellKnownPSNames,"putinterval", 121);
+ PSWDictEnter(wellKnownPSNames,"rcurveto", 122);
+ PSWDictEnter(wellKnownPSNames,"read", 123);
+ PSWDictEnter(wellKnownPSNames,"readhexstring", 124);
+ PSWDictEnter(wellKnownPSNames,"readline", 125);
+ PSWDictEnter(wellKnownPSNames,"readstring", 126);
+ PSWDictEnter(wellKnownPSNames,"rectclip", 127);
+ PSWDictEnter(wellKnownPSNames,"rectfill", 128);
+ PSWDictEnter(wellKnownPSNames,"rectstroke", 129);
+ PSWDictEnter(wellKnownPSNames,"rectviewclip", 130);
+ PSWDictEnter(wellKnownPSNames,"repeat", 131);
+ PSWDictEnter(wellKnownPSNames,"restore", 132);
+ PSWDictEnter(wellKnownPSNames,"rlineto", 133);
+ PSWDictEnter(wellKnownPSNames,"rmoveto", 134);
+ PSWDictEnter(wellKnownPSNames,"roll", 135);
+ PSWDictEnter(wellKnownPSNames,"rotate", 136);
+ PSWDictEnter(wellKnownPSNames,"round", 137);
+ PSWDictEnter(wellKnownPSNames,"save", 138);
+ PSWDictEnter(wellKnownPSNames,"scale", 139);
+ PSWDictEnter(wellKnownPSNames,"scalefont", 140);
+ PSWDictEnter(wellKnownPSNames,"search", 141);
+ PSWDictEnter(wellKnownPSNames,"selectfont", 142);
+ PSWDictEnter(wellKnownPSNames,"setbbox", 143);
+ PSWDictEnter(wellKnownPSNames,"setcachedevice", 144);
+ PSWDictEnter(wellKnownPSNames,"setcachedevice2", 145);
+ PSWDictEnter(wellKnownPSNames,"setcharwidth", 146);
+ PSWDictEnter(wellKnownPSNames,"setcmykcolor", 147);
+ PSWDictEnter(wellKnownPSNames,"setdash", 148);
+ PSWDictEnter(wellKnownPSNames,"setfont", 149);
+ PSWDictEnter(wellKnownPSNames,"setgray", 150);
+ PSWDictEnter(wellKnownPSNames,"setgstate", 151);
+ PSWDictEnter(wellKnownPSNames,"sethsbcolor", 152);
+ PSWDictEnter(wellKnownPSNames,"setlinecap", 153);
+ PSWDictEnter(wellKnownPSNames,"setlinejoin", 154);
+ PSWDictEnter(wellKnownPSNames,"setlinewidth", 155);
+ PSWDictEnter(wellKnownPSNames,"setmatrix", 156);
+ PSWDictEnter(wellKnownPSNames,"setrgbcolor", 157);
+ PSWDictEnter(wellKnownPSNames,"setshared", 158);
+ PSWDictEnter(wellKnownPSNames,"shareddict", 159);
+ PSWDictEnter(wellKnownPSNames,"show", 160);
+ PSWDictEnter(wellKnownPSNames,"showpage", 161);
+ PSWDictEnter(wellKnownPSNames,"stop", 162);
+ PSWDictEnter(wellKnownPSNames,"stopped", 163);
+ PSWDictEnter(wellKnownPSNames,"store", 164);
+ PSWDictEnter(wellKnownPSNames,"string", 165);
+ PSWDictEnter(wellKnownPSNames,"stringwidth", 166);
+ PSWDictEnter(wellKnownPSNames,"stroke", 167);
+ PSWDictEnter(wellKnownPSNames,"strokepath", 168);
+ PSWDictEnter(wellKnownPSNames,"sub", 169);
+ PSWDictEnter(wellKnownPSNames,"systemdict", 170);
+ PSWDictEnter(wellKnownPSNames,"token", 171);
+ PSWDictEnter(wellKnownPSNames,"transform", 172);
+ PSWDictEnter(wellKnownPSNames,"translate", 173);
+ PSWDictEnter(wellKnownPSNames,"truncate", 174);
+ PSWDictEnter(wellKnownPSNames,"type", 175);
+ PSWDictEnter(wellKnownPSNames,"uappend", 176);
+ PSWDictEnter(wellKnownPSNames,"ucache", 177);
+ PSWDictEnter(wellKnownPSNames,"ueofill", 178);
+ PSWDictEnter(wellKnownPSNames,"ufill", 179);
+ PSWDictEnter(wellKnownPSNames,"undef", 180);
+ PSWDictEnter(wellKnownPSNames,"upath", 181);
+ PSWDictEnter(wellKnownPSNames,"userdict", 182);
+ PSWDictEnter(wellKnownPSNames,"ustroke", 183);
+ PSWDictEnter(wellKnownPSNames,"viewclip", 184);
+ PSWDictEnter(wellKnownPSNames,"viewclippath", 185);
+ PSWDictEnter(wellKnownPSNames,"where", 186);
+ PSWDictEnter(wellKnownPSNames,"widthshow", 187);
+ PSWDictEnter(wellKnownPSNames,"write", 188);
+ PSWDictEnter(wellKnownPSNames,"writehexstring", 189);
+ PSWDictEnter(wellKnownPSNames,"writeobject", 190);
+ PSWDictEnter(wellKnownPSNames,"writestring", 191);
+ PSWDictEnter(wellKnownPSNames,"wtranslation", 192);
+ PSWDictEnter(wellKnownPSNames,"xor", 193);
+ PSWDictEnter(wellKnownPSNames,"xshow", 194);
+ PSWDictEnter(wellKnownPSNames,"xyshow", 195);
+ PSWDictEnter(wellKnownPSNames,"yshow", 196);
+ PSWDictEnter(wellKnownPSNames,"FontDirectory", 197);
+ PSWDictEnter(wellKnownPSNames,"SharedFontDirectory", 198);
+ PSWDictEnter(wellKnownPSNames,"Courier", 199);
+ PSWDictEnter(wellKnownPSNames,"Courier-Bold", 200);
+ PSWDictEnter(wellKnownPSNames,"Courier-BoldOblique", 201);
+ PSWDictEnter(wellKnownPSNames,"Courier-Oblique", 202);
+ PSWDictEnter(wellKnownPSNames,"Helvetica", 203);
+ PSWDictEnter(wellKnownPSNames,"Helvetica-Bold", 204);
+ PSWDictEnter(wellKnownPSNames,"Helvetica-BoldOblique", 205);
+ PSWDictEnter(wellKnownPSNames,"Helvetica-Oblique", 206);
+ PSWDictEnter(wellKnownPSNames,"Symbol", 207);
+ PSWDictEnter(wellKnownPSNames,"Times-Bold", 208);
+ PSWDictEnter(wellKnownPSNames,"Times-BoldItalic", 209);
+ PSWDictEnter(wellKnownPSNames,"Times-Italic", 210);
+ PSWDictEnter(wellKnownPSNames,"Times-Roman", 211);
+ PSWDictEnter(wellKnownPSNames,"execuserobject", 212);
+ PSWDictEnter(wellKnownPSNames,"=", 256);
+ PSWDictEnter(wellKnownPSNames,"==", 257);
+ PSWDictEnter(wellKnownPSNames,"ISOLatin1Encoding", 258);
+ PSWDictEnter(wellKnownPSNames,"StandardEncoding", 259);
+ PSWDictEnter(wellKnownPSNames,"[", 260);
+ PSWDictEnter(wellKnownPSNames,"]", 261);
+ PSWDictEnter(wellKnownPSNames,"atan", 262);
+ PSWDictEnter(wellKnownPSNames,"banddevice", 263);
+ PSWDictEnter(wellKnownPSNames,"bytesavailable", 264);
+ PSWDictEnter(wellKnownPSNames,"cachestatus", 265);
+ PSWDictEnter(wellKnownPSNames,"closefile", 266);
+ PSWDictEnter(wellKnownPSNames,"colorimage", 267);
+ PSWDictEnter(wellKnownPSNames,"condition", 268);
+ PSWDictEnter(wellKnownPSNames,"copypage", 269);
+ PSWDictEnter(wellKnownPSNames,"cos", 270);
+ PSWDictEnter(wellKnownPSNames,"countdictstack", 271);
+ PSWDictEnter(wellKnownPSNames,"countexecstack", 272);
+ PSWDictEnter(wellKnownPSNames,"cshow", 273);
+ PSWDictEnter(wellKnownPSNames,"currentblackgeneration", 274);
+ PSWDictEnter(wellKnownPSNames,"currentcacheparams", 275);
+ PSWDictEnter(wellKnownPSNames,"currentcolorscreen", 276);
+ PSWDictEnter(wellKnownPSNames,"currentcolortransfer", 277);
+ PSWDictEnter(wellKnownPSNames,"currentcontext", 278);
+ PSWDictEnter(wellKnownPSNames,"currentflat", 279);
+ PSWDictEnter(wellKnownPSNames,"currenthalftone", 280);
+ PSWDictEnter(wellKnownPSNames,"currenthalftonephase", 281);
+ PSWDictEnter(wellKnownPSNames,"currentmiterlimit", 282);
+ PSWDictEnter(wellKnownPSNames,"currentobjectformat", 283);
+ PSWDictEnter(wellKnownPSNames,"currentpacking", 284);
+ PSWDictEnter(wellKnownPSNames,"currentscreen", 285);
+ PSWDictEnter(wellKnownPSNames,"currentstrokeadjust", 286);
+ PSWDictEnter(wellKnownPSNames,"currenttransfer", 287);
+ PSWDictEnter(wellKnownPSNames,"currentundercolorremoval", 288);
+ PSWDictEnter(wellKnownPSNames,"defaultmatrix", 289);
+ PSWDictEnter(wellKnownPSNames,"definefont", 290);
+ PSWDictEnter(wellKnownPSNames,"deletefile", 291);
+ PSWDictEnter(wellKnownPSNames,"detach", 292);
+ PSWDictEnter(wellKnownPSNames,"deviceinfo", 293);
+ PSWDictEnter(wellKnownPSNames,"dictstack", 294);
+ PSWDictEnter(wellKnownPSNames,"echo", 295);
+ PSWDictEnter(wellKnownPSNames,"erasepage", 296);
+ PSWDictEnter(wellKnownPSNames,"errordict", 297);
+ PSWDictEnter(wellKnownPSNames,"execstack", 298);
+ PSWDictEnter(wellKnownPSNames,"executeonly", 299);
+ PSWDictEnter(wellKnownPSNames,"exp", 300);
+ PSWDictEnter(wellKnownPSNames,"false", 301);
+ PSWDictEnter(wellKnownPSNames,"filenameforall", 302);
+ PSWDictEnter(wellKnownPSNames,"fileposition", 303);
+ PSWDictEnter(wellKnownPSNames,"fork", 304);
+ PSWDictEnter(wellKnownPSNames,"framedevice", 305);
+ PSWDictEnter(wellKnownPSNames,"grestoreall", 306);
+ PSWDictEnter(wellKnownPSNames,"handleerror", 307);
+ PSWDictEnter(wellKnownPSNames,"initclip", 308);
+ PSWDictEnter(wellKnownPSNames,"initgraphics", 309);
+ PSWDictEnter(wellKnownPSNames,"initmatrix", 310);
+ PSWDictEnter(wellKnownPSNames,"instroke", 311);
+ PSWDictEnter(wellKnownPSNames,"inustroke", 312);
+ PSWDictEnter(wellKnownPSNames,"join", 313);
+ PSWDictEnter(wellKnownPSNames,"kshow", 314);
+ PSWDictEnter(wellKnownPSNames,"ln", 315);
+ PSWDictEnter(wellKnownPSNames,"lock", 316);
+ PSWDictEnter(wellKnownPSNames,"log", 317);
+ PSWDictEnter(wellKnownPSNames,"mark", 318);
+ PSWDictEnter(wellKnownPSNames,"monitor", 319);
+ PSWDictEnter(wellKnownPSNames,"noaccess", 320);
+ PSWDictEnter(wellKnownPSNames,"notify", 321);
+ PSWDictEnter(wellKnownPSNames,"nulldevice", 322);
+ PSWDictEnter(wellKnownPSNames,"packedarray", 323);
+ PSWDictEnter(wellKnownPSNames,"quit", 324);
+ PSWDictEnter(wellKnownPSNames,"rand", 325);
+ PSWDictEnter(wellKnownPSNames,"rcheck", 326);
+ PSWDictEnter(wellKnownPSNames,"readonly", 327);
+ PSWDictEnter(wellKnownPSNames,"realtime", 328);
+ PSWDictEnter(wellKnownPSNames,"renamefile", 329);
+ PSWDictEnter(wellKnownPSNames,"renderbands", 330);
+ PSWDictEnter(wellKnownPSNames,"resetfile", 331);
+ PSWDictEnter(wellKnownPSNames,"reversepath", 332);
+ PSWDictEnter(wellKnownPSNames,"rootfont", 333);
+ PSWDictEnter(wellKnownPSNames,"rrand", 334);
+ PSWDictEnter(wellKnownPSNames,"run", 335);
+ PSWDictEnter(wellKnownPSNames,"scheck", 336);
+ PSWDictEnter(wellKnownPSNames,"setblackgeneration", 337);
+ PSWDictEnter(wellKnownPSNames,"setcachelimit", 338);
+ PSWDictEnter(wellKnownPSNames,"setcacheparams", 339);
+ PSWDictEnter(wellKnownPSNames,"setcolorscreen", 340);
+ PSWDictEnter(wellKnownPSNames,"setcolortransfer", 341);
+ PSWDictEnter(wellKnownPSNames,"setfileposition", 342);
+ PSWDictEnter(wellKnownPSNames,"setflat", 343);
+ PSWDictEnter(wellKnownPSNames,"sethalftone", 344);
+ PSWDictEnter(wellKnownPSNames,"sethalftonephase", 345);
+ PSWDictEnter(wellKnownPSNames,"setmiterlimit", 346);
+ PSWDictEnter(wellKnownPSNames,"setobjectformat", 347);
+ PSWDictEnter(wellKnownPSNames,"setpacking", 348);
+ PSWDictEnter(wellKnownPSNames,"setscreen", 349);
+ PSWDictEnter(wellKnownPSNames,"setstrokeadjust", 350);
+ PSWDictEnter(wellKnownPSNames,"settransfer", 351);
+ PSWDictEnter(wellKnownPSNames,"setucacheparams", 352);
+ PSWDictEnter(wellKnownPSNames,"setundercolorremoval", 353);
+ PSWDictEnter(wellKnownPSNames,"sin", 354);
+ PSWDictEnter(wellKnownPSNames,"sqrt", 355);
+ PSWDictEnter(wellKnownPSNames,"srand", 356);
+ PSWDictEnter(wellKnownPSNames,"stack", 357);
+ PSWDictEnter(wellKnownPSNames,"status", 358);
+ PSWDictEnter(wellKnownPSNames,"statusdict", 359);
+ PSWDictEnter(wellKnownPSNames,"true", 360);
+ PSWDictEnter(wellKnownPSNames,"ucachestatus", 361);
+ PSWDictEnter(wellKnownPSNames,"undefinefont", 362);
+ PSWDictEnter(wellKnownPSNames,"usertime", 363);
+ PSWDictEnter(wellKnownPSNames,"ustrokepath", 364);
+ PSWDictEnter(wellKnownPSNames,"version", 365);
+ PSWDictEnter(wellKnownPSNames,"vmreclaim", 366);
+ PSWDictEnter(wellKnownPSNames,"vmstatus", 367);
+ PSWDictEnter(wellKnownPSNames,"wait", 368);
+ PSWDictEnter(wellKnownPSNames,"wcheck", 369);
+ PSWDictEnter(wellKnownPSNames,"xcheck", 370);
+ PSWDictEnter(wellKnownPSNames,"yield", 371);
+ PSWDictEnter(wellKnownPSNames,"defineuserobject", 372);
+ PSWDictEnter(wellKnownPSNames,"undefineuserobject", 373);
+ PSWDictEnter(wellKnownPSNames,"UserObjects", 374);
+ PSWDictEnter(wellKnownPSNames,"cleardictstack", 375);
+ PSWDictEnter(wellKnownPSNames,"A", 376);
+ PSWDictEnter(wellKnownPSNames,"B", 377);
+ PSWDictEnter(wellKnownPSNames,"C", 378);
+ PSWDictEnter(wellKnownPSNames,"D", 379);
+ PSWDictEnter(wellKnownPSNames,"E", 380);
+ PSWDictEnter(wellKnownPSNames,"F", 381);
+ PSWDictEnter(wellKnownPSNames,"G", 382);
+ PSWDictEnter(wellKnownPSNames,"H", 383);
+ PSWDictEnter(wellKnownPSNames,"I", 384);
+ PSWDictEnter(wellKnownPSNames,"J", 385);
+ PSWDictEnter(wellKnownPSNames,"K", 386);
+ PSWDictEnter(wellKnownPSNames,"L", 387);
+ PSWDictEnter(wellKnownPSNames,"M", 388);
+ PSWDictEnter(wellKnownPSNames,"N", 389);
+ PSWDictEnter(wellKnownPSNames,"O", 390);
+ PSWDictEnter(wellKnownPSNames,"P", 391);
+ PSWDictEnter(wellKnownPSNames,"Q", 392);
+ PSWDictEnter(wellKnownPSNames,"R", 393);
+ PSWDictEnter(wellKnownPSNames,"S", 394);
+ PSWDictEnter(wellKnownPSNames,"T", 395);
+ PSWDictEnter(wellKnownPSNames,"U", 396);
+ PSWDictEnter(wellKnownPSNames,"V", 397);
+ PSWDictEnter(wellKnownPSNames,"W", 398);
+ PSWDictEnter(wellKnownPSNames,"X", 399);
+ PSWDictEnter(wellKnownPSNames,"Y", 400);
+ PSWDictEnter(wellKnownPSNames,"Z", 401);
+ PSWDictEnter(wellKnownPSNames,"a", 402);
+ PSWDictEnter(wellKnownPSNames,"b", 403);
+ PSWDictEnter(wellKnownPSNames,"c", 404);
+ PSWDictEnter(wellKnownPSNames,"d", 405);
+ PSWDictEnter(wellKnownPSNames,"e", 406);
+ PSWDictEnter(wellKnownPSNames,"f", 407);
+ PSWDictEnter(wellKnownPSNames,"g", 408);
+ PSWDictEnter(wellKnownPSNames,"h", 409);
+ PSWDictEnter(wellKnownPSNames,"i", 410);
+ PSWDictEnter(wellKnownPSNames,"j", 411);
+ PSWDictEnter(wellKnownPSNames,"k", 412);
+ PSWDictEnter(wellKnownPSNames,"l", 413);
+ PSWDictEnter(wellKnownPSNames,"m", 414);
+ PSWDictEnter(wellKnownPSNames,"n", 415);
+ PSWDictEnter(wellKnownPSNames,"o", 416);
+ PSWDictEnter(wellKnownPSNames,"p", 417);
+ PSWDictEnter(wellKnownPSNames,"q", 418);
+ PSWDictEnter(wellKnownPSNames,"r", 419);
+ PSWDictEnter(wellKnownPSNames,"s", 420);
+ PSWDictEnter(wellKnownPSNames,"t", 421);
+ PSWDictEnter(wellKnownPSNames,"u", 422);
+ PSWDictEnter(wellKnownPSNames,"v", 423);
+ PSWDictEnter(wellKnownPSNames,"w", 424);
+ PSWDictEnter(wellKnownPSNames,"x", 425);
+ PSWDictEnter(wellKnownPSNames,"y", 426);
+ PSWDictEnter(wellKnownPSNames,"z", 427);
+ PSWDictEnter(wellKnownPSNames,"setvmthreshold", 428);
+ PSWDictEnter(wellKnownPSNames,"<<", 429);
+ PSWDictEnter(wellKnownPSNames,">>", 430);
+
diff --git a/nx-X11/config/pswrap/systemnames.c b/nx-X11/config/pswrap/systemnames.c
new file mode 100644
index 000000000..af1dbb83a
--- /dev/null
+++ b/nx-X11/config/pswrap/systemnames.c
@@ -0,0 +1,47 @@
+/*
+ * systemnames.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+#include "pswpriv.h"
+#include "pswdict.h"
+
+PSWDict wellKnownPSNames;
+
+void InitWellKnownPSNames(void)
+{
+#include "sysname_gen.c"
+}
diff --git a/nx-X11/config/pswrap/yyerror.c b/nx-X11/config/pswrap/yyerror.c
new file mode 100644
index 000000000..56044b4b4
--- /dev/null
+++ b/nx-X11/config/pswrap/yyerror.c
@@ -0,0 +1,77 @@
+/*
+ * yyerror.c
+ *
+ * (c) Copyright 1988-1994 Adobe Systems Incorporated.
+ * All rights reserved.
+ *
+ * Permission to use, copy, modify, distribute, and sublicense this software
+ * and its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notices appear in all copies and that
+ * both those copyright notices and this permission notice appear in
+ * supporting documentation and that the name of Adobe Systems Incorporated
+ * not be used in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. No trademark license
+ * to use the Adobe trademarks is hereby granted. If the Adobe trademark
+ * "Display PostScript"(tm) is used to describe this software, its
+ * functionality or for any other purpose, such use shall be limited to a
+ * statement that this software works in conjunction with the Display
+ * PostScript system. Proper trademark attribution to reflect Adobe's
+ * ownership of the trademark shall be given whenever any such reference to
+ * the Display PostScript system is made.
+ *
+ * ADOBE MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THE SOFTWARE FOR
+ * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
+ * ADOBE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NON- INFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL ADOBE BE LIABLE
+ * TO YOU OR ANY OTHER PARTY FOR ANY SPECIAL, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER WHETHER IN AN ACTION OF CONTRACT,
+ * NEGLIGENCE, STRICT LIABILITY OR ANY OTHER ACTION ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ADOBE WILL NOT
+ * PROVIDE ANY TRAINING OR OTHER SUPPORT FOR THE SOFTWARE.
+ *
+ * Adobe, PostScript, and Display PostScript are trademarks of Adobe Systems
+ * Incorporated which may be registered in certain jurisdictions
+ *
+ * Author: Adobe Systems Incorporated
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+
+#include "pswpriv.h"
+
+/* ErrIntro prints a standard intro for error messages;
+ * change it if your system uses something else. We have many options:
+ *
+ * to match Macintosh: #define FMT "File \"%s\"; Line %d # "
+ * to match BSD cc: #define FMT "\"%s\", line %d: "
+ * to match gcc: #define FMT "%s:%d: "
+ * to match Mips cc: #define FMT "pswrap: Error: %s, line %d: "
+ */
+
+
+#define INTRO "# In function %s -\n"
+
+#ifdef macintosh
+#define FMT "File \"%s\"; Line %d # "
+#else /* macintosh */
+#define FMT "\"%s\", line %d: "
+#endif /* macintosh */
+
+void ErrIntro(int line)
+{
+ if (! reportedPSWName && currentPSWName) {
+ reportedPSWName = 1;
+ fprintf(stderr,INTRO,currentPSWName);
+ }
+ fprintf(stderr,FMT,ifile,line);
+ errorCount++;
+}
+
+
+void yyerror(char *errmsg)
+{
+ ErrIntro(yylineno);
+ fprintf(stderr,"%s near text \"%s\"\n",errmsg,yytext);
+}
diff --git a/nx-X11/config/util/Imakefile b/nx-X11/config/util/Imakefile
new file mode 100644
index 000000000..016751d06
--- /dev/null
+++ b/nx-X11/config/util/Imakefile
@@ -0,0 +1,168 @@
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+
+
+
+XCOMM $XFree86: xc/config/util/Imakefile,v 3.49 2003/10/21 17:41:45 tsi Exp $
+
+CCMDEP_PROG = ccmakedep
+
+#ifdef ExportListGenSource
+EXPORTLISTGEN = exportlistgen
+#endif
+
+#if defined(Win32Architecture) && !defined(CrossCompiling)
+CMKDIRHIER = mkdirhier.exe
+#endif
+
+GCCMDEP_PROG = gccmakedep
+
+#if HasSymLinks
+#if CrossCompiling
+LNDIR_PROG = HostProgramTargetName(lndir)
+#else
+LNDIR_PROG = ProgramTargetName(lndir)
+#endif
+#endif
+
+#if CrossCompiling
+MAKESTRS_PROG = HostProgramTargetName(makestrs)
+REVPATH_PROG = HostProgramTargetName(revpath)
+#else
+MAKESTRS_PROG = ProgramTargetName(makestrs)
+REVPATH_PROG = ProgramTargetName(revpath)
+#endif
+
+#if BuildRman
+RMAN_PROG = HostProgramTargetName(rman)
+#endif
+
+PROGRAMS = $(RMAN_PROG) $(LNDIR_PROG) $(MAKESTRS_PROG) \
+ $(REVPATH_PROG) $(EXPORTLISTGEN) $(CMKDIRHIER)
+DEPLIBS =
+#ifndef Win32Architecture
+ EXTRA_LIBRARIES =
+#endif
+#ifdef LinuxArchitecture
+ PREPROCESSCMD_MKDEPEND = PreProcessCmd StandardCppDefines $(PROJECT_DEFINES)
+#else
+ PREPROCESSCMD_MKDEPEND = $(PREPROCESSCMD)
+#endif
+
+XCOMM Some compilers generate fatal errors if an -L directory does
+XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
+ LDPRELIB =
+ LDPRELIBS =
+#if CrossCompiling
+ LDPOSTLIBS =
+ LDPOSTLIB =
+#endif
+
+all:: xmkmf mergelib $(CCMDEP_PROG) $(GCCMDEP_PROG) $(PROGRAMS)
+
+makedependonly:: $(CCMDEP_PROG) $(GCCMDEP_PROG)
+
+#if HasGcc
+GCCCMD = $(CC)
+#else
+GCCCMD = gcc
+#endif
+
+#if CrossCompiling
+includes:: HostProgramTargetName(makestrs)
+#else
+includes:: ProgramTargetName(makestrs)
+#endif
+
+#ifdef ExportListGenSource
+CppScriptTarget(exportlistgen,ExportListGenSource,-DCXXFILT=$(CXXFILT),)
+InstallNamedProg(exportlistgen,exportlistgen,$(BINDIR))
+#endif
+
+CppScriptTarget(xmkmf,xmkmf.cpp,-DCONFIGDIRSPEC='"'"-I$(CONFIGDIR)"'"',$(ICONFIGFILES))
+CppScriptTarget(ccmakedep,mdepend.cpp,-DPREPROC='"'"$(PREPROCESSCMD_MKDEPEND)"'"',$(ICONFIGFILES))
+CppScriptTarget(mergelib,mergelib.cpp,"-DARCMD=$(AR)" "-DRANLIB=$(RANLIB)",$(ICONFIGFILES))
+CppScriptTarget(gccmakedep,gccmdep.cpp,-DCCCMD='"'"$(GCCCMD)"'"' -DRMCMD='"'"$(RM)"'"' -DLNCMD='"'"$(LN)"'"' -DMVCMD='"'"$(MV)"'"',$(ICONFIGFILES))
+
+#ifndef OpenBSDArchitecture
+#if HasSymLinks
+#if CrossCompiling
+SimpleHostProgramTarget_2(lndir)
+#else
+AllTarget(lndir)
+SimpleProgramTarget_2(lndir)
+#endif
+#endif
+#endif
+
+#if defined(Win32Architecture) && !defined(CrossCompiling)
+AllTarget(ProgramTargetName(mkdirhier))
+SimpleProgramTarget_3(mkdirhier)
+#endif
+
+#if CrossCompiling
+AllTarget(HostProgramTargetName(makestrs))
+SimpleHostProgramTarget_1(makestrs)
+AllTarget(HostProgramTargetName(revpath))
+SimpleHostProgramTarget_4(revpath)
+#else
+AllTarget(ProgramTargetName(makestrs))
+SimpleProgramTarget_1(makestrs)
+AllTarget(ProgramTargetName(revpath))
+SimpleProgramTarget_4(revpath)
+#endif
+
+#if BuildRman
+rmanonly:: $(RMAN_PROG)
+
+VOLLIST="1:2:3:4:5:6:7:8:9:o:l:n:p"
+MANTITLEPRINTF="%s(%s) manual page"
+MANREFPRINTF="%s.%s.html"
+RMANVERSION="3.0.8+X.Org"
+#if CrossCompiling
+AllTarget(HostProgramTargetName(rman))
+SimpleHostProgramTarget_3(rman)
+#else
+AllTarget(ProgramTargetName(rman))
+SimpleProgramTarget_5(rman)
+#endif
+SpecialCObjectRule(rman,NullParameter,-DVOLLIST='$(VOLLIST)' -DMANTITLEPRINTF='$(MANTITLEPRINTF)' -DMANREFPRINTF='$(MANREFPRINTF)' -DPOLYGLOTMANVERSION='$(RMANVERSION)' -DXOrg)
+LinkSourceFile(rman.c,$(TOP)/extras/rman)
+LinkFile(rman.man,$(TOP)/extras/rman/rman.1)
+#endif
+
+InstallManPage(xmkmf,$(MANDIR))
+
+InstallNamedProg(xmkmf,xmkmf,$(BINDIR))
+InstallNamedProg(mkdirhier.sh,mkdirhier,$(BINDIR))
+InstallManPage(mkdirhier,$(MANDIR))
+InstallNamedProg(gccmakedep,gccmakedep,$(BINDIR))
+InstallManPage(gccmakedep,$(MANDIR))
+#if defined(QNX4Architecture) || defined(NTOArchitecture)
+InstallNamedProg(install.sh,install,$(BINDIR))
+#endif
+InstallDriverSDKNamedProg(mkdirhier.sh,mkdirhier.sh,$(DRIVERSDKDIR)/config/util)
+InstallDriverSDKNamedProg(gccmakedep,gccmakedep,$(DRIVERSDKDIR)/config/util)
+InstallNamedProg(mergelib,mergelib,$(BINDIR))
+InstallManPage(mergelib,$(MANDIR))
+InstallNamedProg(makeg.sh,makeg,$(BINDIR))
+InstallManPage(makeg,$(MANDIR))
+InstallNamedProg(cleanlinks.sh,cleanlinks,$(BINDIR))
+InstallManPage(cleanlinks,$(MANDIR))
+#if HasPerl
+InstallNamedProg(mkhtmlindex.pl,mkhtmlindex,$(BINDIR))
+#else
+InstallNamedProg(mkhtmlindex.sh,mkhtmlindex,$(BINDIR))
+#endif
+InstallManPage(mkhtmlindex,$(MANDIR))
+InstallNamedProg(ccmakedep,ccmakedep,$(BINDIR))
+InstallManPage(ccmakedep,$(MANDIR))
+InstallDriverSDKNamedProg(ccmakedep,ccmakedep,$(DRIVERSDKDIR)/config/util)
+#if SystemV || SystemV4
+InstallNamedProg(bsdinst.sh,bsdinst,$(BINDIR))
+InstallDriverSDKNamedProg(bsdinst.sh,bsdinst.sh,$(DRIVERSDKDIR)/config/util)
+#endif
+
+InstallDriverSDKNamedProg(revpath,revpath,$(DRIVERSDKDIR)/config/util)
+#ifdef OS2Architecture
+InstallNamedProg(makedef.cmd,makedef.cmd,$(BINDIR))
+#endif
diff --git a/nx-X11/config/util/Makefile.ini b/nx-X11/config/util/Makefile.ini
new file mode 100644
index 000000000..17d8d74d6
--- /dev/null
+++ b/nx-X11/config/util/Makefile.ini
@@ -0,0 +1,20 @@
+# $Xorg: Makefile.ini,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+#
+# A way to get lndir built the first time, before you have imake up
+# and running. You may well have to specify OSFLAGS=-D<something> to
+# get it to compile, which values are embedded in config files. What
+# you would pass as BOOTSTRAPCFLAGS might work.
+
+OSFLAGS =
+CC = cc
+CDEBUGFLAGS = -O
+INCLUDES = -I.
+CFLAGS = $(OSFLAGS) $(CDEBUGFLAGS) $(INCLUDES)
+SHELL = /bin/sh
+RM = rm -f
+LN = ln -s
+
+lndir:
+ $(LN) ../../include X11
+ $(CC) -o lndir $(CFLAGS) lndir.c
+ $(RM) X11
diff --git a/nx-X11/config/util/aminstall.sh b/nx-X11/config/util/aminstall.sh
new file mode 100644
index 000000000..19a8a4d5a
--- /dev/null
+++ b/nx-X11/config/util/aminstall.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+# $Xorg: aminstall.sh,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+# aminstall - transfer cross-compiled files to system running Amoeba.
+# Usage: aminstall binary-directory [-s stksz] unix-source amoeba-dest
+
+#
+# Default soap mask for files
+#
+SPMASK=0xFF:2:2
+export SPMASK
+PROG=$0
+USAGE="Usage: $PROG binary-directory unix-source amoeba-dest"
+
+#
+# Argument check
+#
+case $# in
+3|5) ;;
+*) echo $USAGE >&2
+ exit 1
+ ;;
+esac
+
+bindir=$1
+stksz=
+case $2 in
+-s) if [ $# -ne 5 ]
+ then
+ echo $USAGE >&2
+ exit 1
+ fi
+ stksz="-s $3"
+ shift
+ shift
+ ;;
+esac
+
+unxfile=$2
+dest=$3
+
+#
+# Change /public .... into /super (just for installation)
+#
+stripped=`echo $dest | sed 's:^/public::'`
+if [ X$dest != X$stripped ]; then
+ dest=/super$stripped
+fi
+
+#
+# If the file already exists, then delete it
+#
+INFO=`$bindir/std_info $dest 2>&1`
+case $INFO in
+*"not found"*) ;;
+*failed*) ;;
+*bytes*) $bindir/del -f $dest
+ ;;
+/??????) echo $PROG: cannot install over directory 1>&2
+ exit
+ ;;
+*) $bindir/del -d $dest
+ ;;
+esac
+
+#
+# Transfer the file to Amoeba
+#
+$bindir/../bin.scripts/ainstall $stksz $unxfile $dest > /dev/null 2>&1
+if [ $? -ne 0 ]
+then
+ echo "This is not binary - using tob"
+ $bindir/tob $unxfile $dest
+fi
+
diff --git a/nx-X11/config/util/bsdinst.sh b/nx-X11/config/util/bsdinst.sh
new file mode 100644
index 000000000..fc2673c13
--- /dev/null
+++ b/nx-X11/config/util/bsdinst.sh
@@ -0,0 +1,168 @@
+#!/bin/sh
+
+# $XFree86: xc/config/util/bsdinst.sh,v 3.3 1996/12/23 05:56:13 dawes Exp $
+#
+# This accepts bsd-style install arguments and makes the appropriate calls
+# to the System V install.
+# $Xorg: bsdinst.sh,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+
+flags=""
+dst=""
+src=""
+dostrip=""
+owner=""
+group=""
+mode=""
+bargs=$*
+
+while [ x$1 != x ]; do
+ case $1 in
+ -c) shift
+ continue;;
+
+ -m) flags="$flags $1 $2 "
+ mode="$2"
+ shift
+ shift
+ continue;;
+
+ -o) flags="$flags -u $2 "
+ owner="$2"
+ shift
+ shift
+ continue;;
+
+ -g) flags="$flags $1 $2 "
+ group="$2"
+ shift
+ shift
+ continue;;
+
+ -s) dostrip="strip"
+ shift
+ continue;;
+
+ *) if [ x$src = x ]
+ then
+ src=$1
+ else
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x$src = x ]
+then
+ echo "$0: no input file specified"
+ exit 1
+fi
+
+if [ x$dst = x ]
+then
+ echo "$0: no destination specified"
+ exit 1
+fi
+
+if [ -x /usr/ucb/install ]
+then
+ if [ -d "$dst" ]
+ then
+ dst=$dst/`basename "$src"`
+ fi
+ case "$group" in
+ "")
+ bargs="-g other $bargs"
+ ;;
+ esac
+ /usr/ucb/install $bargs
+ if [ x$dostrip = xstrip -a -x /usr/bin/mcs ]
+ then
+ /usr/bin/mcs -d $dst
+ fi
+ exit 0
+fi
+
+case "$mode" in
+"")
+ ;;
+*)
+ case "$owner" in
+ "")
+ flags="$flags -u root"
+ ;;
+ esac
+ ;;
+esac
+
+
+# set up some variable to be used later
+
+rmcmd=""
+srcdir="."
+
+# if the destination isn't a directory we'll need to copy it first
+
+if [ ! -d $dst ]
+then
+ dstbase=`basename $dst`
+ cp $src /tmp/$dstbase
+ rmcmd="rm -f /tmp/$dstbase"
+ src=$dstbase
+ srcdir=/tmp
+ dst="`echo $dst | sed 's,^\(.*\)/.*$,\1,'`"
+ if [ x$dst = x ]
+ then
+ dst="."
+ fi
+fi
+
+
+# If the src file has a directory, copy it to /tmp to make install happy
+
+srcbase=`basename $src`
+
+if [ "$src" != "$srcbase" ] && [ "$src" != "./$srcbase" ]
+then
+ cp $src /tmp/$srcbase
+ src=$srcbase
+ srcdir=/tmp
+ rmcmd="rm -f /tmp/$srcbase"
+fi
+
+# do the actual install
+
+if [ -f /usr/sbin/install ]
+then
+ installcmd=/usr/sbin/install
+elif [ -f /etc/install ]
+then
+ installcmd=/etc/install
+else
+ installcmd=install
+fi
+
+# This rm is commented out because some people want to be able to
+# install through symbolic links. Uncomment it if it offends you.
+# rm -f $dst/$srcbase
+(cd $srcdir ; $installcmd -f $dst $flags $src)
+
+if [ x$dostrip = xstrip ]
+then
+ strip $dst/$srcbase
+ if [ -x /usr/bin/mcs ]
+ then
+ /usr/bin/mcs -d $dst/$srcbase
+ fi
+fi
+
+if [ x$mode != x ]
+then
+ chmod $mode $dst/$srcbase
+fi
+
+# and clean up
+
+$rmcmd
+
diff --git a/nx-X11/config/util/buildos2.cmd b/nx-X11/config/util/buildos2.cmd
new file mode 100644
index 000000000..cd5baa24f
--- /dev/null
+++ b/nx-X11/config/util/buildos2.cmd
@@ -0,0 +1 @@
+make CC="gcc -D__UNIXOS2__" BOOTSTRAPCFLAGS=-Zexe World 2>&1 | tee World.log
diff --git a/nx-X11/config/util/ccmakedep.man b/nx-X11/config/util/ccmakedep.man
new file mode 100644
index 000000000..20d9e82f8
--- /dev/null
+++ b/nx-X11/config/util/ccmakedep.man
@@ -0,0 +1,142 @@
+.TH ccmakedep 1 __xorgversion__
+.SH NAME
+ccmakedep \- create dependencies in makefiles using a C compiler
+.SH SYNOPSIS
+.B ccmakedep
+[
+.BI cpp-flags
+] [
+.BI \-w width
+] [
+.BI \-s magic-string
+] [
+.BI \-f makefile
+] [
+.BI \-o object-suffix
+] [
+.B \-v
+] [
+.B \-a
+] [
+.BI \-cc compiler
+] [
+\-\^\-
+.I options
+\-\^\-
+]
+.I sourcefile
+\^.\|.\|.
+.SH DESCRIPTION
+The
+.B ccmakedep
+program calls a C compiler to preprocess each
+.IR sourcefile ,
+and uses the output to construct
+.I makefile
+rules describing their dependencies.
+These rules instruct
+.BR make (1)
+on which object files must be recompiled when a dependency has changed.
+.PP
+By default,
+.B ccmakedep
+places its output in the file named
+.I makefile
+if it exists, otherwise
+.I Makefile.
+An alternate makefile may be specified with the
+.B \-f
+option.
+It first searches the makefile for a line beginning with
+.sp
+\& # DO NOT DELETE
+.sp
+or one provided with the
+.B \-s
+option, as a delimiter for the dependency output.
+If it finds it, it will delete everything following this up to the end of
+the makefile and put the output after this line.
+If it doesn't find it, the program will append the string to the makefile
+and place the output after that.
+.SH EXAMPLE
+Normally,
+.B ccmakedep
+will be used in a makefile target so that typing 'make depend' will bring
+the dependencies up to date for the makefile.
+For example,
+.nf
+ SRCS\0=\0file1.c\0file2.c\0.\|.\|.
+ CFLAGS\0=\0\-O\0\-DHACK\0\-I\^.\^.\^/foobar\0\-xyz
+ depend:
+ ccmakedep\0\-\^\-\0$(CFLAGS)\0\-\^\-\0$(SRCS)
+.fi
+.SH OPTIONS
+The program will ignore any option that it does not understand, so you may
+use the same arguments that you would for
+.BR cc (1),
+including
+.B \-D
+and
+.B \-U
+options to define and undefine symbols and
+.B \-I
+to set the include path.
+.TP
+.B \-a
+Append the dependencies to the file instead of replacing existing
+dependencies.
+.TP
+.BI \-cc compiler
+Use this compiler to generate dependencies.
+.TP
+.BI \-f makefile
+Filename.
+This allows you to specify an alternate makefile in which
+.B ccmakedep
+can place its output.
+Specifying \(lq\-\(rq as the file name (that is,
+.BR \-f\- )
+sends the output to standard output instead of modifying an existing file.
+.TP
+.BI \-s string
+Starting string delimiter.
+This option permits you to specify a different string for
+.B ccmakedep
+to look for in the makefile.
+The default is \(lq# DO NOT DELETE\(rq.
+.TP
+.BI \-v
+Be verbose: display the C compiler command before running it.
+.TP
+.BI \-\^\- " options " \-\^\-
+If
+.B ccmakedep
+encounters a double hyphen (\-\^\-) in the argument list, then any
+unrecognized arguments following it will be silently ignored.
+A second double hyphen terminates this special treatment.
+In this way,
+.B ccmakedep
+can be made to safely ignore esoteric compiler arguments that might
+normally be found in a CFLAGS
+.B make
+macro (see the
+.B EXAMPLE
+section above).
+.BR \-D ,
+.BR \-I ,
+and
+.B \-U
+options appearing between the pair of double hyphens are still processed
+normally.
+.SH "SEE ALSO"
+.BR cc (1),
+.BR make (1),
+.BR makedepend (1),
+.BR ccmakedep (1).
+.SH AUTHOR
+.B ccmakedep
+was written by the X Consortium.
+.PP
+Colin Watson wrote this manual page, originally for the Debian Project,
+based partly on the manual page for
+.BR makedepend (1).
diff --git a/nx-X11/config/util/checktree.c b/nx-X11/config/util/checktree.c
new file mode 100644
index 000000000..8bebdc5a3
--- /dev/null
+++ b/nx-X11/config/util/checktree.c
@@ -0,0 +1,339 @@
+/* $Xorg: checktree.c,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
+
+/*
+
+Copyright (c) 1993, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+*/
+/* $XFree86: xc/config/util/checktree.c,v 1.3 2001/07/29 05:01:10 tsi Exp $ */
+
+#include <X11/Xos.h>
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <errno.h>
+
+#ifndef X_NOT_POSIX
+#include <dirent.h>
+#else
+#ifdef SYSV
+#include <dirent.h>
+#else
+#ifdef USG
+#include <dirent.h>
+#else
+#include <sys/dir.h>
+#ifndef dirent
+#define dirent direct
+#endif
+#endif
+#endif
+#endif
+
+#ifdef S_IFLNK
+#define Stat lstat
+#else
+#define Stat stat
+#endif
+
+#define CHARSALLOWED \
+"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_."
+
+#define fmode_bits_minset 0444
+#define fmode_bits_maxset 0777
+#define fmode_bits_write 0222
+#define dmode_bits_minset 0775
+
+int dorcs = 1; /* check RCS file */
+int do83 = 1; /* check for 8+3 clash */
+int doro = 1; /* disallow writable (checked out) files */
+int dodot = 1; /* disallow .files */
+int dotwiddle = 1; /* disallow file~ */
+
+int dontcare(fn)
+ char *fn;
+{
+ char *cp;
+
+ if (fn[strlen(fn) - 1] == '~')
+ return 1;
+ cp = strrchr(fn, '.');
+ return cp && (!strcmp(cp + 1, "Z") || !strcmp(cp + 1, "PS"));
+}
+
+checkfile(fullname, fn, fs)
+ char *fullname, *fn;
+ struct stat *fs;
+{
+ char *cp;
+ int maxlen = 12;
+ int len, mode;
+
+ if (dodot && fn[0] == '.') {
+ printf("dot file: %s\n", fullname);
+ return;
+ }
+ for (len = 0, cp = fn; *cp; len++, cp++) {
+ if (!strchr(CHARSALLOWED, *cp)) {
+ if (dotwiddle || *cp != '~' || cp[1])
+ printf ("bad character: %s\n", fullname);
+ break;
+ }
+ }
+ if (len > maxlen && !dontcare(fn))
+ printf("too long (%d): %s\n", len, fullname);
+#ifdef S_IFLNK
+ if ((fs->st_mode & S_IFLNK) == S_IFLNK) {
+ printf("symbolic link: %s\n", fullname);
+ return;
+ }
+#endif
+ mode = fs->st_mode & (~S_IFMT);
+ if ((fs->st_mode & S_IFDIR) == S_IFDIR) {
+ maxlen = 14;
+ if ((mode & dmode_bits_minset) != dmode_bits_minset)
+ printf("directory mode 0%o not minimum 0%o: %s\n",
+ mode, dmode_bits_minset, fullname);
+ } else if ((fs->st_mode & S_IFREG) != S_IFREG)
+ printf("not a regular file: %s\n", fullname);
+ else {
+ if ((mode & fmode_bits_minset) != fmode_bits_minset)
+ printf("file mode 0%o not minimum 0%o: %s\n",
+ fs->st_mode, fmode_bits_minset, fullname);
+ if (fs->st_nlink != 1)
+ printf("%d links instead of 1: %s\n", fs->st_nlink, fullname);
+ if (doro && (mode & fmode_bits_write) && !dontcare(fn))
+ printf("writable: %s\n", fullname);
+ }
+ if ((mode & ~fmode_bits_maxset) != 0)
+ printf("mode 0%o outside maximum set 0%o: %s\n",
+ mode, fmode_bits_maxset, fullname);
+}
+
+void
+checkrcs(dir, p)
+ char *dir;
+ char *p;
+{
+ DIR *df;
+ struct dirent *dp;
+ struct stat fs;
+ int i;
+
+ if (!(df = opendir(dir))) {
+ fprintf(stderr, "cannot open: %s\n", dir);
+ return;
+ }
+ while (dp = readdir(df)) {
+ i = strlen(dp->d_name);
+ if (dp->d_name[i - 1] == 'v' && dp->d_name[i - 2] == ',') {
+ strcpy(p, dp->d_name);
+ p[i - 2] = '\0';
+ if (Stat(dir, &fs) < 0) {
+ strcpy(p, "RCS/");
+ strcat(p, dp->d_name);
+ printf("not used: %s\n", dir);
+ }
+ }
+ }
+ closedir(df);
+}
+
+int
+Strncmp(cp1, cp2, n)
+ char *cp1, *cp2;
+ int n;
+{
+ char c1, c2;
+
+ for (; --n >= 0 && *cp1 && *cp2; cp1++, cp2++) {
+ if (*cp1 != *cp2) {
+ c1 = *cp1;
+ c2 = *cp2;
+ if (c1 >= 'A' && c1 <= 'Z')
+ c1 += 'a' - 'A';
+ else if (c1 == '-')
+ c1 = '_';
+ if (c2 >= 'A' && c2 <= 'Z')
+ c2 += 'a' - 'A';
+ else if (c2 == '-')
+ c2 = '_';
+ if (c1 != c2)
+ return (int)c1 - (int)c2;
+ }
+ }
+ if (n < 0)
+ return 0;
+ return (int)*cp1 - (int)*cp2;
+}
+
+int
+fncomp(n1, n2)
+ char **n1, **n2;
+{
+ int i, res;
+ char *cp1, *cp2;
+ char c1, c2;
+
+ i = Strncmp(*n1, *n2, 8);
+ if (!i) {
+ cp1 = strrchr(*n1, '.');
+ cp2 = strrchr(*n2, '.');
+ if (cp1 || cp2) {
+ if (!cp1)
+ return -1;
+ if (!cp2)
+ return 1;
+ i = Strncmp(cp1 + 1, cp2 + 1, 3);
+ }
+ }
+ return i;
+}
+
+void
+checkdir(dir)
+ char *dir;
+{
+ DIR *df;
+ struct dirent *dp;
+ char *p;
+ struct stat fs;
+ char *s, **names;
+ int i, max;
+
+ if (!(df = opendir(dir))) {
+ fprintf(stderr, "cannot open: %s\n", dir);
+ return;
+ }
+ p = dir + strlen(dir);
+ if (p[-1] != '/')
+ *p++ = '/';
+ i = 0;
+ max = 0;
+ names = NULL;
+ while (dp = readdir(df)) {
+ strcpy(p, dp->d_name);
+ if (Stat(dir, &fs) < 0) {
+ perror(dir);
+ continue;
+ }
+ if ((fs.st_mode & S_IFDIR) == S_IFDIR) {
+ if (dp->d_name[0] == '.' &&
+ (dp->d_name[1] == '\0' || (dp->d_name[1] == '.' &&
+ dp->d_name[2] == '\0')))
+ continue;
+ if (!strcmp (dp->d_name, "RCS")) {
+ if (dorcs)
+ checkrcs(dir, p);
+ continue;
+ }
+ if (!strcmp (dp->d_name, "SCCS"))
+ continue;
+ if (!strcmp (dp->d_name, "CVS.adm"))
+ continue;
+ checkfile(dir, p, &fs);
+ checkdir(dir);
+ continue;
+ }
+ checkfile(dir, p, &fs);
+ if (dorcs && !dontcare(dp->d_name)) {
+ strcpy(p, "RCS/");
+ strcat(p, dp->d_name);
+ strcat(p, ",v");
+ if (Stat(dir, &fs) < 0) {
+ strcpy(p, dp->d_name);
+ printf("no RCS: %s\n", dir);
+ }
+ }
+ if (do83) {
+ s = (char *)malloc(strlen(dp->d_name) + 1);
+ strcpy(s, dp->d_name);
+ if (i >= max) {
+ max += 25;
+ if (names)
+ names = (char **)realloc((char *)names,
+ (max + 1) * sizeof(char *));
+ else
+ names = (char **)malloc((max + 1) * sizeof(char *));
+ }
+ names[i++] = s;
+ }
+ }
+ closedir(df);
+ if (do83) {
+ qsort((char *)names, i, sizeof(char *), fncomp);
+ max = i - 1;
+ *p = '\0';
+ for (i = 0; i < max; i++) {
+ if (!fncomp(&names[i], &names[i + 1]))
+ printf("8+3 clash: %s%s and %s\n",
+ dir, names[i], names[i + 1]);
+ free(names[i]);
+ }
+ if (names) {
+ free(names[i]);
+ free((char *)names);
+ }
+ }
+}
+
+main(argc, argv)
+ int argc;
+ char **argv;
+{
+ char buf[2048];
+
+ argc--;
+ argv++;
+ while (argc > 0) {
+ if (!strcmp(*argv, "-rcs")) {
+ dorcs = 0;
+ argc--;
+ argv++;
+ } else if (!strcmp(*argv, "-83")) {
+ do83 = 0;
+ argc--;
+ argv++;
+ } else if (!strcmp(*argv, "-ro")) {
+ doro = 0;
+ argc--;
+ argv++;
+ } else if (!strcmp(*argv, "-dot")) {
+ dodot = 0;
+ argc--;
+ argv++;
+ } else if (!strcmp(*argv, "-twiddle")) {
+ dotwiddle = 0;
+ argc--;
+ argv++;
+ } else
+ break;
+ }
+ if (!argc) {
+ strcpy(buf, ".");
+ checkdir(buf);
+ } else
+ while (--argc >= 0) {
+ strcpy(buf, *argv++);
+ checkdir(buf);
+ }
+}
diff --git a/nx-X11/config/util/chownxterm.c b/nx-X11/config/util/chownxterm.c
new file mode 100644
index 000000000..868f99c3d
--- /dev/null
+++ b/nx-X11/config/util/chownxterm.c
@@ -0,0 +1,79 @@
+/* $Xorg: chownxterm.c,v 1.4 2001/02/09 02:03:16 xorgcvs Exp $ */
+/*
+
+Copyright (c) 1993, 1994, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+
+/*
+ * chownxterm --- make xterm suid root
+ *
+ * By Stephen Gildea, December 1993
+ */
+
+
+#define XTERM_PATH "/x11/programs/xterm/xterm"
+
+#include <stdio.h>
+#include <errno.h>
+
+char *prog_name;
+
+void help()
+{
+ if (setgid(getgid()) == -1)
+ exit(1);
+ if (setuid(getuid()) == -1)
+ exit(1);
+ printf("chown-xterm makes %s suid root\n", XTERM_PATH);
+ printf("This is necessary on Ultrix for /dev/tty operation.\n");
+ exit(0);
+}
+
+void print_error(err_string)
+ char *err_string;
+{
+ if (setgid(getgid()) == -1)
+ exit(1);
+ if (setuid(getuid()) == -1)
+ exit(1);
+ fprintf(stderr, "%s: \"%s\"", prog_name, err_string);
+ perror(" failed");
+ exit(1);
+}
+
+main(argc, argv)
+ int argc;
+ char **argv;
+{
+ prog_name = argv[0];
+ if (argc >= 2 && strcmp(argv[1], "-help") == 0) {
+ help();
+ } else {
+ if (chown(XTERM_PATH, 0, -1) != 0)
+ print_error("chown root " XTERM_PATH);
+ if (chmod(XTERM_PATH, 04555) != 0)
+ print_error("chmod 4555 " XTERM_PATH);
+ }
+ exit(0);
+}
diff --git a/nx-X11/config/util/cleanlinks.man b/nx-X11/config/util/cleanlinks.man
new file mode 100644
index 000000000..d550ef5a4
--- /dev/null
+++ b/nx-X11/config/util/cleanlinks.man
@@ -0,0 +1,29 @@
+.TH cleanlinks 1 __vendorversion__
+.SH NAME
+cleanlinks \- remove dangling symbolic links and empty directories
+.SH SYNOPSIS
+.B cleanlinks
+.SH DESCRIPTION
+The
+.I cleanlinks
+program searches the directory tree descended from the current directory for
+symbolic links whose targets do not exist, and removes them.
+It then removes all empty directories in that directory tree.
+.PP
+.I cleanlinks
+is useful for cleaning up a shadow link tree created with
+.BR lndir (1)
+after files have been removed from the real directory.
+.SH DIAGNOSTICS
+A message will be printed upon encountering each dangling symlink and empty
+directory.
+.SH SEE ALSO
+.BR lndir (1).
+.SH AUTHOR
+.PP
+The version of the
+.I cleanlinks
+included in this X.Org Foundation release was originally written
+by David Dawes wrote as a part of XFree86.
+.PP
+Colin Watson wrote this manual page, originally for the Debian Project.
diff --git a/nx-X11/config/util/cleanlinks.sh b/nx-X11/config/util/cleanlinks.sh
new file mode 100644
index 000000000..4e1a8ead9
--- /dev/null
+++ b/nx-X11/config/util/cleanlinks.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# Copyright © 2000, 2003 by The XFree86 Project, Inc
+#
+# Remove dangling symlinks and empty directories from a shadow link tree
+# (created with lndir).
+#
+# Author: David Dawes <dawes@xfree86.org>
+#
+# $XFree86: xc/config/util/cleanlinks.sh,v 1.2 2003/04/15 03:05:16 dawes Exp $
+
+find . -type l -print |
+(
+ read i
+ while [ X"$i" != X ]; do
+ if [ ! -f "$i" ]; then
+ echo $i is a dangling symlink, removing
+ rm -f "$i"
+ fi
+ read i
+ done
+)
+
+echo Removing empty directories ...
+#find . -type d -depth -print | xargs rmdir > /dev/null 2>&1
+find . -type d -depth -empty -print -exec rmdir {} \;
+exit 0
diff --git a/nx-X11/config/util/crayar.sh b/nx-X11/config/util/crayar.sh
new file mode 100644
index 000000000..6296de51d
--- /dev/null
+++ b/nx-X11/config/util/crayar.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+lib=$1
+shift
+if cray2; then
+ bld cr $lib `lorder $* | tsort`
+else
+ ar clq $lib $*
+fi
+
diff --git a/nx-X11/config/util/elistgen.hp b/nx-X11/config/util/elistgen.hp
new file mode 100644
index 000000000..fe22e794e
--- /dev/null
+++ b/nx-X11/config/util/elistgen.hp
@@ -0,0 +1,202 @@
+XCOMM!/bin/sh
+XCOMM $Xorg: elistgen.hp,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+XCOMM
+XCOMM #########################################################################
+XCOMM Construct shared-library export lists for HP-UX based on standardized
+XCOMM export list description file
+XCOMM
+XCOMM Usage: exportlistgen libfoo.sl libfoo.elist > libfoo.lopt
+XCOMM
+XCOMM libfoo.sl => shared library of interest
+XCOMM libfoo.elist => Meta description of necessary export list.
+XCOMM
+XCOMM The output may then be passed to the linker to reconstruct the
+XCOMM shared library. For unknown reasons naming only exported symbols
+XCOMM with "+e" does not work for debuggable C++ code, even though "nm"
+XCOMM reports no difference between the resulting libraries. The linker
+XCOMM complains that "first non-inline virtual function" is not defined for
+XCOMM vtables. We instead hide internal symbols with "-h" as a work-around.
+XCOMM
+XCOMM Author: Aloke Gupta 5/25/94.
+XCOMM (c) Copyright 1996 Digital Equipment Corporation.
+XCOMM (c) Copyright 1994,1996 Hewlett-Packard Company.
+XCOMM (c) Copyright 1996 International Business Machines Corp.
+XCOMM (c) Copyright 1996 Sun Microsystems, Inc.
+XCOMM (c) Copyright 1996 Novell, Inc.
+XCOMM (c) Copyright 1996 FUJITSU LIMITED.
+XCOMM (c) Copyright 1996 Hitachi.
+XCOMM
+XCOMM #########################################################################
+
+XCOMM Utility programs
+FILTER=CXXFILT # C++ symbol demangler
+AWK=awk # awk
+PATH=/usr/bin:/bin:/usr/ucb # For nm, cat, pr, expand, awk, c++filt
+
+XCOMM Temporary files
+EXPORTLIST=/tmp/elistgen1.$$ # list of export symbols from "libfoo.elist"
+NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
+FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of NMLIST
+
+XCOMM Print useful information at the top of the output
+echo "#" `date`
+echo "# This linker options list was produced by" $0
+echo "# Input export list description taken from:" $2
+echo "# Target library:" $1
+echo "# Target Operating System:" `uname -msrv`
+echo "# "
+
+XCOMM Extract the globally visible symbols from target library
+XCOMM The NMLIST generated here is later used to cross-check the symbols in the
+XCOMM supplied export-list.
+XCOMM
+nm -p $1 | $AWK '
+ / [cCTDB][S ] [^\$]/{print $3} # Text, Data, BSS, or Secondary symbols
+' > $NMLIST
+
+XCOMM Demangle the global library symbols. This operation is necessary to
+XCOMM convert mangled C++ symbols into their C++ notation.
+${FILTER:-cat} $NMLIST > $FILTLIST
+
+XCOMM
+XCOMM Cleanup the export-list description file.
+XCOMM Note that C++ symbols may have embedded spaces in them.
+XCOMM
+cat $2 | $AWK '
+ BEGIN {
+ csyms = 0; # C language symbols in libfoo.list
+ cplusplus = 0; # C++ language symbols in libfoo.list
+ isyms = 0; # C internal symbols in libfoo.elist
+ icplusplus = 0; # C++ internal symbols in libfoo.elist
+ implicit = ""; # Handling of implicit symbols.
+ }
+ $1 == "default" {
+ # A default clause suppresses warnings about implicit symbols.
+ if ($2 != "" && $2 != "force" && $2 != "public" &&
+ $2 != "private" && $2 != "internal") {
+ print "# Warning: illegal default clause:", $2 | "cat 1>&2";
+ next;
+ }
+ if (implicit != "")
+ print "# Warning: multiple default clauses." | "cat 1>&2";
+ implicit = $2;
+ next;
+ }
+ $1 == "force" || $1 == "public" || $1 == "private" {
+ csyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "publicC++" || $1 == "privateC++" {
+ cplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "internal" {
+ isyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "internalC++" {
+ icplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ print $1 ";;" string;
+ next;
+ }
+ END {
+ printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n",
+ csyms, cplusplus, isyms, icplusplus) | "cat 1>&2";
+ if (implicit != "") {
+ print "# Unspecified symbols are " implicit "." | "cat 1>&2";
+ print "default;;" implicit;
+ }
+ }
+' > $EXPORTLIST
+
+XCOMM Read in the above files and write result to stdout. The contents
+XCOMM of NMLIST and FILTLIST are used to construct a symbol lookup table.
+XCOMM The contents of EXPORTLIST are converted with the help of this table.
+XCOMM Use ";" as a delimiter in the symbol lookup table.
+XCOMM
+(pr -m -s";" -t -w1024 $NMLIST $FILTLIST| expand -t 1;cat $EXPORTLIST ) | $AWK '
+ BEGIN {
+ FS = ";";
+ implicit = 0;
+ }
+ NF == 2 {
+ # This is "pr" output, i.e., symbol translation table.
+ syms[$2] = $1;
+ next;
+ }
+ NF == 3 && $1 == "default" {
+ # Treatment of unspecified symbols.
+ if ($3 == "internal" || $3 == "internalC++")
+ implicit = 1;
+ else if ($3 == "private" || $3 == "privateC++")
+ implicit = 2;
+ else if ($3 == "public" || $3 == "publicC++")
+ implicit = 3;
+ else # $3 == "force"
+ implicit = 4;
+ next;
+ }
+ NF == 3 {
+ # Parse our instructions for this symbol.
+ if ($1 == "internal" || $1 == "internalC++")
+ export = 1;
+ else if ($1 == "private" || $1 == "privateC++")
+ export = 2;
+ else if ($1 == "public" || $1 == "publicC++")
+ export = 3;
+ else # $1 == "force"
+ export = 4;
+
+ # Process it.
+ if (length(syms[$3]) > 0) {
+ if (donelist[$3])
+ print "# Warning: Duplicate entry for", $3,
+ "in export list" | "cat 1>&2";
+ if (donelist[$3] < export)
+ donelist[$3] = export;
+ } else {
+ if (export == 4)
+ donelist[$3] = export;
+ else
+ print "# Warning:", $3,
+ "was not in the nm list for this library" | "cat 1>&2";
+ }
+ next;
+ }
+ END {
+ # Force implicit exporting of errno.
+ if (! donelist["errno"])
+ donelist["errno"] = 4;
+
+ # Complain about some implicit symbols.
+ for (i in syms) {
+ if (!donelist[i] && (length(syms[i]) > 0)) {
+ # Ignore automatic symbols generated by the C++ compiler.
+ if (implicit == 0 &&
+ (syms[i] !~ /^__noperfopt__/) &&
+ (syms[i] !~ /^__ptbl_vec__/) &&
+ (syms[i] !~ /^__vtbl__[0-9]*_/) &&
+ (syms[i] !~ /^__cfront_version_[0-9]*_xxxxxxxx$/))
+ print "# Warning:", syms[i],
+ "was not in the export list" | "cat 1>&2";
+ donelist[i] = implicit;
+ }
+ if ((donelist[i] > 1) && (length(syms[i]) > 0))
+ print "-e", syms[i];
+ }
+ }
+'
+
+XCOMM Clean up temporary files
+rm $EXPORTLIST
+rm $NMLIST
+rm $FILTLIST
diff --git a/nx-X11/config/util/elistgen.ibm b/nx-X11/config/util/elistgen.ibm
new file mode 100644
index 000000000..d36869656
--- /dev/null
+++ b/nx-X11/config/util/elistgen.ibm
@@ -0,0 +1,220 @@
+XCOMM!/bin/sh
+XCOMM $Xorg: elistgen.ibm,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+XCOMM
+XCOMM #########################################################################
+XCOMM Construct shared-library export lists for IBM-AIX based on standardized
+XCOMM export list description file
+XCOMM
+XCOMM Usage: elistgen libfoo.sl libfoo.elist > libfoo.lopt
+XCOMM
+XCOMM libfoo.a => shared library of interest
+XCOMM libfoo.elist => Meta description of necessary export list.
+XCOMM
+XCOMM The output file, "libfoo.lopt" may then be passed to the IBM linker to
+XCOMM reconstruct the shared library, libfoo.sl.
+XCOMM
+XCOMM Author: Yanling Qi 10/03/94, Last updated 10/03/94
+XCOMM (c) Copyright 1996 Digital Equipment Corporation.
+XCOMM (c) Copyright 1996 Hewlett-Packard Company.
+XCOMM (c) Copyright 1994,1996 International Business Machines Corp.
+XCOMM (c) Copyright 1996 Sun Microsystems, Inc.
+XCOMM (c) Copyright 1996 Novell, Inc.
+XCOMM (c) Copyright 1996 FUJITSU LIMITED.
+XCOMM (c) Copyright 1996 Hitachi.
+XCOMM
+XCOMM #########################################################################
+
+#define HASH #
+
+XCOMM Utility programs
+FILTER=CXXFILT # C++ symbol demangler
+AWK=awk # awk
+
+XCOMM For dump, cat, pr, expand, awk, c++filt
+PATH=/usr/bin:/bin:/usr/ucb:/usr/lpp/xlC/bin
+
+XCOMM Temporary files
+EXPORTLIST=/tmp/elistgen1.$$ # export directives from "libfoo.list"
+NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
+FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of above
+
+XCOMM Print useful information
+echo "*" `date`
+echo "* This linker options list was produced by" $0
+echo "* Input export list description taken from:" $2
+echo "* Target library:" $1
+echo "* Target Operating System:" `uname`
+echo "*"
+
+XCOMM Extract the globally visible symbols from target library
+dump -g $1 | $AWK '$1 ~ /[0-9][0-9]/ && $2 !~ /^[\.]/ {print $2}' > $NMLIST
+
+XCOMM Demangle the global library symbols
+${FILTER:-cat} $NMLIST > $FILTLIST
+
+XCOMM
+XCOMM Clean up the export-list description file.
+XCOMM Note that C++ symbols may have embedded spaces in them.
+XCOMM
+$AWK '
+ BEGIN {
+ csyms = 0; # C language symbols in libfoo.list
+ cplusplus = 0; # C++ language symbols in libfoo.list
+ isyms = 0; # C internal symbols in libfoo.list
+ iplusplus = 0; # C++ internal symbols in libfoo.list
+ count = 0; # Running count of symbols
+ implicit = ""; # Handling of implicit symbols.
+ }
+ $1 == "default" {
+ HASH A default clause suppresses warnings about implicit symbols.
+ if ($2 != "" && $2 != "force" && $2 != "public" &&
+ $2 != "private" && $2 != "internal") {
+ print "# Warning: illegal default clause:", $2 | "cat 1>&2";
+ next;
+ }
+ if (implicit != "")
+ print "# Warning: multiple default clauses." | "cat 1>&2";
+ implicit = $2;
+ next;
+ }
+ $1 == "force" || $1 == "public" || $1 == "private" {
+ csyms ++;
+ symbol[count++] = $1 ";;" $2;
+ next;
+ }
+ $1 == "publicC++" || $1 == "privateC++" {
+ HASH forceC++ is unsupported because we only know how to demangle,
+ HASH not how to mangle symbols, and the final ld input file must
+ HASH be mangled.
+ cplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ symbol[count++] = $1 ";;" string;
+ next;
+ }
+ $1 == "internal" {
+ isyms ++;
+ symbol[count++] = $1 ";;" $2;
+ next;
+ }
+ $1 == "internalC++" {
+ iplusplus ++;
+ string = ";;" $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ symbol[count++] = $1 ";;" string;
+ next;
+ }
+ $1 == "#line" || $1 == "#" {
+ HASH cpp will have removed comments, but may have added other stuff.
+ next;
+ }
+ NF > 0 {
+ print "# Warning: unrecognized directive:", $0 | "cat 1>&2";
+ next;
+ }
+ END {
+ printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n",
+ csyms, cplusplus, isyms, iplusplus) | "cat 1>&2";
+ if (implicit != "") {
+ print "# Unspecified symbols are " implicit "." | "cat 1>&2";
+ print "default;;" implicit;
+ }
+ for (i in symbol)
+ print symbol[i];
+ }
+' $2 > $EXPORTLIST
+
+XCOMM
+XCOMM Read in the above files and write result to stdout. Use the
+XCOMM delimiter ";" to identify the entries in the symbol lookup table.
+XCOMM
+(pr -m -s";" -t -w1024 $NMLIST $FILTLIST | expand -t 1; cat $EXPORTLIST) | $AWK '
+ BEGIN {
+ FS = ";";
+ implicit = 0;
+ }
+ NF == 2 {
+ HASH This is "pr" output, i.e., symbol translation table
+ r2=$2
+ gsub(/ /,"",r2); # Remove spaces because c++filt is unpredictable
+ syms[r2] = $1;
+ r1=$1;
+ gsub(/ /,"",r1);
+ mangled[r1] = 1; # Save the mangling because the export lists
+ HASH sometimes use it instead of a prototype.
+ next;
+ }
+ NF == 3 && $1 == "default" {
+ HASH Treatment of unspecified symbols.
+ if ($3 == "internal")
+ implicit = 1;
+ else if ($3 == "private" || $3 == "privateC++")
+ implicit = 2;
+ else if ($3 == "public" || $3 == "publicC++")
+ implicit = 3;
+ else # $3 == "force"
+ implicit = 4;
+ next;
+ }
+ NF == 3 {
+ HASH Generate canonical demangled form as an alternate symbol.
+ alt=$3;
+ gsub(/ \.\.\./,",...",alt); # change " ..." to ",..." to match c++filt
+ gsub(/ /,"",alt); # remove all spaces
+ gsub(/\(void\)/,"()",alt); # change "(void)" to "()" to match c++filt
+
+ HASH Parse our instructions for this symbol.
+ if ($1 == "internal" || $1 == "internalC++")
+ export = 1;
+ else if ($1 == "private" || $1 == "privateC++")
+ export = 2;
+ else if ($1 == "public" || $1 == "publicC++")
+ export = 3;
+ else # $1 == "force"
+ export = 4;
+
+ HASH Process it.
+ if ((length(syms[alt]) > 0) || mangled[alt]) {
+ HASH This symbol is present in the library.
+ if (donelist[alt])
+ print "# Warning: Duplicate entry for", $3,
+ "in export list" | "cat 1>&2";
+ if (donelist[alt] < export) {
+ if (export > 1)
+ print syms[alt];
+ donelist[alt] = export;
+ }
+ } else {
+ HASH Print forced-export symbols without complaining.
+ if (export == 4) {
+ print alt;
+ donelist[alt] = export;
+ } else {
+ print "# Warning:", $3,
+ "was not in the nm list for this library" | "cat 1>&2";
+ }
+ }
+
+ next;
+ }
+ END {
+ HASH Process implicit symbols.
+ for (i in syms) {
+ if ((! donelist[i]) && (length(syms[i]) > 0)) {
+ HASH Do not complain about C++ virtual function tables.
+ if (implicit == 0 && syms[i] !~ /^__vft[0-9]*_/)
+ print "# Warning:", syms[i],
+ "was not in the export list" | "cat 1>&2";
+ if (implicit > 1)
+ print syms[i];
+ }
+ }
+ }
+'
+
+XCOMM Clean up temporary files
+rm $EXPORTLIST
+rm $NMLIST
+rm $FILTLIST
diff --git a/nx-X11/config/util/elistgen.sun b/nx-X11/config/util/elistgen.sun
new file mode 100644
index 000000000..f9af50ad1
--- /dev/null
+++ b/nx-X11/config/util/elistgen.sun
@@ -0,0 +1,267 @@
+XCOMM!/bin/sh -f
+XCOMM $Xorg: elistgen.sun,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+XCOMM
+XCOMM ########################################################################
+XCOMM Construct shared-library scoping mapfile for Solaris based on standardized
+XCOMM export list description file
+XCOMM
+XCOMM Usage: exportlistgen libfoo.so libfoo.elist > mapfile.scope
+XCOMM
+XCOMM libfoo.so => shared library of interest
+XCOMM libfoo.elist => Meta description of necessary export list.
+XCOMM
+XCOMM The output file, "mapfile.scope" may then be passed to the Solaris
+XCOMM linker to reconstruct the shared library, libfoo.so.
+XCOMM
+XCOMM ########################################################################
+XCOMM
+XCOMM $XFree86: xc/config/util/elistgen.sun,v 1.7 2001/01/17 16:39:01 dawes Exp $
+
+XCOMM Utility programs
+FILTER=CXXFILT # C++ symbol demangler
+AWK=nawk # Awk
+
+XCOMM For nm, cat, pr, sed, awk, c++filt
+PATH=/usr/bin:/bin:/usr/ccs/bin:/usr/ucb:$PATH
+
+XCOMM Try to detect broken versions of c++filt.
+if [ `echo _okay | ${FILTER:-cat}` != "_okay" ]; then
+ if [ -x /opt/SUNWspro/bin/c++filt ]; then
+ echo "# Your $FILTER is broken -- using /opt/SUNWspro/bin/c++filt."
+ FILTER=/opt/SUNWspro/bin/c++filt
+ else
+ echo "# ERROR: no working $FILTER available."
+ exit 1
+ fi;
+fi;
+
+XCOMM Temporary files
+EXPORTLIST=/tmp/elistgen1.$$ # export directives from "libfoo.list"
+NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
+FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of above
+
+XCOMM Print useful information at the top of the output
+echo "#" `date`
+echo "# This scoping mapfile was produced by" $0
+echo "# Export list description taken from:" $2
+echo "# Target library:" $1
+echo "# Target Operating System:" `uname -msrv`
+echo "# "
+
+XCOMM Extract the globally visible symbols from target library
+XCOMM The NMLIST generated here is later used to cross-check the symbols in the
+XCOMM nm stopped working on Solaris 2.5, use dump instead.
+nm -p $1 | $AWK '/ [ TDBS] /{print $3}' > $NMLIST
+XCOMM /usr/ccs/bin/dump -t -v $1 | $AWK '/(FUNC|OBJT).(GLOB|WEAK)/{print $8}' > $NMLIST
+
+XCOMM Extract the globally visible symbols from target library
+XCOMM The NMLIST generated here is later used to cross-check the symbols in the
+${FILTER:-cat} < $NMLIST > $FILTLIST
+
+XCOMM Clean up the export-list description file. Sort the directives.
+$AWK '
+ BEGIN {
+ csyms = 0; # C public symbols in libfoo.list
+ cplusplus = 0; # C++ public symbols in libfoo.list
+ isyms = 0; # C internal symbols in libfoo.list
+ iplusplus = 0; # C++ internal symbols in libfoo.list
+ implicit = ""; # Handling of implicit symbols
+ }
+ $1 == "default" {
+ # A default clause suppresses warnings about implicit symbols.
+ if ($2 != "" && $2 != "force" && $2 != "public" && $2 != "private" && $2 != "internal") {
+ print "# Warning: illegal default clause:", $2 | "cat 1>&2";
+ next;
+ }
+ if (implicit != "")
+ print "# Warning: multiple default clauses." | "cat 1>&2";
+ implicit = $2;
+ next;
+ }
+ $1 == "force" {
+ csyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "public" {
+ csyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "publicC++" {
+ cplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "private" {
+ csyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "privateC++" {
+ cplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "internal" {
+ isyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "internalC++" {
+ iplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++)
+ string = string " " $n;
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "#line" || $1 == "#" {
+ # cpp will have removed comments, but may have added other stuff.
+ next;
+ }
+ NF > 0 {
+ print "# Warning: unrecognized directive:", $0 | "cat 1>&2";
+ next;
+ }
+ END {
+ printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n", csyms, cplusplus, isyms, iplusplus) | "cat 1>&2";
+ if (implicit != "") {
+ print "# Unspecified symbols are " implicit "." | "cat 1>&2";
+ print "default;;" implicit;
+ }
+ }
+' $2 1>$EXPORTLIST
+
+
+XCOMM Read in the above files and write result to stdout. The contents
+XCOMM of NMLIST and FILTLIST are used to construct a symbol lookup table.
+XCOMM The contents of EXPORTLIST are converted with the help of this table.
+XCOMM Use ";" as a delimiter in the symbol lookup table.
+(pr -m -s";" -t -w1024 $NMLIST $FILTLIST | sed 's/ / /g'; cat $EXPORTLIST) | $AWK '
+ BEGIN {
+ FS = ";";
+ implicit = 0;
+ }
+ NF == 2 {
+ # This is "pr" output, i.e., symbol translation table
+ r2=$2;
+ gsub(/static /,"",r2); # remove keyword "static" as above
+ gsub(/ /,"",r2); # Remove spaces because c++filt is unpredictable
+ syms[r2] = $1;
+ r1=$1;
+ gsub(/ /,"",r1);
+ mangled[r1] = 1; # Save the mangling because the export lists
+ # sometimes use it instead of a prototype.
+ next;
+ }
+ NF == 3 && $1 == "default" {
+ # Treatment of unspecified symbols.
+ if ($3 == "internal" || $3 == "internalC++")
+ implicit = 1;
+ else if ($3 == "private" || $3 == "privateC++")
+ implicit = 2;
+ else if ($3 == "public" || $3 == "publicC++")
+ implicit = 3;
+ else # $3 == "force"
+ implicit = 4;
+ next;
+ }
+ NF == 3 {
+ # Generate canonical demangled form as an alternate symbol.
+ alt=$3;
+ gsub(/ \.\.\./,",...",alt); # change " ..." to ",..." to match c++filt
+ gsub(/ /,"",alt); # remove all spaces
+
+ # An export directive. Parse our instructions for this symbol.
+ if ($1 == "internal" || $1 == "internalC++")
+ export = 1;
+ else if ($3 == "private" || $3 == "privateC++")
+ export = 2;
+ else if ($3 == "public" || $3 == "publicC++")
+ export = 3;
+ else # $3 == "force"
+ export = 4;
+
+ # Process it.
+ if ((length(syms[alt]) > 0) || mangled[alt]) {
+ # This symbol is present in the library.
+ if (donelist[alt])
+ print "# Warning: Duplicate entry for", $3,
+ "in export list" | "cat 1>&2";
+ if (donelist[alt] < export) {
+ donelist[alt] = export;
+ }
+ } else {
+ # Print forced-export symbols without complaining.
+ if (export == 4) {
+ donelist[alt] = export;
+ } else {
+ print "# Warning:", $3,
+ "was not in the nm list for this library" | "cat 1>&2";
+ }
+ }
+
+ next;
+ }
+ END {
+ # Ignore magic linker symbols.
+ if (implicit == 0) {
+ if (!donelist["_DYNAMIC"])
+ donelist["_DYNAMIC"] = 1;
+ if (!donelist["_GLOBAL_OFFSET_TABLE_"])
+ donelist["_GLOBAL_OFFSET_TABLE_"] = 1;
+ if (!donelist["_PROCEDURE_LINKAGE_TABLE_"])
+ donelist["_PROCEDURE_LINKAGE_TABLE_"] = 1;
+ if (!donelist["_edata"])
+ donelist["_edata"] = 1;
+ if (!donelist["_end"])
+ donelist["_end"] = 1;
+ if (!donelist["_etext"])
+ donelist["_etext"] = 1;
+ }
+
+ # Process implicit symbols.
+ for (i in syms) {
+ if (donelist[i] == 0 && length(syms[i]) > 0) {
+ if (implicit == 0) {
+ # Ignore magic symbols introduced by the C++ compiler.
+ if ((syms[i] !~ /^__vtbl__[0-9]*_/) && (syms[i] !~ /^__ptbl_vec__/))
+ print "# Warning:", syms[i], "was not in the export list" | "cat 1>&2";
+ } else {
+ donelist[i] = implicit;
+ }
+ }
+ }
+
+ # Generate the linker file.
+ print "";
+ print "SUNW.1.1 {";
+ print " global:";
+ for (i in syms)
+ if (donelist[i] >= 2 && length(syms[i]) > 0)
+ print " " syms[i] ";";
+ print " local:";
+ print " *;";
+ print "};";
+
+ print "";
+ print "SUNW_private.1.1 {";
+ print " global:";
+ for (i in syms)
+ if (donelist[i] == 1 && length(syms[i]) > 0)
+ print " " syms[i] ";";
+ print "} SUNW.1.1;"
+ }
+'
+
+XCOMM Clean up temporary files
+rm $EXPORTLIST
+rm $NMLIST
+rm $FILTLIST
diff --git a/nx-X11/config/util/elistgen.usl b/nx-X11/config/util/elistgen.usl
new file mode 100644
index 000000000..f17bcdb22
--- /dev/null
+++ b/nx-X11/config/util/elistgen.usl
@@ -0,0 +1,221 @@
+XCOMM!/bin/sh
+XCOMM $Xorg: elistgen.usl,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+XCOMM
+XCOMM #########################################################################
+XCOMM Construct shared-library export lists for Novell based on standardized
+XCOMM export list description file
+XCOMM
+XCOMM Usage: exportlistgen libFoo.so libFoo.elist > libFoo.lopt
+XCOMM
+XCOMM libFoo.so => shared library of interest
+XCOMM libFoo.elist => Meta description of necessary export list.
+XCOMM
+XCOMM The output file, "libFoo.lopt" may then be passed to the linker to
+XCOMM reconstruct the shared library.
+XCOMM
+XCOMM (c) Copyright 1996 Digital Equipment Corporation.
+XCOMM (c) Copyright 1996 Hewlett-Packard Company.
+XCOMM (c) Copyright 1996 International Business Machines Corp.
+XCOMM (c) Copyright 1996 Sun Microsystems, Inc.
+XCOMM (c) Copyright 1996 Novell, Inc.
+XCOMM (c) Copyright 1996 FUJITSU LIMITED.
+XCOMM (c) Copyright 1996 Hitachi.
+XCOMM
+XCOMM #########################################################################
+XCOMM
+XCOMM $XFree86$
+
+XCOMM Utility programs
+FILTER=CXXFILT # C++ symbol demangler
+AWK=awk # awk
+
+XCOMM For nm, cat, pr, sed, awk, c++filt
+PATH=/usr/bin:/bin:/usr/ucb:/usr/ccs/bin
+
+XCOMM Temporary files
+EXPORTLIST=/tmp/elistgen1.$$ # list of export symbols from "libfoo.elist"
+NMLIST=/tmp/elistgen2.$$ # name list from libfoo.sl
+FILTLIST=/tmp/elistgen3.$$ # demangled (C++) version of NMLIST
+
+XCOMM Print useful information at the top of the output
+echo "#" `date`
+echo "# This linker options list was produced by" $0
+echo "# Input export list description taken from:" $2
+echo "# Target library:" $1
+echo "# Target Operating System:" `uname -msrv`
+echo "# "
+
+XCOMM Extract the globally visible symbols from target library.
+XCOMM The NMLIST generated here is later used to cross-check the symbols in the
+XCOMM supplied export-list.
+nm -p $1 | $AWK '
+ / [TD] [^\$]/{print $3} # Text, Data, BSS, or Secondary symbols
+' > $NMLIST
+
+XCOMM Demangle the global library symbols. This operation is necessary to convert
+XCOMM mangled C++ symbols into their C++ notation.
+${FILTER:-cat} $NMLIST > $FILTLIST
+
+XCOMM Clean up the export-list description file.
+XCOMM Note that C++ symbols may have embedded spaces in them.
+cat $2 | $AWK '
+ BEGIN {
+ csyms = 0; # C language symbols in libfoo.list
+ cplusplus = 0; # C++ language symbols in libfoo.list
+ isyms = 0; # C internal symbols in libfoo.elist
+ iplusplus = 0; # C++ internal symbols in libfoo.elist
+ implicit = ""; # Handling of implicit symbols
+ }
+ $1 == "default" {
+ # A default clause suppresses warnings about implicit symbols.
+ if ($2 != "" && $2 != "force" && $2 != "public" &&
+ $2 != "private" && $2 != "internal") {
+ print "# Warning: illegal default clause:", $2 | "cat 1>&2";
+ next;
+ }
+ if (implicit != "")
+ print "# Warning: multiple default clauses." | "cat 1>&2";
+ implicit = $2;
+ next;
+ }
+ $1 == "force" || $1 == "public" || $1 == "private" {
+ csyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "publicC++" || $1 == "privateC++" {
+ cplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++) {
+ string = string " " $n;
+ }
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "internal" {
+ isyms ++;
+ print $1 ";;" $2;
+ next;
+ }
+ $1 == "internalC++" {
+ iplusplus ++;
+ string = $2;
+ for (n = 3; n <= NF; n++) {
+ string = string " " $n;
+ }
+ print $1 ";;" string;
+ next;
+ }
+ $1 == "#line" || $1 == "#" {
+ # cpp will have removed comments, but may have added other stuff.
+ next;
+ }
+ NF > 0 {
+ print "# Warning: unrecognized directive:", $0 | "cat 1>&2";
+ next;
+ }
+ END {
+ printf("# Exporting %d C and %d C++ symbols, hiding %d and %d.\n",
+ csyms, cplusplus, isyms, iplusplus) | "cat 1>&2";
+ if (implicit != "") {
+ print "# Unspecified symbols are " implicit "." | "cat 1>&2";
+ print "default;;" implicit;
+ }
+ }
+' > $EXPORTLIST
+
+XCOMM Read in the above files and write result to stdout. The contents
+XCOMM of NMLIST and FILTLIST are used to construct a symbol lookup table.
+XCOMM The contents of EXPORTLIST are converted with the help of this table.
+XCOMM Use ";" as a delimiter in the symbol lookup table.
+(pr -m -s";" -t -w1024 $NMLIST $FILTLIST | sed 's/ / /g'; cat $EXPORTLIST) | $AWK '
+ BEGIN {
+ FS = ";";
+ implicit = 0;
+ }
+ NF == 2 {
+ # This is "pr" output, i.e., symbol translation table
+ syms[$2] = $1;
+ next;
+ }
+ NF == 3 && $1 == "default" {
+ # Treatment of unspecified symbols.
+ if ($3 == "internal")
+ implicit = 1;
+ else if ($3 == "private" || $3 == "privateC++")
+ implicit = 2;
+ else if ($3 == "public" || $3 == "publicC++")
+ implicit = 3;
+ else # $3 == "force"
+ implicit = 4;
+ next;
+ }
+ NF == 3 {
+ # Parse our instructions for this symbol.
+ if ($1 == "internal" || $1 == "internalC++")
+ export = 1;
+ else if ($1 == "private" || $1 == "privateC++")
+ export = 2;
+ else if ($1 == "public" || $1 == "publicC++")
+ export = 3;
+ else # $1 == "force"
+ export = 4;
+
+ # Process it.
+ if (length(syms[$3]) > 0) {
+ # This symbol is present in the library.
+ if (donelist[$3])
+ print "# Warning: Duplicate entry for", $3,
+ "in export list" | "cat 1>&2";
+ if (donelist[$3] < export) {
+ if (export > 1)
+ print syms[$3];
+ donelist[$3] = export;
+ }
+ } else {
+ # Do not complain about unknown forced-export symbols.
+ if (export == 4) {
+ print $3;
+ donelist[$3] = export;
+ } else
+ print "# Warning:", $3,
+ "was not in the nm list for this library" | "cat 1>&2";
+ }
+
+ next;
+ }
+ END {
+ # Ignore built-in linker symbols.
+ if (implicit == 0) {
+ if (!donelist["_DYNAMIC"])
+ donelist["_DYNAMIC"] = 1;
+ if (!donelist["_GLOBAL_OFFSET_TABLE_"])
+ donelist["_GLOBAL_OFFSET_TABLE_"] = 1;
+ if (!donelist["_edata"])
+ donelist["_edata"] = 1;
+ if (!donelist["_end"])
+ donelist["_end"] = 1;
+ if (!donelist["_etext"])
+ donelist["_etext"] = 1;
+ }
+
+ # Process implicit symbols.
+ for (i in syms) {
+ if (!donelist[i] && (length(syms[i]) > 0)) {
+ # Ignore C++ compiler symbols
+ if (implicit == 0 &&
+ (syms[i] !~ /^__vtbl__[0-9]*_/) &&
+ (syms[i] !~ /^__cpp_unixware_[0-9]*$/))
+ print "# Warning:", syms[i],
+ "was not in the export list" | "cat 1>&2";
+ if (implicit > 1)
+ print syms[i];
+ }
+ }
+ }
+'
+
+XCOMM Clean up temporary files
+rm $EXPORTLIST
+rm $NMLIST
+rm $FILTLIST
diff --git a/nx-X11/config/util/gccmakedep.man b/nx-X11/config/util/gccmakedep.man
new file mode 100644
index 000000000..5a97a3ebb
--- /dev/null
+++ b/nx-X11/config/util/gccmakedep.man
@@ -0,0 +1,126 @@
+.TH gccmakedep 1 __vendorversion__
+.SH NAME
+gccmakedep \- create dependencies in makefiles using 'gcc -M'
+.SH SYNOPSIS
+.B gccmakedep
+[
+.BI \-s separator
+] [
+.BI \-f makefile
+] [
+.BI \-a
+] [
+\-\^\-
+.I options
+\-\^\-
+]
+.I sourcefile
+\&.\|.\|.
+.SH DESCRIPTION
+The
+.B gccmakedep
+program calls 'gcc -M' to output
+.I makefile
+rules describing the dependencies of each
+.IR sourcefile ,
+so that
+.BR make (1)
+knows which object files must be recompiled when a dependency has changed.
+.PP
+By default,
+.B gccmakedep
+places its output in the file named
+.I makefile
+if it exists, otherwise
+.I Makefile.
+An alternate makefile may be specified with the
+.B \-f
+option.
+It first searches the makefile for a line beginning with
+.sp
+\& # DO NOT DELETE
+.sp
+or one provided with the
+.B \-s
+option, as a delimiter for the dependency output.
+If it finds it, it will delete everything following this up to the end of
+the makefile and put the output after this line.
+If it doesn't find it, the program will append the string to the makefile
+and place the output after that.
+.SH EXAMPLE
+Normally,
+.B gccmakedep
+will be used in a makefile target so that typing 'make depend' will bring
+the dependencies up to date for the makefile.
+For example,
+.nf
+ SRCS\0=\0file1.c\0file2.c\0.\|.\|.
+ CFLAGS\0=\0\-O\0\-DHACK\0\-I\^.\^.\^/foobar\0\-xyz
+ depend:
+ gccmakedep\0\-\^\-\0$(CFLAGS)\0\-\^\-\0$(SRCS)
+.fi
+.SH OPTIONS
+The program will ignore any option that it does not understand, so you may
+use the same arguments that you would for
+.BR gcc (1),
+including
+.B \-D
+and
+.B \-U
+options to define and undefine symbols and
+.B \-I
+to set the include path.
+.TP
+.B \-a
+Append the dependencies to the file instead of replacing existing
+dependencies.
+.TP
+.BI \-f makefile
+Filename.
+This allows you to specify an alternate makefile in which
+.B gccmakedep
+can place its output.
+Specifying \(lq\-\(rq as the file name (that is,
+.BR \-f\- )
+sends the output to standard output instead of modifying an existing file.
+.TP
+.BI \-s string
+Starting string delimiter.
+This option permits you to specify a different string for
+.B gccmakedep
+to look for in the makefile.
+The default is \(lq# DO NOT DELETE\(rq.
+.TP
+.BI \-\^\- " options " \-\^\-
+If
+.B gccmakedep
+encounters a double hyphen (\-\^\-) in the argument list, then any
+unrecognized arguments following it will be silently ignored.
+A second double hyphen terminates this special treatment.
+In this way,
+.B gccmakedep
+can be made to safely ignore esoteric compiler arguments that might
+normally be found in a CFLAGS
+.B make
+macro (see the
+.B EXAMPLE
+section above).
+.BR \-D ,
+.BR \-I ,
+and
+.B \-U
+options appearing between the pair of double hyphens are still processed
+normally.
+.SH "SEE ALSO"
+.BR gcc (1),
+.BR make (1),
+.BR makedepend (1).
+.SH AUTHOR
+The version of the
+.B gccmakedep
+included in this X.Org Foundation release was originally
+written by the XFree86 Project based on code supplied by Hongjiu Lu.
+.PP
+Colin Watson wrote this manual page, originally for the Debian Project,
+based partly on the manual page for
+.BR makedepend (1).
diff --git a/nx-X11/config/util/gccmdep.cpp b/nx-X11/config/util/gccmdep.cpp
new file mode 100644
index 000000000..ff4b12a3d
--- /dev/null
+++ b/nx-X11/config/util/gccmdep.cpp
@@ -0,0 +1,126 @@
+XCOMM!/bin/sh
+
+XCOMM
+XCOMM makedepend which uses 'gcc -M'
+XCOMM
+XCOMM $XFree86: xc/config/util/gccmdep.cpp,v 3.10tsi Exp $
+XCOMM
+XCOMM Based on mdepend.cpp and code supplied by Hongjiu Lu <hjl@nynexst.com>
+XCOMM
+
+TMP=mdep$$.tmp
+CC=CCCMD
+RM=RMCMD
+LN=LNCMD
+MV=MVCMD
+
+${RM} ${TMP}
+
+trap "${RM} ${TMP}*; exit 1" 1 2 15
+trap "${RM} ${TMP}*; exit 0" 1 2 13
+
+files=
+makefile=
+endmarker=
+magic_string='# DO NOT DELETE'
+append=n
+args=
+
+while [ $# != 0 ]; do
+ if [ "$endmarker"x != x -a "$endmarker" = "$1" ]; then
+ endmarker=
+ else
+ case "$1" in
+ -D*|-I*|-U*)
+ args="$args '$1'"
+ ;;
+ -g*|-O*)
+ ;;
+ *)
+ if [ "$endmarker"x = x ]; then
+ case $1 in
+XCOMM ignore these flags
+ -w|-o|-cc)
+ shift
+ ;;
+ -v)
+ ;;
+ -s)
+ magic_string="$2"
+ shift
+ ;;
+ -f*)
+ if [ "$1" = "-f-" ]; then
+ makefile="-"
+ elif [ "$1" = "-f" ]; then
+ makefile="$2"
+ shift
+ else
+ echo "$1" | sed 's/^\-f//' >${TMP}arg
+ makefile="`cat ${TMP}arg`"
+ rm -f ${TMP}arg
+ fi
+ ;;
+ --*)
+ endmarker=`echo $1 | sed 's/^\-\-//'`
+ if [ "$endmarker"x = x ]; then
+ endmarker="--"
+ fi
+ ;;
+ -a)
+ append=y
+ ;;
+ -*)
+ echo "Unknown option '$1' ignored" 1>&2
+ ;;
+ *)
+ files="$files $1"
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ fi
+ shift
+done
+
+if [ x"$files" = x ]; then
+XCOMM Nothing to do
+ exit 0
+fi
+
+case "$makefile" in
+ '')
+ if [ -r makefile ]; then
+ makefile=makefile
+ elif [ -r Makefile ]; then
+ makefile=Makefile
+ else
+ echo 'no makefile or Makefile found' 1>&2
+ exit 1
+ fi
+ ;;
+esac
+
+if [ X"$makefile" != X- ]; then
+ if [ x"$append" = xn ]; then
+ sed -e "/^$magic_string/,\$d" < $makefile > $TMP
+ echo "$magic_string" >> $TMP
+ else
+ cp $makefile $TMP
+ fi
+fi
+
+CMD="$CC -M $args $files"
+if [ X"$makefile" != X- ]; then
+ CMD="$CMD >> $TMP"
+fi
+eval $CMD
+if [ X"$makefile" != X- ]; then
+ $RM ${makefile}.bak
+ $MV $makefile ${makefile}.bak
+ $MV $TMP $makefile
+fi
+
+$RM ${TMP}*
+exit 0
diff --git a/nx-X11/config/util/indir.cmd b/nx-X11/config/util/indir.cmd
new file mode 100644
index 000000000..2c86690aa
--- /dev/null
+++ b/nx-X11/config/util/indir.cmd
@@ -0,0 +1,28 @@
+/* OS/2 rexx script to emulate the "cd dir; command" mechanism in make
+ * which does not work with stupid CMD.EXE
+ *
+ * $XFree86: xc/config/util/indir.cmd,v 3.1 1996/01/24 21:56:12 dawes Exp $
+ */
+curdir = directory()
+line = fixbadprefix(ARG(1))
+w1 = TRANSLATE(WORD(line,1),'\','/')
+new = directory(w1)
+/*IF (SUBSTR(w1,1,2) = '..') | (POS(w1,new) > 0) THEN DO*/
+ subword(line,2)
+ old = directory(curdir)
+/*END
+ELSE DO
+ say 'Directory 'new' does not exist, ignoring command (nonfatal)'
+END*/
+EXIT
+
+/* somehow make or cmd manages to convert a relative path ..\..\. to ..... */
+fixbadprefix:
+count = 1
+str = ARG(1)
+DO WHILE SUBSTR(str,count,3) = '...'
+ count = count+1
+ str = INSERT('\',str,count)
+ count = count+2
+END
+RETURN str
diff --git a/nx-X11/config/util/install.sh b/nx-X11/config/util/install.sh
new file mode 100644
index 000000000..7b2d40b85
--- /dev/null
+++ b/nx-X11/config/util/install.sh
@@ -0,0 +1,108 @@
+#!/bin/sh
+
+#
+# install - install a program, script, or datafile
+#
+# $Xorg: install.sh,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+#
+
+
+# set DOITPROG to echo to test this script
+
+doit="${DOITPROG:-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG:-mv}"
+cpprog="${CPPROG:-cp}"
+chmodprog="${CHMODPROG:-chmod}"
+chownprog="${CHOWNPROG:-chown}"
+chgrpprog="${CHGRPPROG:-chgrp}"
+stripprog="${STRIPPROG:-strip}"
+rmprog="${RMPROG:-rm}"
+
+instcmd="$mvprog"
+chmodcmd=""
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+src=""
+dst=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+fi
+
+if [ x"$dst" = x ]
+then
+ echo "install: no destination specified"
+ exit 1
+fi
+
+
+# if destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+if [ -d $dst ]
+then
+ dst="$dst"/`basename $src`
+fi
+
+
+# get rid of the old one and mode the new one in
+
+$doit $rmcmd $dst
+$doit $instcmd $src $dst
+
+
+# and set any options; do chmod last to preserve setuid bits
+
+if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; fi
+if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; fi
+if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; fi
+if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; fi
+
+exit 0
diff --git a/nx-X11/config/util/lndir.c b/nx-X11/config/util/lndir.c
new file mode 100644
index 000000000..cd1d983b0
--- /dev/null
+++ b/nx-X11/config/util/lndir.c
@@ -0,0 +1,391 @@
+/* $Xorg: lndir.c,v 1.5 2001/02/09 02:03:17 xorgcvs Exp $ */
+/* Create shadow link tree (after X11R4 script of the same name)
+ Mark Reinhold (mbr@lcs.mit.edu)/3 January 1990 */
+
+/*
+Copyright (c) 1990, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/util/lndir.c,v 3.18 2003/06/24 15:44:45 eich Exp $ */
+
+/* From the original /bin/sh script:
+
+ Used to create a copy of the a directory tree that has links for all
+ non-directories (except, by default, those named BitKeeper, RCS, SCCS
+ or CVS.adm). If you are building the distribution on more than one
+ machine, you should use this technique.
+
+ If your master sources are located in /usr/local/src/X and you would like
+ your link tree to be in /usr/local/src/new-X, do the following:
+
+ % mkdir /usr/local/src/new-X
+ % cd /usr/local/src/new-X
+ % lndir ../X
+*/
+
+#include <X11/Xos.h>
+#include <X11/Xfuncproto.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/stat.h>
+#if !defined(MINIX) && !defined(Lynx)
+#include <sys/param.h>
+#endif
+#include <errno.h>
+
+#ifndef X_NOT_POSIX
+#include <dirent.h>
+#else
+#ifdef SYSV
+#include <dirent.h>
+#else
+#ifdef USG
+#include <dirent.h>
+#else
+#include <sys/dir.h>
+#ifndef dirent
+#define dirent direct
+#endif
+#endif
+#endif
+#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 2048
+#endif
+
+#include <stdarg.h>
+
+int silent = 0; /* -silent */
+int ignore_links = 0; /* -ignorelinks */
+int with_revinfo = 0; /* -withrevinfo */
+
+char *rcurdir;
+char *curdir;
+
+static void
+quit (int code, char * fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end(args);
+ putc ('\n', stderr);
+ exit (code);
+}
+
+static void
+quiterr (int code, char *s)
+{
+ perror (s);
+ exit (code);
+}
+
+static void
+msg (char * fmt, ...)
+{
+ va_list args;
+ if (curdir) {
+ fprintf (stderr, "%s:\n", curdir);
+ curdir = 0;
+ }
+ va_start(args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end(args);
+ putc ('\n', stderr);
+}
+
+static void
+mperror (char *s)
+{
+ if (curdir) {
+ fprintf (stderr, "%s:\n", curdir);
+ curdir = 0;
+ }
+ perror (s);
+}
+
+
+static int
+equivalent(char *lname, char *rname, char **p)
+{
+ char *s;
+
+ if (!strcmp(lname, rname))
+ return 1;
+ for (s = lname; *s && (s = strchr(s, '/')); s++) {
+ while (s[1] == '/') {
+ strcpy(s+1, s+2);
+ if (*p) (*p)--;
+ }
+ }
+ return !strcmp(lname, rname);
+}
+
+
+/* Recursively create symbolic links from the current directory to the "from"
+ directory. Assumes that files described by fs and ts are directories. */
+static int
+dodir (char *fn, /* name of "from" directory, either absolute or
+ relative to cwd */
+ struct stat *fs,
+ struct stat *ts, /* stats for the "from" directory and cwd */
+ int rel) /* if true, prepend "../" to fn before using */
+{
+ DIR *df;
+ struct dirent *dp;
+ char buf[MAXPATHLEN + 1], *p;
+ char symbuf[MAXPATHLEN + 1];
+ char basesym[MAXPATHLEN + 1];
+ struct stat sb, sc;
+ int n_dirs;
+ int symlen;
+ int basesymlen = -1;
+ char *ocurdir;
+
+ if ((fs->st_dev == ts->st_dev) && (fs->st_ino == ts->st_ino)) {
+ msg ("%s: From and to directories are identical!", fn);
+ return 1;
+ }
+
+ if (rel)
+ strcpy (buf, "../");
+ else
+ buf[0] = '\0';
+ strcat (buf, fn);
+
+ if (!(df = opendir (buf))) {
+ msg ("%s: Cannot opendir", buf);
+ return 1;
+ }
+
+ p = buf + strlen (buf);
+ if (*(p - 1) != '/')
+ *p++ = '/';
+ n_dirs = fs->st_nlink;
+ while ((dp = readdir (df))) {
+ if (dp->d_name[strlen(dp->d_name) - 1] == '~')
+ continue;
+#ifdef __DARWIN__
+ /* Ignore these Mac OS X Finder data files */
+ if (!strcmp(dp->d_name, ".DS_Store") ||
+ !strcmp(dp->d_name, "._.DS_Store"))
+ continue;
+#endif
+ strcpy (p, dp->d_name);
+
+ if (n_dirs > 0) {
+ if (lstat (buf, &sb) < 0) {
+ mperror (buf);
+ continue;
+ }
+
+#ifdef S_ISDIR
+ if(S_ISDIR(sb.st_mode))
+#else
+ if ((sb.st_mode & S_IFMT) == S_IFDIR)
+#endif
+ {
+ /* directory */
+ n_dirs--;
+ if (dp->d_name[0] == '.' &&
+ (dp->d_name[1] == '\0' || (dp->d_name[1] == '.' &&
+ dp->d_name[2] == '\0')))
+ continue;
+ if (!with_revinfo) {
+ if (!strcmp (dp->d_name, "BitKeeper"))
+ continue;
+ if (!strcmp (dp->d_name, "RCS"))
+ continue;
+ if (!strcmp (dp->d_name, "SCCS"))
+ continue;
+ if (!strcmp (dp->d_name, "CVS"))
+ continue;
+ if (!strcmp (dp->d_name, "CVS.adm"))
+ continue;
+ if (!strcmp (dp->d_name, ".svn"))
+ continue;
+ }
+ ocurdir = rcurdir;
+ rcurdir = buf;
+ curdir = silent ? buf : (char *)0;
+ if (!silent)
+ printf ("%s:\n", buf);
+ if ((stat (dp->d_name, &sc) < 0) && (errno == ENOENT)) {
+ if (mkdir (dp->d_name, 0777) < 0 ||
+ stat (dp->d_name, &sc) < 0) {
+ mperror (dp->d_name);
+ curdir = rcurdir = ocurdir;
+ continue;
+ }
+ }
+ if (readlink (dp->d_name, symbuf, sizeof(symbuf) - 1) >= 0) {
+ msg ("%s: is a link instead of a directory", dp->d_name);
+ curdir = rcurdir = ocurdir;
+ continue;
+ }
+ if (chdir (dp->d_name) < 0) {
+ mperror (dp->d_name);
+ curdir = rcurdir = ocurdir;
+ continue;
+ }
+ dodir (buf, &sb, &sc, (buf[0] != '/'));
+ if (chdir ("..") < 0)
+ quiterr (1, "..");
+ curdir = rcurdir = ocurdir;
+ continue;
+ }
+ }
+
+ /* non-directory */
+ symlen = readlink (dp->d_name, symbuf, sizeof(symbuf) - 1);
+ if (symlen >= 0)
+ symbuf[symlen] = '\0';
+
+ /* The option to ignore links exists mostly because
+ checking for them slows us down by 10-20%.
+ But it is off by default because this really is a useful check. */
+ if (!ignore_links) {
+ /* see if the file in the base tree was a symlink */
+ basesymlen = readlink(buf, basesym, sizeof(basesym) - 1);
+ if (basesymlen >= 0)
+ basesym[basesymlen] = '\0';
+ }
+
+ if (symlen >= 0) {
+ /* Link exists in new tree. Print message if it doesn't match. */
+ if (!equivalent (basesymlen>=0 ? basesym : buf, symbuf,
+ basesymlen>=0 ? (char **) 0 : &p))
+ msg ("%s: %s", dp->d_name, symbuf);
+ } else {
+ char *sympath;
+
+ if (basesymlen>=0) {
+ if ((buf[0] == '.') && (buf[1] == '.') && (buf[2] == '/') &&
+ (basesym[0] == '.') && (basesym[1] == '.') &&
+ (basesym[2] == '/')) {
+ /* It becomes very tricky here. We have
+ ../../bar/foo symlinked to ../xxx/yyy. We
+ can't just use ../xxx/yyy. We have to use
+ ../../bar/foo/../xxx/yyy. */
+
+ int i;
+ char *start, *end;
+
+ strcpy (symbuf, buf);
+ /* Find the first char after "../" in symbuf. */
+ start = symbuf;
+ do {
+ start += 3;
+ } while ((start[0] == '.') && (start[1] == '.') &&
+ (start[2] == '/'));
+
+ /* Then try to eliminate "../"s in basesym. */
+ i = 0;
+ end = strrchr (symbuf, '/');
+ if (start < end) {
+ do {
+ i += 3;
+ end--;
+ while ((*end != '/') && (end != start))
+ end--;
+ if (end == start)
+ break;
+ } while ((basesym[i] == '.') &&
+ (basesym[i + 1] == '.') &&
+ (basesym[i + 2] == '/'));
+ }
+ if (*end == '/')
+ end++;
+ strcpy (end, &basesym[i]);
+ sympath = symbuf;
+ }
+ else
+ sympath = basesym;
+ }
+ else
+ sympath = buf;
+ if (symlink (sympath, dp->d_name) < 0)
+ mperror (dp->d_name);
+ }
+ }
+
+ closedir (df);
+ return 0;
+}
+
+int
+main (int ac, char *av[])
+{
+ char *prog_name = av[0];
+ char *fn, *tn;
+ struct stat fs, ts;
+
+ while (++av, --ac) {
+ if (strcmp(*av, "-silent") == 0)
+ silent = 1;
+ else if (strcmp(*av, "-ignorelinks") == 0)
+ ignore_links = 1;
+ else if (strcmp(*av, "-withrevinfo") == 0)
+ with_revinfo = 1;
+ else if (strcmp(*av, "--") == 0) {
+ ++av, --ac;
+ break;
+ }
+ else
+ break;
+ }
+
+ if (ac < 1 || ac > 2)
+ quit (1, "usage: %s [-silent] [-ignorelinks] fromdir [todir]",
+ prog_name);
+
+ fn = av[0];
+ if (ac == 2)
+ tn = av[1];
+ else
+ tn = ".";
+
+ /* to directory */
+ if (stat (tn, &ts) < 0)
+ quiterr (1, tn);
+#ifdef S_ISDIR
+ if (!(S_ISDIR(ts.st_mode)))
+#else
+ if (!(ts.st_mode & S_IFMT) == S_IFDIR)
+#endif
+ quit (2, "%s: Not a directory", tn);
+ if (chdir (tn) < 0)
+ quiterr (1, tn);
+
+ /* from directory */
+ if (stat (fn, &fs) < 0)
+ quiterr (1, fn);
+#ifdef S_ISDIR
+ if (!(S_ISDIR(fs.st_mode)))
+#else
+ if (!(fs.st_mode & S_IFMT) == S_IFDIR)
+#endif
+ quit (2, "%s: Not a directory", fn);
+
+ exit (dodir (fn, &fs, &ts, 0));
+}
diff --git a/nx-X11/config/util/lndir.man b/nx-X11/config/util/lndir.man
new file mode 100644
index 000000000..244e8a58f
--- /dev/null
+++ b/nx-X11/config/util/lndir.man
@@ -0,0 +1,119 @@
+.\" $Xorg: lndir.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+.\"
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\"
+.\" $XFree86: xc/config/util/lndir.man,v 1.3tsi Exp $
+.\"
+.TH LNDIR 1 __xorgversion__
+.SH NAME
+lndir \- create a shadow directory of symbolic links to another directory tree
+.SH SYNOPSIS
+.B lndir
+[
+.B \-silent
+] [
+.B \-ignorelinks
+] [
+.B \-withrevinfo
+]
+.I \|fromdir\|
+[
+.I todir
+]
+.SH DESCRIPTION
+The
+.I lndir
+program makes a shadow copy
+.I todir
+of a directory tree
+.I fromdir,
+except that the shadow is not
+populated with real files but instead with symbolic links pointing at
+the real files in the
+.I fromdir
+directory tree. This is usually useful for maintaining source code for
+different machine architectures. You create a shadow directory
+containing links to the real source, which you will have usually
+mounted from a remote machine. You can build in the shadow tree, and
+the object files will be in the shadow directory, while the
+source files in the shadow directory are just symlinks to the real
+files.
+.PP
+This scheme has the advantage that if you update the source, you need not
+propagate the change to the other architectures by hand, since all
+source in all shadow directories are symlinks to the real thing: just cd
+to the shadow directory and recompile away.
+.PP
+The
+.I todir
+argument is optional and defaults to the current directory. The
+.I fromdir
+argument may be relative (e.g., ../src) and is relative to
+.I todir
+(not the current directory).
+.PP
+.\" CVS.adm is used by the Concurrent Versions System.
+Note that BitKeeper, RCS, SCCS, .svn, CVS and CVS.adm directories are
+shadowed only if the \fB\-withrevinfo\fP flag is specified.
+.PP
+If you add files, simply run
+.I lndir
+again. New files will be silently added. Old files will be
+checked that they have the correct link.
+.PP
+Deleting files is a more painful problem; the symlinks will
+just point into never never land.
+.PP
+If a file in \fIfromdir\fP is a symbolic link, \fIlndir\fP will make
+the same link in \fItodir\fP rather than making a link back to the
+(symbolic link) entry in \fIfromdir.\fP The \fB\-ignorelinks\fP flag
+changes this behavior.
+.SH OPTIONS
+.IP \-silent
+Normally \fIlndir\fP outputs the name of each subdirectory as it
+descends into it. The \fB\-silent\fP option suppresses these status
+messages.
+.IP \-ignorelinks
+Causes the program to not treat symbolic links in \fIfromdir\fP
+specially. The link created in \fItodir\fP will point back to the
+corresponding (symbolic link) file in \fIfromdir\fP.
+If the link is to a directory, this is almost certainly the wrong thing.
+.IP
+This option exists mostly to emulate the behavior the C version of
+\fIlndir\fP had in X11R6. Its use is not recommended.
+.IP \-withrevinfo
+Causes any BitKeeper, RCS, SCCS, .svn, CVS and CVS.adm subdirectories to be
+treated as any other directory, rather than ignored.
+.SH DIAGNOSTICS
+The program displays the name of each subdirectory it enters, followed
+by a colon. The \fB\-silent\fP option suppresses these messages.
+.PP
+A warning message is displayed if the symbolic link cannot be created.
+The usual problem is that a regular file of the same name already
+exists.
+.PP
+If the link already exists but doesn't point to the correct file, the
+program prints the link name and the location where it does point.
diff --git a/nx-X11/config/util/makedef.cmd b/nx-X11/config/util/makedef.cmd
new file mode 100644
index 000000000..9d5d6decf
--- /dev/null
+++ b/nx-X11/config/util/makedef.cmd
@@ -0,0 +1,620 @@
+/* This is OS/2 REXX */
+/* $XFree86: xc/config/util/makedef.cmd,v 1.4 2003/11/12 00:10:24 dawes Exp $
+ *
+ * This file was taken from Odin32 project, modified to suit
+ * XFree86 4.x build process and then modified to suit
+ * the X.org monolithic build process for X11R6.7
+ *
+ * Generate *os2.def linker definition files for OS/2
+ */
+
+if RxFuncQuery('SysLoadFuncs')=1 THEN
+DO
+ call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs';
+ call SysLoadFuncs;
+END
+
+/*
+ * Set default parameter values.
+ */
+sLibrary = '';
+sDBFile = '';
+sOrdinals = 0;
+sASDFeatureId = '';
+sCountryCode = '';
+sDateTime = left(' 'date()' 'time(), 26);
+sDescription = 'X.Org 6.9';
+sFixPakVer = '';
+sHostname = strip(substr(VALUE('HOSTNAME',,'OS2ENVIRONMENT'), 1, 11));
+sLanguageCode = '';
+sMiniVer = '';
+sVendor = 'X.Org';
+sVersion = '6.9';
+
+
+/*
+ * Parse parameters.
+ */
+parse arg sArgs
+if (sArgs = '') then
+do
+ call syntax;
+ exit(1);
+end
+
+do while (sArgs <> '')
+ sArgs = strip(sArgs);
+ if (substr(sArgs, 1, 1) = '-' | substr(sArgs, 1, 1) = '/') then
+ do /*
+ * Option.
+ */
+ ch = translate(substr(sArgs, 2, 1));
+ if (pos(ch, 'ACDHLMNOPRTV') < 1) then
+ do
+ say 'invalid option:' substr(sArgs, 1, 2);
+ call syntax;
+ exit(2);
+ end
+
+ /* get value and advance sArgs to next or to end. */
+ if (substr(sArgs, 3, 1) = '"') then
+ do
+ iNext = pos('"', sArgs, 4);
+ fQuote = 1;
+ end
+ else
+ do
+ iNext = pos(' ', sArgs, 3);
+ if (iNext <= 0) then
+ iNext = length(sArgs);
+ fQuote = 0;
+ end
+
+ if (iNext > 3 | ch = 'R') then
+ do
+ sValue = substr(sArgs, 3 + fQuote, iNext - 3 - fQuote);
+ sArgs = strip(substr(sArgs, iNext+1));
+ /*say 'iNext:' iNext 'sValue:' sValue 'sArgs:' sArgs; */
+
+ /* check if we're gonna search for something in an file. */
+ if (sValue <> '' & pos('#define=', sValue) > 0) then
+ sValue = LookupDefine(sValue);
+ end
+ else
+ do
+ say 'syntax error near' substr(sArgs, 1, 2)'.';
+ call syntax;
+ exit(3);
+ end
+
+
+ /* set value */
+ select
+ when (ch = 'A') then /* ASD Feature Id */
+ sASDFeatureId = sValue;
+
+ when (ch = 'C') then /* Country code */
+ sCountryCode = sValue;
+
+ when (ch = 'D') then /* Description */
+ sDescription = sValue;
+
+ when (ch = 'H') then /* Hostname */
+ sHostname = sValue;
+
+ when (ch = 'L') then /* Language code */
+ sLanguageCode = sValue;
+
+ when (ch = 'M') then /* MiniVer */
+ sMiniVer = sValue;
+
+ when (ch = 'N') then /* Vendor */
+ sVendor = sValue;
+
+ when (ch = 'O') then /* Ordinals */
+ sOrdinals = 1;
+
+ when (ch = 'R') then /* Vendor */
+ sDescription = ReadDescription(sValue, sDefFile);
+
+ when (ch = 'P') then /* Fixpak version */
+ sFixPakVer = sValue;
+
+ when (ch = 'T') then /* Date Time */
+ sDateTime = sValue;
+
+ when (ch = 'V') then /* Version */
+ sVersion = sValue;
+
+ /* Otherwise it's an illegal option */
+ otherwise:
+ say 'invalid option:' substr(sArgs, 1, 2);
+ call syntax;
+ exit(2);
+ end /* select */
+ end
+ else
+ do /*
+ * Table file name, typically xc/config/cf/os2def.db
+ */
+ if (sLibrary <> '') then
+ do
+ say 'Syntax error: Can''t specify more than two files!';
+ exit(4);
+ end
+ if (sDBFile = '') then
+ parse value sArgs with sDBFile' 'sArgs
+ else
+ parse value sArgs with sLibrary' 'sArgs
+ sArgs = strip(sArgs);
+ end
+end
+
+/* check that a definition file was specified. */
+if (sLibrary = '') then
+do
+ say 'Syntax error: Will have to specify a library stem.';
+ call syntax;
+ exit(5);
+end
+
+
+/*
+ * Trim strings to correct lengths.
+ */
+sVendor = strip(substr(sVendor, 1, 31));
+if (substr(sDateTime, 1, 1) <> ' ') then
+ sDateTime = ' ' || sDateTime;
+sDateTime = left(sDateTime, 26);
+sHostname = strip(substr(sHostname, 1, 11));
+sMiniVer = strip(substr(sMiniVer, 1, 11));
+sDescription = strip(substr(sDescription, 1, 80));
+sCountryCode = strip(substr(sCountryCode, 1, 4));
+sLanguageCode = strip(substr(sLanguageCode, 1, 4));
+sASDFeatureId = strip(substr(sASDFeatureId, 1, 11));
+sFixPakVer = strip(substr(sFixPakVer, 1, 11));
+
+/* load database file, only accept lines for the specified sLibrary */
+ordHash.0 = 0
+sRealName = ''
+sInitTerm = 0
+
+rc = LoadDBFile(sDBFile,sLibrary)
+
+/* engage gcc to parse the corresponding -def.cpp file */
+'@gcc -E -D__UNIXOS2__ 'sLibrary'-def.cpp >tmpos2.def'
+
+/* Signature */
+sEnhSign = '##1##'
+
+/*
+ * Build description string.
+ */
+sDescription = '@#'sVendor':'sVersion'#@'sEnhSign||,
+ sDateTime||sHostname||,
+ ':'sASDFeatureId':'sLanguageCode':'sCountryCode':'sMiniVer||,
+ '::'sFixPakVer'@@'sDescription;
+
+/*
+ * Update .def-file.
+ */
+rc = UpdateDefFile(sLibrary,sDescription,sRealName,sOrdinals,sInitTerm);
+call SysFileDelete('tmpos2.def')
+
+exit(rc);
+
+LoadDBFile: procedure expose ordHash. sRealname sInitTerm
+ parse arg dbfile,libname;
+
+ rc = stream(dbfile, 'c', 'open read');
+ if (pos('READY', rc) <> 1) then
+ do
+ say 'error: failed to open 'dbfile;
+ exit(-1);
+ end
+ do while (lines(dbfile) > 0)
+ line = translate(strip(linein(dbfile)),' ',' ');
+ if pos(';',line) > 0 then iterate;
+ if pos('LIBRARY',line) > 0 then do
+ if word(line,2) = libname then do
+ sRealname = word(line,3)
+ if word(line,4) <> '' then
+ sInitTerm = 1
+ end
+ iterate
+ end
+ if word(line,1) = libname then do
+ name = word(line,2)
+ ordHash.name = word(line,3)
+ end
+ end
+ rc = stream(dbfile,'c','close')
+ return rc
+
+/**
+ * Display script syntax.
+ */
+syntax: procedure
+ say 'Syntax: MakeDef.cmd [options] <dbfile> <libname> [options]'
+ say ' <dbfile> Ordinals database.'
+ say ' <libname> Library stem'
+ say 'Options:'
+ say ' -A<string> ASD Feature Id.'
+ say ' -C<string> Country code.'
+ say ' -D<string> Description.'
+ say ' -O<string> Ordinals definition file.'
+ say ' -R[deffile] Read description from .def file.'
+ say ' -H<string> Hostname.'
+ say ' -L<string> Language code.'
+ say ' -M<string> MiniVer.'
+ say ' -N<string> Vendor.'
+ say ' -P<string> Fixpak version.'
+ say ' -T<string> Date Time.'
+ say ' -V<string> Version.'
+ say '<string> could be a double quoted string or a single word.'
+ say ' You could also reference #defines in C/C++ include files.'
+ say ' The string should then have this form:'
+ say ' "#define=<DEFINE_NAME>,<includefile.h>"'
+ say '';
+
+ return;
+
+
+/**
+ * Search for a #define in an C/C++ header or source file.
+ *
+ * @returns String containing the defined value
+ * found for the define in the header file.
+ * Quits on fatal errors.
+ * @param A string on the form: "#define=DEFINETOFIND,includefile.h"
+ * @remark Write only code... - let's hope it works.
+ */
+LookupDefine: procedure
+ parse arg '#'sDefine'='sMacro','sIncludeFile
+
+ /*
+ * Validate parameters.
+ */
+ sMacro = strip(sMacro);
+ sIncludeFile = strip(sIncludeFile);
+ if (sMacro = '') then
+ do
+ say 'syntax error: #define=<DEFINE_NAME>,<includefile.h>.';
+ say ' <DEFINE_NAME> was empty.';
+ exit(-20);
+ end
+ if (sIncludeFile = '') then
+ do
+ say 'syntax error: #define=<DEFINE_NAME>,<includefile.h>.';
+ say ' <includefile.h> was empty.';
+ exit(-20);
+ end
+
+
+ sIllegal = translate(translate(sMacro),,
+ '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',,
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_');
+
+ if (strip(translate(sIllegal, ' ', '!')) <> '') then
+ do
+ say 'syntax error: #define=<DEFINE_NAME>,<includefile.h>.';
+ say ' <DEFINE_NAME> contains illegal charater(s).'
+ say ' 'sMacro;
+ say ' 'translate(sIllegal, ' ', '!');
+ exit(-20);
+ end
+
+ /*
+ * Open include file.
+ */
+ sRc = stream(sIncludeFile, 'c', 'open read');
+ if (pos('READY', sRc) <> 1) then
+ do /* search INCLUDE variable */
+ sFile = SysSearchPath('INCLUDE', sIncludeFile);
+ if (sFile = '') then
+ do
+ say 'Can''t find include file 'sIncludeFile'.';
+ exit(-20);
+ end
+ sIncludeFile = sFile;
+
+ sRc = stream(sIncludeFile, 'c', 'open read');
+ if (pos('READY', sRc) <> 1) then
+ do
+ say 'Failed to open include file' sIncludeFile'.';
+ exit(-20);
+ end
+ end
+
+ /*
+ * Search the file line by line.
+ * We'll check for lines starting with a hash (#) char.
+ * Then check that the word after the hash is 'define'.
+ * Then match the next word with the macro name.
+ * Then then get the next rest of the line to comment or continuation char.
+ * (continuation is not supported)
+ * Finally strip quotes.
+ */
+ sValue = '';
+ do while (lines(sIncludeFile) > 0)
+ sLine = strip(linein(sIncludeFile));
+ if (sLine = '') then
+ iterate;
+ if (substr(sLine, 1, 1) <> '#') then
+ iterate;
+ sLine = substr(sLine, 2);
+ if (word(sLine, 1) <> 'define') then
+ iterate;
+ sLine = strip(substr(sLine, wordpos(sLine, 1) + length('define')+1));
+ if ( substr(sLine, 1, length(sMacro)) <> sMacro,
+ | substr(sLine, length(sMacro)+1, 1) <> ' ') then
+ iterate;
+ sLine = strip(substr(sLine, length(sMacro) + 1));
+ if (sLine = '') then
+ do
+ say 'error: #define' sMacro' is empty.';
+ call stream sIncludeFile, 'c', 'close';
+ exit(-20);
+ end
+
+ chQuote = substr(sLine, 1, 1);
+ if (chQuote = '"' | chQuote = "'") then
+ do /* quoted string */
+ iLastQuote = 0;
+ do forever
+ iLast = pos(chQuote, sLine, 2);
+ if (iLast <= 0) then
+ leave;
+ if (substr(sLine, iLast, 1) = '\') then
+ iterate;
+ iLastQuote = iLast;
+ leave;
+ end
+
+ if (iLastQuote <= 0) then
+ do
+ say 'C/C++ syntax error in 'sIncludefile': didn''t find end quote.';
+ call stream sIncludeFile, 'c', 'close';
+ exit(-20);
+ end
+
+ call stream sIncludeFile, 'c', 'close';
+ sValue = substr(sLine, 2, iLastQuote - 2);
+ say 'Found 'sMacro'='sValue;
+ return sValue;
+ end
+ else
+ do
+ iCommentCPP = pos('//',sLine);
+ iCommentC = pos('/*',sLine);
+ if (iCommentC > 0 & iCommentCPP > 0 & iCommentC > iCommentCPP) then
+ iComment = iCommentCPP;
+ else if (iCommentC > 0 & iCommentCPP > 0 & iCommentC < iCommentCPP) then
+ iComment = iCommentC;
+ else if (iCommentCPP > 0) then
+ iComment = iCommentCPP;
+ else if (iCommentC > 0) then
+ iComment = iCommentC;
+ else
+ iComment = 0;
+
+ if (iComment > 0) then
+ sValue = strip(substr(sLine, 1, iComment-1));
+ else
+ sValue = strip(sLine);
+
+ if (sValue <> '') then
+ do
+ if (substr(sValue, length(sValue)) = '\') then
+ do
+ say 'Found continuation char: Multiline definitions are not supported!\n';
+ call stream sIncludeFile, 'c', 'close';
+ exit(-20);
+ end
+ end
+
+ if (sValue = '') then
+ say 'warning: The #define has no value.';
+
+ call stream sIncludeFile, 'c', 'close';
+ say 'Found 'sMacro'='sValue;
+ return sValue;
+ end
+ end
+
+ call stream sIncludeFile, 'c', 'close';
+ say 'error: didn''t find #define' sMacro'.';
+ exit(-20);
+
+
+
+/**
+ * Reads the description line for a .def-file.
+ * @returns The Description string, with quotes removed.
+ * Empty string is acceptable.
+ * On error we'll terminate the script.
+ * @param sDefFile Filename of .def-file to read the description from.
+ * @param sDefFile2 Used if sDefFile is empty.
+ * @author knut st. osmundsen (knut.stange.osmundsen@mynd.no)
+ */
+ReadDescription: procedure;
+ parse arg sDefFile, sDefFile2
+
+ /*
+ * Validate parameters.
+ */
+ if (sDefFile = '') then
+ sDefFile = sDefFile2;
+ if (sDefFile = '') then
+ do
+ say 'error: no definition file to get description from.'
+ exit(-1);
+ end
+
+ /*
+ * Open file
+ */
+ rc = stream(sDefFile, 'c', 'open read');
+ if (pos('READY', rc) <> 1) then
+ do
+ say 'error: failed to open deffile file.';
+ exit(-1);
+ end
+
+
+ /*
+ * Search for the 'DESCRIPTION' line.
+ */
+ do while (lines(sDefFile) > 0)
+ sLine = strip(linein(sDefFile));
+ if (sLine = '') then
+ iterate;
+ if (translate(word(sLine, 1)) <> 'DESCRIPTION') then
+ iterate;
+ sLine = strip(substr(sLine, wordpos(sLine, 1) + length('DESCRIPTION')+1));
+
+ ch = substr(sLine, 1, 1);
+ if (ch <> "'" & ch <> '"') then
+ do
+ say 'syntax error: description line in' sDefFile 'is misformed.';
+ call stream sDefFile, 'c', 'close';
+ exit(-10);
+ end
+
+ iEnd = pos(ch, sLine, 2);
+ if (iEnd <= 0) then
+ do
+ say 'syntax error: description line in' sDefFile 'is misformed.';
+ call stream sDefFile, 'c', 'close';
+ exit(-10);
+ end
+
+ call stream sDefFile, 'c', 'close';
+ sValue = substr(sLine, 2, iEnd - 2);
+ say 'Found Description:' sValue;
+ return sValue;
+ end
+
+ call stream sDefFile, 'c', 'close';
+ say 'info: Didn''t find description line in' sDefFile'.';
+ return '';
+
+AddCodeDataSection: procedure
+ parse arg outfile;
+ call lineout outfile,"CODE PRELOAD";
+ call lineout outfile,"DATA MULTIPLE NONSHARED";
+ return '';
+
+findOrdinal: procedure expose ordHash.
+ parse arg line,sOrdinal;
+ line = strip(line,,' ');
+ line = word(translate(strip(line),' ','='),1)
+ if (sOrdinal) then do
+ ordinal = ordHash.line;
+ if (ordinal = 'ORDHASH.'line) then do
+ say 'Oops: DB lacks ordinal for symbol "'line'" Create one!'
+ return ' 'line
+ end
+ else
+ return ' 'line' @ 'ordinal
+ end
+ else
+ return ' 'line
+/**
+ * This is a function which reads sLibrary into an
+ * internal array and changes the DESCRIPTION text if found.
+ * If DESCRIPTION isn't found, it is added at the end.
+ * The array is written to sDBFile.
+ * @returns 0 on succes.
+ * Errorcode on error.
+ * @param sLibrary library stem
+ * @param sDescription New description string.
+ * @param sRealname real 8.3 name of library
+ * @param sOrdinals flag to denote generation of ordinals
+ * @param sInitTerm flag to denote adding INITINSTANCE/TERM... qualifiers
+ * @author knut st. osmundsen (knut.stange.osmundsen@mynd.no)
+ * @author heavily modified by Platon & Holger
+ */
+UpdateDefFile: procedure expose ordHash.;
+ parse arg sLibrary, sDescription, sRealname, sOrdinals, sInitTerm
+
+ initterm = ''
+ if sInitTerm = 1 then initterm = 'INITINSTANCE TERMINSTANCE'
+
+ /* Open input file. */
+ infile = 'tmpos2.def'
+ rc = stream(infile, 'c', 'open read');
+ if (pos('READY', rc) <> 1) then do
+ say 'error: failed to open' infile 'file.';
+ return 110;
+ end
+ /* open output file. */
+ if sOrdinals = 1 then
+ outfile = sLibrary'o_os2.def'
+ else
+ outfile = sLibrary'os2.def'
+ call SysFileDelete(outfile)
+ rc = stream(outfile, 'c', 'open write');
+ if (pos('READY', rc) <> 1) then do
+ say 'error: failed to open outputfile' outfile 'file.';
+ return 110;
+ end
+ call lineout outfile, '; Created by makedef.cmd on' date() time()'. Do not edit.', 1;
+
+ /*
+ * Search for the specific lines.
+ */
+ fDescription = 0;
+ fExports = 0;
+ fWinLib = 0;
+ do while (lines(infile) > 0)
+ line = strip(linein(infile));
+ line = strip(line,,' ');
+ if line = '' then iterate;
+ if pos('#',line) = 1 then iterate;
+ if pos(';',line) = 1 then iterate;
+ if pos('/*',line) = 1 then iterate;
+
+ firstsym = translate(word(line,1))
+ if firstsym = 'LIBRARY' then do
+ call lineout outfile,'LIBRARY 'sRealName' 'initterm
+ iterate
+ end
+ if firstsym = 'VERSION' then do
+ call lineout outfile, 'DESCRIPTION "'sDescription sLibrary'"'
+ fDescription = 1;
+ AddCodeDataSection(outfile);
+ end
+ if (firstsym = 'EXPORTS') then do
+ call lineout outfile,'EXPORTS'
+ fExports = 1;
+ iterate;
+ end
+ if (fExports) then do
+ call lineout outfile, findOrdinal(line,sOrdinals);
+ iterate;
+ end
+ end
+
+ /*
+ * Add description is none was found.
+ */
+ if (\fDescription) then
+ do
+ call lineout outfile,"DESCRIPTION '"||sDescription sLibrary||"'";
+ AddCodeDataSection(outfile);
+ end
+
+ /*
+ * Close input file and open output file.
+ */
+ call stream outfile, 'c', 'close';
+ call stream infile, 'c', 'close';
+ if sOrdinals = 1 then do
+ call SysFileDelete('dll.name');
+ call stream 'dll.name', 'c', 'open write';
+ call charout 'dll.name', sRealName".dll";
+ call stream 'dll.name', 'c'. 'close';
+ end
+ return 0;
+
diff --git a/nx-X11/config/util/makeg.man b/nx-X11/config/util/makeg.man
new file mode 100644
index 000000000..815031d94
--- /dev/null
+++ b/nx-X11/config/util/makeg.man
@@ -0,0 +1,64 @@
+.\" $Xorg: makeg.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+.\" Copyright (c) 1996, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be
+.\" included in all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\"
+.\" $XFree86: xc/config/util/makeg.man,v 1.2 2001/01/27 18:19:55 dawes Exp $
+.\"
+.TH MAKEG 1 __xorgversion__
+.SH NAME
+makeg \- make a debuggable executable
+.SH SYNOPSIS
+.B makeg
+[
+.I make-options .\|.\|.
+] [
+.I targets .\|.\|.
+]
+.SH DESCRIPTION
+The
+.I makeg
+script runs
+.I make,
+passing it variable settings to create a debuggable target when used
+with a Makefile generated by
+.I imake.
+For example, it arranges for the C compiler to be called with the
+.B \-g
+option.
+.SH ENVIRONMENT
+.TP 8
+.B MAKE
+The
+.I make
+program to use. Default ``make''.
+.TP 8
+.B GDB
+Set to a non-null value if using the
+.I gdb
+debugger on Solaris 2, which requires additional debugging options to
+be passed to the compiler.
+.SH "SEE ALSO"
+.I make (1),
+.I imake (1)
diff --git a/nx-X11/config/util/makeg.sh b/nx-X11/config/util/makeg.sh
new file mode 100644
index 000000000..38be8c9e2
--- /dev/null
+++ b/nx-X11/config/util/makeg.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+# makeg - run "make" with options necessary to make a debuggable executable
+# $Xorg: makeg.sh,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+
+# set GDB=1 in your environment if using gdb on Solaris 2.
+
+make="${MAKE-make}"
+flags="CDEBUGFLAGS=-g CXXDEBUGFLAGS=-g"
+
+# gdb on Solaris needs the stabs included in the executable
+test "${GDB+yes}" = yes && flags="$flags -xs"
+
+exec "$make" $flags LDSTRIPFLAGS= ${1+"$@"}
diff --git a/nx-X11/config/util/makestrs.c b/nx-X11/config/util/makestrs.c
new file mode 100644
index 000000000..af4b69619
--- /dev/null
+++ b/nx-X11/config/util/makestrs.c
@@ -0,0 +1,752 @@
+/* $XdotOrg: xc/config/util/makestrs.c,v 1.4 2005/05/24 15:58:51 ago Exp $ */
+
+/*
+
+Copyright (c) 1991, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from The Open Group.
+
+*/
+/* $XFree86: xc/config/util/makestrs.c,v 3.6 2001/07/25 15:04:41 dawes Exp $ */
+
+/* Constructs string definitions */
+
+#include <stdio.h>
+#include <X11/Xos.h>
+#include <stdlib.h>
+#include <unistd.h>
+#if defined(macII) && !defined(__STDC__) /* stdlib.h fails to define these */
+char *malloc();
+#endif /* macII */
+
+typedef struct _TableEnt {
+ struct _TableEnt* next;
+ char* left;
+ char* right;
+ int offset;
+} TableEnt;
+
+typedef struct _Table {
+ struct _Table* next;
+ TableEnt* tableent;
+ TableEnt* tableentcurrent;
+ TableEnt** tableenttail;
+ char* name;
+ int offset;
+} Table;
+
+typedef struct _File {
+ struct _File* next;
+ FILE* tmpl;
+ char* name;
+ Table* table;
+ Table* tablecurrent;
+ Table** tabletail;
+} File;
+
+static File* file = NULL;
+static File* filecurrent = NULL;
+static File** filetail = &file;
+static char* conststr;
+static char* prefixstr = NULL;
+static char* featurestr = NULL;
+static char* ctmplstr = NULL;
+static char* fileprotstr;
+static char* externrefstr;
+static char* externdefstr;
+
+#ifndef FALSE
+# define FALSE 0
+# define TRUE !(FALSE)
+#endif
+
+static int solaris_abi_names = FALSE;
+
+#define X_DEFAULT_ABI 0
+#define X_ARRAYPER_ABI 1
+#define X_INTEL_ABI 2
+#define X_INTEL_ABI_BC 3
+#define X_SPARC_ABI 4
+#define X_FUNCTION_ABI 5
+
+#define X_MAGIC_STRING "<<<STRING_TABLE_GOES_HERE>>>"
+
+/* Wrapper for fopen()
+ * Prepend filename with an includedir which can be specified on the
+ * commandline. Needed to separate source and build directories.
+ */
+static char* includedir = NULL;
+static FILE *ifopen(const char *file, const char *mode)
+{
+ size_t len;
+ char *buffer;
+ FILE *ret;
+
+ if (includedir == NULL)
+ return fopen(file, mode);
+
+ len = strlen(file) + strlen(includedir) + 1;
+ buffer = (char*)malloc(len + 1);
+ if (buffer == NULL)
+ return NULL;
+
+ strcpy(buffer, includedir);
+ strcat(buffer, "/");
+ strcat(buffer, file);
+
+ ret = fopen(buffer, mode);
+
+ free(buffer);
+ return ret;
+}
+
+static void WriteHeaderProlog (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ (void) fprintf (f, "#ifdef %s\n", featurestr);
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next) {
+ if (strcmp (te->left, "RAtom") == 0) {
+ (void) fprintf (f,
+ "#ifndef %s%s\n#define %s%s \"%s\"\n#endif\n",
+ prefixstr, te->left, prefixstr, te->left, te->right);
+ } else {
+ (void) fprintf (f,
+ "#define %s%s \"%s\"\n",
+ prefixstr, te->left, te->right);
+ }
+ }
+ (void) fprintf (f, "%s", "#else\n");
+}
+
+static void IntelABIWriteHeader (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ WriteHeaderProlog (f, phile);
+
+ for (t = phile->table; t; t = t->next) {
+ (void) fprintf (f, "%s %sConst char %s[];\n",
+ externrefstr, conststr ? conststr : fileprotstr, t->name);
+ for (te = t->tableent; te; te = te->next)
+ (void) fprintf (f,
+ "#ifndef %s%s\n#define %s%s ((char*)&%s[%d])\n#endif\n",
+ prefixstr, te->left, prefixstr, te->left, t->name, te->offset);
+ }
+
+ (void) fprintf (f, "#endif /* %s */\n", featurestr);
+}
+
+static void SPARCABIWriteHeader (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ (void) fprintf (f, "#define %s%s \"%s\"\n",
+ prefixstr, te->left, te->right);
+}
+
+static void FunctionWriteHeader (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ WriteHeaderProlog (f, phile);
+
+ (void) fprintf (f, "%s %sConst char* %s();\n",
+ externrefstr, conststr ? conststr : fileprotstr,
+ phile->table->name);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ (void) fprintf (f,
+ "#ifndef %s%s\n#define %s%s (%s(%d))\n#endif\n",
+ prefixstr, te->left, prefixstr, te->left, phile->table->name,
+ te->offset);
+
+ (void) fprintf (f, "#endif /* %s */\n", featurestr);
+}
+
+static void ArrayperWriteHeader (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ WriteHeaderProlog (f, phile);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ (void) fprintf (f,
+ "#ifndef %s%s\n%s %sConst char %s%s[];\n#endif\n",
+ prefixstr, te->left,
+ externrefstr, conststr ? conststr : fileprotstr,
+ prefixstr, te->left);
+
+ (void) fprintf (f, "#endif /* %s */\n", featurestr);
+}
+
+static void DefaultWriteHeader (FILE *f, File *phile)
+{
+ Table* t;
+ TableEnt* te;
+
+ WriteHeaderProlog (f, phile);
+
+ (void) fprintf (f, "%s %sConst char %s[];\n",
+ externrefstr, conststr ? conststr : fileprotstr,
+ phile->table->name);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ (void) fprintf (f,
+ "#ifndef %s%s\n#define %s%s ((char*)&%s[%d])\n#endif\n",
+ prefixstr, te->left, prefixstr, te->left, phile->table->name,
+ te->offset);
+
+ (void) fprintf (f, "#endif /* %s */\n", featurestr);
+}
+
+static void CopyTmplProlog (FILE *tmpl, FILE *f)
+{
+ char buf[1024];
+ static char* magic_string = X_MAGIC_STRING;
+ int magic_string_len = strlen (magic_string);
+
+ while (fgets (buf, sizeof buf, tmpl)) {
+ if (strncmp (buf, magic_string, magic_string_len) == 0) {
+ return;
+ }
+ (void) fputs (buf, f);
+ }
+}
+
+static void CopyTmplEpilog (FILE *tmpl, FILE *f)
+{
+ char buf[1024];
+
+ while (fgets (buf, sizeof buf, tmpl))
+ (void) fputs (buf, f);
+}
+
+static char* abistring[] = {
+ "Default", "Array per string", "Intel", "Intel BC", "SPARC", "Function" };
+
+static void WriteHeader (char *tagline, File *phile, int abi)
+{
+ FILE* f;
+ char* tmp;
+ static void (*headerproc[])(FILE *f, File *phile) = {
+ DefaultWriteHeader, ArrayperWriteHeader,
+ IntelABIWriteHeader, IntelABIWriteHeader,
+ SPARCABIWriteHeader, FunctionWriteHeader };
+
+ if ((f = fopen (phile->name, "w+")) == NULL) exit (1);
+
+ if (phile->tmpl) CopyTmplProlog (phile->tmpl, f);
+
+ (void) fprintf (f,
+ "%s\n%s\n/* %s ABI version -- Do not edit */\n",
+ "/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */",
+ "/* This file is automatically generated. */",
+ abistring[abi]);
+
+ if (tagline) (void) fprintf (f, "/* %s */\n\n", tagline);
+
+ /* do the right thing for Motif, i.e. avoid _XmXmStrDefs_h_ */
+ if (strcmp (prefixstr, "Xm") == 0) {
+ if ((fileprotstr = malloc (strlen (phile->name) + 3)) == NULL)
+ exit (1);
+ (void) sprintf (fileprotstr, "_%s_", phile->name);
+ } else {
+ if ((fileprotstr = malloc (strlen (phile->name) + strlen (prefixstr) + 3)) == NULL)
+ exit (1);
+ (void) sprintf (fileprotstr, "_%s%s_", prefixstr, phile->name);
+ }
+
+ for (tmp = fileprotstr; *tmp; tmp++) if (*tmp == '.') *tmp = '_';
+
+ (*headerproc[abi])(f, phile);
+
+ if (phile->tmpl) CopyTmplEpilog (phile->tmpl, f);
+
+ (void) free (fileprotstr);
+ (void) fclose (phile->tmpl);
+ (void) fclose (f);
+}
+
+static void WriteSourceLine (TableEnt *te, int abi, int fudge)
+{
+ char* c;
+
+ for (c = te->right; *c; c++) (void) printf ("'%c',", *c);
+ (void) printf ("%c", '0');
+ if (te->next || fudge) (void) printf ("%c", ',');
+ (void) printf ("%s", "\n");
+}
+
+static char* const_string = "%s %sConst char %s[] = {\n";
+
+static void IntelABIWriteSource (int abi)
+{
+ File* phile;
+
+ for (phile = file; phile; phile = phile->next) {
+ Table* t;
+ TableEnt* te;
+
+ for (t = phile->table; t; t = t->next) {
+ (void) printf (const_string, externdefstr,
+ conststr ? conststr : "", t->name);
+ for (te = t->tableent; te; te = te->next)
+ WriteSourceLine (te, abi, 0);
+ (void) printf ("%s\n\n", "};");
+ }
+ }
+}
+
+static void IntelABIBCWriteSource (int abi)
+{
+ File* phile;
+
+ for (phile = file; phile; phile = phile->next) {
+ Table* t;
+ TableEnt* te;
+
+ (void) printf (const_string, externdefstr,
+ conststr ? conststr : "", phile->table->name);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ WriteSourceLine (te, abi, t->next ? 1 : 0);
+ (void) printf ("%s\n\n", "};");
+
+ if (phile->table->next) {
+ (void) printf (const_string, externdefstr,
+ conststr ? conststr : "", phile->table->next->name);
+ for (t = phile->table->next; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ WriteSourceLine (te, abi, 0);
+ (void) printf ("%s\n\n", "};");
+ }
+ }
+}
+
+static void FunctionWriteSource (int abi)
+{
+ File* phile;
+
+ for (phile = file; phile; phile = phile->next) {
+ Table* t;
+ TableEnt* te;
+
+ (void) printf ("static %sConst char _%s[] = {\n",
+ conststr ? conststr : "", phile->table->name);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ WriteSourceLine (te, abi, t->next ? 1 : 0);
+ (void) printf ("%s\n\n", "};");
+
+ (void) printf ("%sConst char* %s(index)\n int index;\n{\n return &_%s[index];\n}\n\n",
+ conststr ? conststr : "",
+ phile->table->name, phile->table->name);
+ }
+}
+
+static void ArrayperWriteSource (int abi)
+{
+ File* phile;
+ static int done_atom;
+
+ for (phile = file; phile; phile = phile->next) {
+ Table* t;
+ TableEnt* te;
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next) {
+ if (strcmp (te->left, "RAtom") == 0) {
+ if (done_atom) return;
+ done_atom = 1;
+ }
+ (void) printf ("%s %sConst char %s%s[] = \"%s\";\n",
+ externdefstr, conststr ? conststr : "",
+ prefixstr,
+ te->left, te->right);
+ }
+ }
+}
+
+static void DefaultWriteSource (int abi)
+{
+ File* phile;
+
+ for (phile = file; phile; phile = phile->next) {
+ Table* t;
+ TableEnt* te;
+
+ (void) printf (const_string, externdefstr, conststr ? conststr : "",
+ phile->table->name);
+
+ for (t = phile->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next)
+ WriteSourceLine (te, abi, t->next ? 1 : 0);
+ (void) printf ("%s\n\n", "};");
+ }
+}
+
+static void WriteSource(char *tagline, int abi)
+{
+ static void (*sourceproc[])(int) = {
+ DefaultWriteSource, ArrayperWriteSource,
+ IntelABIWriteSource, IntelABIBCWriteSource,
+ DefaultWriteSource, FunctionWriteSource };
+
+ FILE* tmpl;
+
+ if (ctmplstr) {
+ tmpl = ifopen (ctmplstr, "r");
+
+ if (tmpl) CopyTmplProlog (tmpl, stdout);
+ else {
+ (void) fprintf (stderr, "Expected template %s, not found\n",
+ ctmplstr);
+ exit (1);
+ }
+ } else
+ tmpl = NULL;
+
+
+ (void) printf ("%s\n%s\n/* %s ABI version -- Do not edit */\n",
+ "/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */",
+ "/* This file is automatically generated. */",
+ abistring[abi]);
+
+ if (tagline) (void) printf ("/* %s */\n\n", tagline);
+
+ (*sourceproc[abi])(abi);
+
+ if (tmpl) CopyTmplEpilog (tmpl, stdout);
+}
+
+static void DoLine(char *buf)
+{
+#define X_NO_TOKEN 0
+#define X_FILE_TOKEN 1
+#define X_TABLE_TOKEN 2
+#define X_PREFIX_TOKEN 3
+#define X_FEATURE_TOKEN 4
+#define X_EXTERNREF_TOKEN 5
+#define X_EXTERNDEF_TOKEN 6
+#define X_CTMPL_TOKEN 7
+#define X_HTMPL_TOKEN 8
+#define X_CONST_TOKEN 9
+
+ int token;
+ char lbuf[1024];
+ static char* file_str = "#file";
+ static char* table_str = "#table";
+ static char* prefix_str = "#prefix";
+ static char* feature_str = "#feature";
+ static char* externref_str = "#externref";
+ static char* externdef_str = "#externdef";
+ static char* ctmpl_str = "#ctmpl";
+ static char* htmpl_str = "#htmpl";
+ static char* const_str = "#const";
+
+ if (strncmp (buf, file_str, strlen (file_str)) == 0)
+ token = X_FILE_TOKEN;
+ else if (strncmp (buf, table_str, strlen (table_str)) == 0)
+ token = X_TABLE_TOKEN;
+ else if (strncmp (buf, prefix_str, strlen (prefix_str)) == 0)
+ token = X_PREFIX_TOKEN;
+ else if (strncmp (buf, feature_str, strlen (feature_str)) == 0)
+ token = X_FEATURE_TOKEN;
+ else if (strncmp (buf, externref_str, strlen (externref_str)) == 0)
+ token = X_EXTERNREF_TOKEN;
+ else if (strncmp (buf, externdef_str, strlen (externdef_str)) == 0)
+ token = X_EXTERNDEF_TOKEN;
+ else if (strncmp (buf, ctmpl_str, strlen (ctmpl_str)) == 0)
+ token = X_CTMPL_TOKEN;
+ else if (strncmp (buf, htmpl_str, strlen (htmpl_str)) == 0)
+ token = X_HTMPL_TOKEN;
+ else if (strncmp (buf, const_str, strlen (const_str)) == 0)
+ token = X_CONST_TOKEN;
+ else
+ token = X_NO_TOKEN;
+
+ switch (token) {
+ case X_FILE_TOKEN:
+ {
+ File* phile;
+
+ if ((phile = (File*) malloc (sizeof(File))) == NULL)
+ exit(1);
+ if ((phile->name = malloc (strlen (buf + strlen (file_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (phile->name, buf + strlen (file_str) + 1);
+ phile->table = NULL;
+ phile->tablecurrent = NULL;
+ phile->tabletail = &phile->table;
+ phile->next = NULL;
+ phile->tmpl = NULL;
+
+ *filetail = phile;
+ filetail = &phile->next;
+ filecurrent = phile;
+ }
+ break;
+ case X_TABLE_TOKEN:
+ {
+ Table* table;
+ if ((table = (Table*) malloc (sizeof(Table))) == NULL)
+ exit(1);
+ if ((table->name = malloc (strlen (buf + strlen (table_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (table->name, buf + strlen (table_str) + 1);
+ if (solaris_abi_names) {
+ if (strcmp(table->name, "XtStringsR6") == 0) {
+ strcpy(table->name, "XtR6Strings");
+ } else if (strcmp(table->name, "XtShellStringsR6") == 0) {
+ strcpy(table->name, "XtR6ShellStrings");
+ }
+ }
+ table->tableent = NULL;
+ table->tableentcurrent = NULL;
+ table->tableenttail = &table->tableent;
+ table->next = NULL;
+ table->offset = 0;
+
+ *filecurrent->tabletail = table;
+ filecurrent->tabletail = &table->next;
+ filecurrent->tablecurrent = table;
+ }
+ break;
+ case X_PREFIX_TOKEN:
+ if ((prefixstr = malloc (strlen (buf + strlen (prefix_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (prefixstr, buf + strlen (prefix_str) + 1);
+ break;
+ case X_FEATURE_TOKEN:
+ if ((featurestr = malloc (strlen (buf + strlen (feature_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (featurestr, buf + strlen (feature_str) + 1);
+ break;
+ case X_EXTERNREF_TOKEN:
+ if ((externrefstr = malloc (strlen (buf + strlen (externref_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (externrefstr, buf + strlen (externref_str) + 1);
+ break;
+ case X_EXTERNDEF_TOKEN:
+ if ((externdefstr = malloc (strlen (buf + strlen (externdef_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (externdefstr, buf + strlen (externdef_str) + 1);
+ break;
+ case X_CTMPL_TOKEN:
+ if ((ctmplstr = malloc (strlen (buf + strlen (ctmpl_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (ctmplstr, buf + strlen (ctmpl_str) + 1);
+ break;
+ case X_HTMPL_TOKEN:
+ if ((filecurrent->tmpl = ifopen (buf + strlen (htmpl_str) + 1, "r")) == NULL) {
+ (void) fprintf (stderr,
+ "Expected template %s, not found\n", htmpl_str);
+ exit (1);
+ }
+ break;
+ case X_CONST_TOKEN:
+ if ((conststr = malloc (strlen (buf + strlen (const_str)) + 1)) == NULL)
+ exit(1);
+ (void) strcpy (conststr, buf + strlen (const_str) + 1);
+ break;
+ default:
+ {
+ char* right;
+ TableEnt* tableent;
+ int llen;
+ int rlen;
+ int len;
+
+ if ((right = index(buf, ' ')))
+ *right++ = 0;
+ else
+ right = buf + 1;
+ if (buf[0] == 'H') {
+ strcpy (lbuf, prefixstr);
+ strcat (lbuf, right);
+ right = lbuf;
+ }
+
+ llen = len = strlen(buf) + 1;
+ rlen = strlen(right) + 1;
+ if (right != buf + 1) len += rlen;
+ if ((tableent = (TableEnt*)malloc(sizeof(TableEnt) + len)) == NULL)
+ exit(1);
+ tableent->left = (char *)(tableent + 1);
+ strcpy(tableent->left, buf);
+ if (llen != len) {
+ tableent->right = tableent->left + llen;
+ strcpy(tableent->right, right);
+ } else {
+ tableent->right = tableent->left + 1;
+ }
+ tableent->next = NULL;
+
+ *filecurrent->tablecurrent->tableenttail = tableent;
+ filecurrent->tablecurrent->tableenttail = &tableent->next;
+ filecurrent->tablecurrent->tableentcurrent = tableent;
+ }
+ break;
+ }
+}
+
+static void IntelABIIndexEntries (File *file)
+{
+ Table* t;
+ TableEnt* te;
+
+ for (t = file->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next) {
+ te->offset = t->offset;
+ t->offset += strlen (te->right);
+ t->offset++;
+ }
+}
+
+static void DefaultIndexEntries (File *file)
+{
+ Table* t;
+ TableEnt* te;
+ int offset = 0;
+
+ for (t = file->table; t; t = t->next)
+ for (te = t->tableent; te; te = te->next) {
+ te->offset = offset;
+ offset += strlen (te->right);
+ offset++;
+ }
+}
+
+static void IndexEntries (File *file, int abi)
+{
+ switch (abi) {
+ case X_SPARC_ABI:
+ break;
+ case X_INTEL_ABI:
+ case X_INTEL_ABI_BC:
+ IntelABIIndexEntries (file);
+ break;
+ default:
+ DefaultIndexEntries (file);
+ break;
+ }
+}
+
+static char* DoComment (char *line)
+{
+ char* tag;
+ char* eol;
+ char* ret;
+ int len;
+
+ /* assume that the first line with two '$' in it is the RCS tag line */
+ if ((tag = index (line, '$')) == NULL) return NULL;
+ if ((eol = index (tag + 1, '$')) == NULL) return NULL;
+ len = eol - tag;
+ if ((ret = malloc (len)) == NULL)
+ exit (1);
+ (void) strncpy (ret, tag + 1, len - 1);
+ ret[len - 2] = 0;
+ return ret;
+}
+
+int main(int argc, char *argv[])
+{
+ int len, i;
+ char* tagline = NULL;
+ File* phile;
+ FILE *f;
+ char buf[1024];
+ int abi =
+#ifndef ARRAYPERSTR
+ X_DEFAULT_ABI;
+#else
+ X_ARRAYPER_ABI;
+#endif
+
+ f = stdin;
+ if (argc > 1) {
+ for (i = 1; i < argc; i++) {
+ if (strcmp (argv[i], "-f") == 0) {
+ if (++i < argc)
+ f = fopen (argv[i], "r");
+ else
+ return 1;
+ }
+ if (strcmp (argv[i], "-i") == 0) {
+ if (++i < argc)
+ includedir = argv[i];
+ else
+ return 1;
+ }
+ if (strcmp (argv[i], "-sparcabi") == 0)
+ abi = X_SPARC_ABI;
+ if (strcmp (argv[i], "-intelabi") == 0)
+ abi = X_INTEL_ABI;
+ if (strcmp (argv[i], "-functionabi") == 0)
+ abi = X_FUNCTION_ABI;
+ if (strcmp (argv[i], "-earlyR6bc") == 0 && abi == X_INTEL_ABI)
+ abi = X_INTEL_ABI_BC;
+ if (strcmp (argv[i], "-arrayperabi") == 0)
+ abi = X_ARRAYPER_ABI;
+#ifdef ARRAYPERSTR
+ if (strcmp (argv[i], "-defaultabi") == 0)
+ abi = X_DEFAULT_ABI;
+#endif
+ if (strcmp (argv[i], "-solarisabinames") == 0)
+ solaris_abi_names = TRUE;
+ }
+ }
+
+ if (f == NULL) return 1;
+ while (fgets(buf, sizeof buf, f)) {
+ if (!buf[0] || buf[0] == '\n')
+ continue;
+ if (buf[0] == '!') {
+ if (tagline) continue;
+ tagline = DoComment (buf);
+ continue;
+ }
+ if (buf[(len = strlen (buf) - 1)] == '\n') buf[len] = '\0';
+ DoLine(buf);
+ }
+ for (phile = file; phile; phile = phile->next) {
+ if (abi != X_ARRAYPER_ABI) IndexEntries (phile, abi);
+ WriteHeader (tagline, phile, abi);
+ }
+ WriteSource(tagline, abi);
+ return 0;
+}
+
diff --git a/nx-X11/config/util/makestrs.man b/nx-X11/config/util/makestrs.man
new file mode 100644
index 000000000..cd9684114
--- /dev/null
+++ b/nx-X11/config/util/makestrs.man
@@ -0,0 +1,219 @@
+.\" $Xorg: makestrs.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+.\" SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall not
+.\" be used in advertising or otherwise to promote the sale, use or other
+.\" dealing in this Software without prior written authorization from The
+.\" Open Group.
+.\"
+.\" $XFree86: xc/config/util/makestrs.man,v 3.8 2001/12/14 19:53:22 dawes Exp $
+.\"
+.TH MAKESTRS 1 __xorgversion__
+.SH NAME
+makestrs \- makes string table C source and header(s)
+.SH SYNOPSIS
+.B makestrs [-f source] [-i includedir] [-abioptions ...]
+.SH DESCRIPTION
+The
+.I makestrs
+command creates string table C source files and headers.
+If
+.I -f
+.I source
+is not specified
+.I makestrs
+will read from
+.I stdin.
+The C source file is always written to
+.I stdout.
+.I makestrs
+creates one or more C header files as specified in the source file.
+The following options may be specified:
+.I -sparcabi,
+.I -intelabi,
+.I -functionabi,
+.I -arrayperabi,
+and
+.I -defaultabi.
+.LP
+.I -sparcabi
+is used on SPARC platforms conforming to the SPARC
+Compliance Definition, i.e. SVR4/Solaris.
+.LP
+.I -intelabi
+is used on Intel platforms conforming to the System
+V Application Binary Interface, i.e. SVR4.
+.LP
+.I -earlyR6abi
+may be used in addition to
+.I -intelabi
+for situations
+where the vendor wishes to maintain binary compatibility between
+X11R6 public-patch 11 (and earlier) and X11R6 public-patch 12 (and later).
+.LP
+.I -functionabi
+generates a functional abi to the string table. This
+mechanism imposes a severe performance penalty and it's recommended
+that you not use it.
+.LP
+.I -arrayperabi
+results in a separate array for each string. This is
+the default behavior if makestrs was compiled with -DARRAYPERSTR
+(it almost never is).
+.LP
+.I -defaultabi
+forces the generation of the "normal" string table even
+if makestrs was compiled with -DARRAYPERSTR. Since makestrs is almost
+never compiled with -DARRAYPERSTR this is the default behavior if
+no abioptions are specified.
+.LP
+.I -i includedir
+forces the reading of templates from the includedir instead of the local
+directory. This is useful to have separate source and build directories.
+.SH SYNTAX
+The syntax for string-list file is (items in square brackets are optional):
+.RS 4
+\&#prefix <text>
+.RE
+.RS 4
+\&#feature <text>
+.RE
+.RS 4
+\&#externref <text>
+.RE
+.RS 4
+\&#externdef [<text>]
+.RE
+.RS 4
+[#ctempl <text>]
+.RE
+.LP
+.RS 4
+\&#file <filename>
+.RE
+.RS 4
+\&#table <tablename>
+.RE
+.RS 4
+[#htempl]
+.RE
+.RS 4
+<text>
+.RE
+.RS 4
+...
+.RE
+.RS 4
+<text>
+.RE
+.RS 4
+[#table <tablename>
+.RE
+.RS 4
+<text>
+.RE
+.RS 4
+...
+.RE
+.RS 4
+<text>
+.RE
+.RS 4
+ ...
+.RE
+.RS 4
+\&#table <tablename>
+.RE
+.RS 4
+ ...]
+.RE
+.RS 4
+[#file <filename>
+.RE
+.RS 4
+ ...]
+.RE
+.LP
+In words you may have one or more #file directives. Each #file may have
+one or more #table directives.
+.LP
+The #prefix directive determines the string that makestr will prefix
+to each definition.
+.LP
+The #feature directive determines the string that makestr will use
+for the feature-test macro, e.g. X[TM]STRINGDEFINES.
+.LP
+The #externref directive determines the string that makestr will use
+for the extern clause, typically this will be "extern" but Motif wants
+it to be "externalref"
+.LP
+The #externdef directive determines the string that makestr will use
+for the declaration, typically this will be the null string (note that
+makestrs requires a trailing space in this case, i.e. "#externdef "),
+and Motif will use "externaldef(_xmstrings).
+.LP
+The #ctmpl directive determines the name of the file used as a template
+for the C source file that is generated
+.LP
+Each #file <filename> directive will result in a corresponding header
+file by that name containing the appropriate definitions as specified
+by command line options. A single C source file containing the
+declarations for the definitions in all the headers will be printed
+to stdout.
+.LP
+The #htmpl directive determines the name of the file used as a template
+for the C header file that is generated.
+.LP
+Each #table <tablename> directive will be processed in accordance with
+the ABI. On most platforms all tables will be catenated into a single
+table with the name of the first table for that file. To conform to
+the Intel ABI separate tables will be generated with the names indicated.
+.LP
+The template files specified by the #ctmpl and #htmpl directives
+are processed by copying line for line from the template file to
+the appropriate output file. The line containing the string
+.I <<<STRING_TABLE_GOES_HERE>>>
+is not copied to the output file. The appropriate data is then
+copied to the output file and then the remainder of the template
+file is copied to the output file.
+.SH BUGS
+makestrs is not very forgiving of syntax errors. Sometimes you need
+a trailing space after # directives, other times they will mess you
+up. No warning messages are emitted.
+.SH SEE ALSO
+SPARC Compliance Definition 2.2., SPARC International Inc.,
+535 Middlefield Road, Suite 210, Menlo Park, CA 94025
+.LP
+System V Application Binary Interface, Third Edition,
+ISBN 0-13-100439-5
+UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
+NJ 07632
+.LP
+System V Application Binary Interface, Third Edition, Intel386
+Architecture Processor Supplement
+ISBN 0-13-104670-5
+UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
+NJ 07632
+.LP
+System V Application Binary Interface, Third Edition, SPARC
+Architecture Processor Supplement
+ISBN 0-13-104696-9
+UNIX Press, PTR Prentice Hall, 113 Sylvan Avenue, Englewood Cliffs,
+NJ 07632
diff --git a/nx-X11/config/util/mdepend.cpp b/nx-X11/config/util/mdepend.cpp
new file mode 100644
index 000000000..35cab0b22
--- /dev/null
+++ b/nx-X11/config/util/mdepend.cpp
@@ -0,0 +1,286 @@
+XCOMM!/bin/sh
+XCOMM
+XCOMM $Xorg: mdepend.cpp,v 1.3 2000/08/17 19:41:52 cpqbld Exp $
+XCOMM $XdotOrg: xc/config/util/mdepend.cpp,v 1.4 2005/08/26 05:01:37 daniels Exp $
+XCOMM
+XCOMM Do the equivalent of the 'makedepend' program, but do it right.
+XCOMM
+XCOMM Usage:
+XCOMM
+XCOMM makedepend [cpp-flags] [-w width] [-s magic-string] [-f makefile]
+XCOMM [-o object-suffix] [-v] [-a] [-cc compiler] [-d dependencyflag]
+XCOMM
+XCOMM Notes:
+XCOMM
+XCOMM The C compiler used can be overridden with the environment
+XCOMM variable "CC" or the command line flag -cc.
+XCOMM
+XCOMM The "-v" switch of the "makedepend" program is not supported.
+XCOMM
+XCOMM
+XCOMM This script should
+XCOMM work on both USG and BSD systems. However, when System V.4 comes out,
+XCOMM USG users will probably have to change "silent" to "-s" instead of
+XCOMM "-" (at least, that is what the documentation implies).
+XCOMM
+XCOMM $XFree86: xc/config/util/mdepend.cpp,v 3.9 2001/04/26 20:55:10 dawes Exp $
+XCOMM
+
+CC=PREPROC
+
+silent='-'
+
+TMP=`pwd`/.mdep$$
+
+rm -rf ${TMP}
+if ! mkdir -p ${TMP}; then
+ echo "$0: cannot create ${TMP}, exit." >&2
+fi
+
+CPPCMD=${TMP}/a
+DEPENDLINES=${TMP}/b
+TMPMAKEFILE=${TMP}/c
+MAGICLINE=${TMP}/d
+ARGS=${TMP}/e
+
+trap "rm -rf ${TMP}; exit 1" 1 2 15
+trap "rm -rf ${TMP}; exit 0" 1 2 13
+
+echo " \c" > $CPPCMD
+if [ `wc -c < $CPPCMD` -eq 1 ]
+then
+ c="\c"
+ n=
+else
+ c=
+ n="-n"
+fi
+
+echo $n "$c" >$ARGS
+
+files=
+makefile=
+magic_string='# DO NOT DELETE'
+objsuffix='.o'
+width=78
+endmarker=""
+verbose=n
+append=n
+compilerlistsdepends=n
+
+while [ $# != 0 ]
+do
+ if [ "$endmarker"x != x ] && [ "$endmarker" = "$1" ]; then
+ endmarker=""
+ else
+ case "$1" in
+ -D*|-I*|-U*)
+ echo $n " '$1'$c" >> $ARGS
+ ;;
+
+ -g|-O) # ignore so we can just pass $(CFLAGS) in
+ ;;
+
+ *)
+ if [ "$endmarker"x = x ]; then
+ case "$1" in
+ -w)
+ width="$2"
+ shift
+ ;;
+ -s)
+ magic_string="$2"
+ shift
+ ;;
+ -f*)
+ if [ "$1" = "-f-" ]; then
+ makefile="-"
+ elif [ "$1" = "-f" ]; then
+ makefile="$2"
+ shift
+ else
+ echo "$1" | sed 's/^\-f//' >${TMP}arg
+ makefile="`cat ${TMP}arg`"
+ rm -f ${TMP}arg
+ fi
+ ;;
+ -o)
+ objsuffix="$2"
+ shift
+ ;;
+
+ --*)
+ echo "$1" | sed 's/^\-\-//' >${TMP}end
+ endmarker="`cat ${TMP}end`"
+ rm -f ${TMP}end
+ if [ "$endmarker"x = x ]; then
+ endmarker="--"
+ fi
+ ;;
+ -v)
+ verbose="y"
+ ;;
+
+ -a)
+ append="y"
+ ;;
+
+ -cc)
+ CC="$2"
+ shift
+ ;;
+
+ # Flag to tell compiler to output dependencies directly
+ # For example, with Sun compilers, -xM or -xM1 or
+ # with gcc, -M
+ -d)
+ compilerlistsdepends="y"
+ compilerlistdependsflag="$2"
+ shift
+ ;;
+
+ -*)
+ echo "Unknown option '$1' ignored" 1>&2
+ ;;
+ *)
+ files="$files $1"
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ fi
+ shift
+done
+echo ' $*' >> $ARGS
+
+if [ "$compilerlistsdepends"x = "y"x ] ; then
+ CC="$CC $compilerlistdependsflag"
+fi
+
+echo "#!/bin/sh" > $CPPCMD
+echo "exec $CC `cat $ARGS`" >> $CPPCMD
+chmod +x $CPPCMD
+rm $ARGS
+
+case "$makefile" in
+ '')
+ if [ -r makefile ]
+ then
+ makefile=makefile
+ elif [ -r Makefile ]
+ then
+ makefile=Makefile
+ else
+ echo 'no makefile or Makefile found' 1>&2
+ exit 1
+ fi
+ ;;
+ -)
+ makefile=$TMPMAKEFILE
+ ;;
+esac
+
+if [ "$verbose"x = "y"x ]; then
+ cat $CPPCMD
+fi
+
+echo '' > $DEPENDLINES
+
+if [ "$compilerlistsdepends"x = "y"x ] ; then
+ for i in $files
+ do
+ $CPPCMD $i >> $DEPENDLINES
+ done
+else
+for i in $files
+do
+ $CPPCMD $i \
+ | sed -n "/^#/s;^;$i ;p"
+done \
+ | sed -e 's|/[^/.][^/]*/\.\.||g' -e 's|/\.[^.][^/]*/\.\.||g' \
+ -e 's|"||g' -e 's| \./| |' \
+ | awk '{
+ if ($1 != $4 && $2 != "#ident" && $2 != "#pragma")
+ {
+ numparts = split( $1, ofileparts, "\." )
+ ofile = ""
+ for ( i = 1; i < numparts; i = i+1 )
+ {
+ if (i != 1 )
+ ofile = ofile "."
+ ofile = ofile ofileparts[i]
+ }
+ print ofile "'"$objsuffix"'", $4
+ }
+ }' \
+ | sort -u \
+ | awk '
+ {
+ newrec = rec " " $2
+ if ($1 != old1)
+ {
+ old1 = $1
+ if (rec != "")
+ print rec
+ rec = $1 ": " $2
+ }
+ else if (length (newrec) > '"$width"')
+ {
+ print rec
+ rec = $1 ": " $2
+ }
+ else
+ rec = newrec
+ }
+ END \
+ {
+ if (rec != "")
+ print rec
+ }' \
+ | egrep -v '^[^:]*:[ ]*$' >> $DEPENDLINES
+fi
+
+trap "" 1 2 13 15 # Now we are committed
+case "$makefile" in
+ $TMPMAKEFILE)
+ ;;
+ *)
+ rm -f $makefile.bak
+ cp $makefile $makefile.bak
+ echo "Appending dependencies to $makefile"
+ ;;
+esac
+
+XCOMM
+XCOMM If not -a, append the magic string and a blank line so that
+XCOMM /^$magic_string/+1,\$d can be used to delete everything from after
+XCOMM the magic string to the end of the file. Then, append a blank
+XCOMM line again and then the dependencies.
+XCOMM
+if [ "$append" = "n" ]
+then
+ cat >> $makefile << END_OF_APPEND
+
+$magic_string
+
+END_OF_APPEND
+ ed $silent $makefile << END_OF_ED_SCRIPT
+/^$magic_string/+1,\$d
+w
+q
+END_OF_ED_SCRIPT
+ echo '' >>$makefile
+fi
+
+cat $DEPENDLINES >>$makefile
+
+case "$makefile" in
+ $TMPMAKEFILE)
+ cat $TMPMAKEFILE
+ ;;
+
+esac
+
+rm -rf ${TMP}*
+exit 0
diff --git a/nx-X11/config/util/mergelib.cpp b/nx-X11/config/util/mergelib.cpp
new file mode 100644
index 000000000..1c7cc6470
--- /dev/null
+++ b/nx-X11/config/util/mergelib.cpp
@@ -0,0 +1,105 @@
+XCOMM!/bin/sh
+XCOMM
+XCOMM $Xorg: mergelib.cpp,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+XCOMM
+XCOMM Copyright (c) 1989, 1998 The Open Group
+XCOMM
+XCOMM Permission to use, copy, modify, distribute, and sell this software and
+XCOMM its documentation for any purpose is hereby granted without fee, provided
+XCOMM that the above copyright notice appear in all copies and that both that
+XCOMM copyright notice and this permission notice appear in supporting
+XCOMM documentation.
+XCOMM
+XCOMM The above copyright notice and this permission notice shall be included in
+XCOMM all copies or substantial portions of the Software.
+XCOMM
+XCOMM THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+XCOMM IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+XCOMM FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+XCOMM OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+XCOMM AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+XCOMM CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+XCOMM
+XCOMM Except as contained in this notice, the name of The Open Group shall not be
+XCOMM used in advertising or otherwise to promote the sale, use or other dealings
+XCOMM in this Software without prior written authorization from The Open Group.
+XCOMM
+XCOMM Author: Jim Fulton, MIT X Consortium
+XCOMM
+XCOMM mergelib - merge one library into another; this is commonly used by X
+XCOMM to add the extension library into the base Xlib.
+XCOMM
+
+usage="usage: $0 to-library from-library [object-filename-prefix]"
+objprefix=_
+
+case $# in
+ 2) ;;
+ 3) objprefix=$3 ;;
+ *) echo "$usage" 1>&2; exit 1 ;;
+esac
+
+tolib=$1
+fromlib=$2
+
+if [ ! -f $fromlib ]; then
+ echo "$0: no such from-library $fromlib" 1>&2
+ exit 1
+fi
+
+if [ ! -f $tolib ]; then
+ echo "$0: no such to-library $tolib" 1>&2
+ exit 1
+fi
+
+
+XCOMM
+XCOMM Create a temp directory, and figure out how to reference the
+XCOMM object files from it (i.e. relative vs. absolute path names).
+XCOMM
+
+tmpdir=tmp.$$
+origdir=..
+
+XCOMM Remove directory if we fail
+trap "rm -rf $tmpdir; exit 1" 1 2 15
+trap "rm -rf $tmpdir; exit 0" 1 2 13
+
+mkdir $tmpdir
+
+XCOMM Security: if $tmpdir exists before mkdir exit immediately
+if [ $? -gt 0 -o ! -d $tmpdir ]; then
+ echo "$0: unable to create temporary directory $tmpdir" 1>&2
+ exit 1
+fi
+
+case "$fromlib" in
+ /?*) upfrom= ;;
+ *) upfrom=../ ;;
+esac
+
+case "$tolib" in
+ /?*) upto= ;;
+ *) upto=../ ;;
+esac
+
+
+XCOMM
+XCOMM In the temp directory, extract all of the object files and prefix
+XCOMM them with some symbol to avoid name clashes with the base library.
+XCOMM
+cd $tmpdir || exit 1
+ar x ${upfrom}$fromlib
+for i in *.o; do
+ mv $i ${objprefix}$i
+done
+
+
+XCOMM
+XCOMM Merge in the object modules, ranlib (if appropriate) and cleanup
+XCOMM
+ARCMD ${upto}$tolib *.o
+RANLIB ${upto}$tolib
+cd $origdir
+rm -rf $tmpdir
+
diff --git a/nx-X11/config/util/mergelib.man b/nx-X11/config/util/mergelib.man
new file mode 100644
index 000000000..768516648
--- /dev/null
+++ b/nx-X11/config/util/mergelib.man
@@ -0,0 +1,28 @@
+.\" $XFree86$
+.\" shorthand for double quote that works everywhere.
+.ds q \N'34'
+.TH MERGELIB 1 __xorgversion__
+.SH NAME
+mergelib \- merge one library into another
+.SH SYNOPSIS
+.B mergelib
+.I to-library
+.I from-library
+.RI [ object-filename-prefix ]
+.SH DESCRIPTION
+The
+.I mergelib
+program merges objects from one library into another.
+The names of object files in
+.I from-library
+will be prefixed by
+.I object-filename-prefix
+(\*q_\*q by default) to avoid name clashes.
+The merged library will be left in
+.IR to-library .
+.SH AUTHOR
+Jim Fulton wrote the
+.I mergelib
+program for the X Consortium.
+.PP
+Colin Watson wrote this manual page, originally for the Debian Project.
diff --git a/nx-X11/config/util/mkdirhier.c b/nx-X11/config/util/mkdirhier.c
new file mode 100644
index 000000000..61207b541
--- /dev/null
+++ b/nx-X11/config/util/mkdirhier.c
@@ -0,0 +1,80 @@
+/* $Xorg: mkdirhier.c,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $ */
+/*
+
+Copyright (C) 1996, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86$ */
+
+/*
+ * Simple mkdirhier program for Windows NT
+ */
+#include <sys/types.h>
+#include <sys/stat.h>
+#ifndef __UNIXOS2__
+#include <direct.h>
+#else
+#include <dirent.h>
+#endif
+#include <stdlib.h>
+#include <string.h>
+
+char *
+next_sep(char *path)
+{
+ while (*path)
+ if (*path == '/' || *path == '\\')
+ return path;
+ else
+ path++;
+ return NULL;
+}
+
+int
+main(int argc, char *argv[])
+{
+ char *dirname, *next, *prev;
+ char buf[1024];
+ struct _stat sb;
+
+ if (argc < 2)
+ exit(1);
+ dirname = argv[1];
+
+ prev = dirname;
+ while (next = next_sep(prev)) {
+ strncpy(buf, dirname, next - dirname);
+ buf[next - dirname] = '\0';
+ /* if parent dir doesn't exist yet create it */
+ if (_stat(buf, &sb))
+ _mkdir(buf); /* no error checking to avoid barfing on C: */
+ prev = next + 1;
+ }
+ if (_mkdir(dirname) == -1) {
+ perror("mkdirhier failed");
+ exit(1);
+ }
+ exit(0);
+}
diff --git a/nx-X11/config/util/mkdirhier.cmd b/nx-X11/config/util/mkdirhier.cmd
new file mode 100644
index 000000000..9ee8fa791
--- /dev/null
+++ b/nx-X11/config/util/mkdirhier.cmd
@@ -0,0 +1,54 @@
+/* OS/2 REXX SCRIPT */
+/* $XFree86: xc/config/util/mkdirhier.cmd,v 3.1 1996/02/09 08:18:04 dawes Exp $ */
+
+CALL RxFuncAdd 'SysMkDir', 'RexxUtil', 'SysMkDir'
+
+IF ARG() = 0 THEN DO
+ SAY "mkdirhier: usage: mkdirhier directory ..."
+ EXIT 1
+END
+
+curdir=DIRECTORY()
+drive=DELSTR(curdir,3)
+
+status=""
+PARSE ARG all
+
+DO i=1 TO WORDS(all)
+ direc = TRANSLATE(WORD(all,i),'/','\')
+ SELECT
+ WHEN direc = "" THEN DO
+ SAY "mkdirhier: empty directory name"
+ status=1
+ ITERATE
+ END
+ WHEN POS('0a'x,direc) > 0 THEN DO
+ SAY "mkdirhier: directory name contains a newline: '" direc "'"
+ status=1
+ ITERATE
+ END
+ OTHERWISE NOP
+ END
+ IF POS(":",direc) = 0 THEN direc = INSERT(drive,direc)
+
+ dirbuf.0 = direc
+ DO k=1 TO 1000
+ direc1 = STRIP(direc,"t","/")
+ dpath1 = FILESPEC("path",direc1)
+ dirbuf.k=FILESPEC("drive",direc1)||STRIP(dpath1,"t","/")
+ IF POS("/",dirbuf.k) = 0 THEN LEAVE k
+ direc=dirbuf.k
+ END
+ DO m=k-1 TO 0 BY -1
+ dospath = TRANSLATE(dirbuf.m,'\','/')
+ targetdir=DIRECTORY(dospath)
+ IF targetdir = dospath THEN
+ NOP
+ ELSE
+ CALL SysMkDir(dospath)
+ CALL DIRECTORY curdir
+ END
+END
+
+
+EXIT status
diff --git a/nx-X11/config/util/mkdirhier.man b/nx-X11/config/util/mkdirhier.man
new file mode 100644
index 000000000..4ad475e62
--- /dev/null
+++ b/nx-X11/config/util/mkdirhier.man
@@ -0,0 +1,42 @@
+.\" $Xorg: mkdirhier.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+.\" SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall not
+.\" be used in advertising or otherwise to promote the sale, use or other
+.\" dealing in this Software without prior written authorization from The
+.\" Open Group.
+.\"
+.\" $XFree86: xc/config/util/mkdirhier.man,v 1.2 2001/01/27 18:19:55 dawes Exp $
+.\"
+.TH MKDIRHIER 1 __xorgversion__
+.SH NAME
+mkdirhier \- makes a directory hierarchy
+.SH SYNOPSIS
+.B mkdirhier
+directory ...
+.SH DESCRIPTION
+The
+.I mkdirhier
+command creates the specified directories. Unlike
+.I mkdir
+if any of the parent directories of the specified directory
+do not exist, it creates them as well.
+.SH "SEE ALSO"
+mkdir(1)
diff --git a/nx-X11/config/util/mkdirhier.sh b/nx-X11/config/util/mkdirhier.sh
new file mode 100644
index 000000000..09b89ee9d
--- /dev/null
+++ b/nx-X11/config/util/mkdirhier.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+# $Xorg: mkdirhier.sh,v 1.3 2000/08/17 19:41:53 cpqbld Exp $
+# Courtesy of Paul Eggert
+
+newline='
+'
+IFS=$newline
+
+case ${1--} in
+-*) echo >&2 "mkdirhier: usage: mkdirhier directory ..."; exit 1
+esac
+
+status=
+
+for directory
+do
+ case $directory in
+ '')
+ echo >&2 "mkdirhier: empty directory name"
+ status=1
+ continue;;
+ *"$newline"*)
+ echo >&2 "mkdirhier: directory name contains a newline: \`\`$directory''"
+ status=1
+ continue;;
+ ///*) prefix=/;; # See Posix 2.3 "path".
+ //*) prefix=//;;
+ /*) prefix=/;;
+ -*) prefix=./;;
+ *) prefix=
+ esac
+
+ IFS=/
+ set x $directory
+ case $2 in
+ */*) # IFS parsing is broken
+ IFS=' '
+ set x `echo $directory | tr / ' '`
+ ;;
+ esac
+ IFS=$newline
+ shift
+
+ for filename
+ do
+ path=$prefix$filename
+ prefix=$path/
+ shift
+
+ test -d "$path" || {
+ paths=$path
+ for filename
+ do
+ if [ -n "$filename" -a "$filename" != "." ]; then
+ path=$path/$filename
+ paths=$paths$newline$path
+ fi
+ done
+
+ mkdir $paths || status=$?
+
+ break
+ }
+ done
+ done
+
+exit $status
diff --git a/nx-X11/config/util/mkhtmlindex.man b/nx-X11/config/util/mkhtmlindex.man
new file mode 100644
index 000000000..fc8a4276b
--- /dev/null
+++ b/nx-X11/config/util/mkhtmlindex.man
@@ -0,0 +1,32 @@
+.TH mkhtmlindex 1 __vendorversion__
+.SH NAME
+mkhtmlindex \- generate index files for HTML man pages
+.SH SYNOPSIS
+.B mkhtmlindex
+.I htmlmandir
+.SH DESCRIPTION
+The
+.I mkhtmlindex
+program generates index files for a directory of HTML-formatted manual
+pages.
+It searches for files whose names are of the form \(lqname.1.html\(rq,
+and outputs index files \(lqmanindex1.html\(rq, \(lqmanindex.2.html\(rq,
+and so on, one for each manual volume.
+Empty index files will be removed.
+Names and descriptions are found by scanning the first
+.I <H2>
+section of each page.
+.SH OPTIONS
+.I mkhtmlindex
+takes only one argument: the directory to process.
+.SH NOTES
+This utility is currently rather specific to X manual pages.
+In particular, the format of the index files it outputs is not configurable,
+nor is the HTML formatting it expects of manual pages.
+.SH AUTHOR
+The version of the
+.I mkhtmlindex
+included in this X.Org Foundation release was originally written
+by David Dawes wrote as a part of XFree86.
+.PP
+Colin Watson wrote this manual page, originally for the Debian Project.
diff --git a/nx-X11/config/util/mkhtmlindex.pl b/nx-X11/config/util/mkhtmlindex.pl
new file mode 100644
index 000000000..10030910e
--- /dev/null
+++ b/nx-X11/config/util/mkhtmlindex.pl
@@ -0,0 +1,103 @@
+#!/usr/bin/perl
+#
+# $XFree86: xc/config/util/mkhtmlindex.pl,v 1.2 2001/03/15 19:02:31 dawes Exp $
+#
+# Copyright © 2000,2001 by VA Linux Systems, Inc.
+#
+# Generate index files for HTML man pages.
+#
+# Author: David Dawes <dawes@xfree86.org>
+#
+
+#
+# Best viewed with tabs set to 4
+#
+
+if ($#ARGV ne 0) {
+ print STDERR "Usage: mkhtmlindex.pl htmlmandir\n";
+ exit 1;
+}
+
+$dir = $ARGV[0];
+
+if (! -d $dir) {
+ print STDERR "$dir is not a directory\n";
+ exit 1;
+}
+
+@vollist = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "o", "l", "n", "p");
+
+$indexprefix = "manindex";
+
+foreach $vol (@vollist) {
+ $empty = "yes";
+ $indexname="$dir/$indexprefix$vol.html";
+
+ # print "Processing volume $vol\n";
+
+ open(mindex, ">$indexname") || die "Can't create $indexname";
+ opendir(dir, "$dir") || die "Can't open $dir";
+
+ print mindex <<EOF;
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>X.Org Manual pages: Section $vol</TITLE>
+</HEAD>
+<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">
+
+<H1>X.Org Manual pages: Section $vol</H1>
+<P>
+<UL>
+EOF
+
+ foreach $file (sort readdir dir) {
+ if ($file =~ "\.$vol\.html") {
+ open(file, "<$dir/$file") || die "Can't open $dir/$file";
+ while (<file>) {
+ chop;
+ if (/^<[hH]2>/) {
+ if (! /<\/[hH]2>$/) {
+ while (<file> && ! /<\/[hH]2>$/) {
+ ;
+ }
+ }
+ $heading = "";
+ while (<file>) {
+ if (/^<[hH]2>/) {
+ last;
+ }
+ $heading = "$heading" . "$_";
+ }
+ if ($heading) {
+ undef $empty;
+ $heading =~ s/--/-/;
+ ($name, $descr) = split(/-/, $heading, 2);
+ $file =~ /(.*)\.$vol\.html/;
+ $fname = $1;
+ $descr =~ s/<[pP]>//g;
+ print mindex
+ "<LI><A href=\"$file\">$fname</A> - $descr</LI>";
+ }
+ last;
+ }
+ }
+ close file;
+ }
+ }
+
+ print mindex <<EOF;
+</UL>
+<P>
+</BODY>
+</HTML>
+EOF
+
+ close mindex;
+ closedir dir;
+ if (defined $empty) {
+ # print "Removing empty $indexname\n";
+ unlink $indexname;
+ }
+}
diff --git a/nx-X11/config/util/mkhtmlindex.sh b/nx-X11/config/util/mkhtmlindex.sh
new file mode 100644
index 000000000..ab1c894ea
--- /dev/null
+++ b/nx-X11/config/util/mkhtmlindex.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+# $XFree86: xc/config/util/mkhtmlindex.sh,v 1.3 2000/08/26 04:30:49 dawes Exp $
+#
+# Copyright © 2000 by Precision Insight, Inc.
+#
+# Generate index files for the HTML man pages
+#
+# Author: David Dawes <dawes@xfree86.org>
+#
+
+VOLLIST="1 2 3 4 5 6 7 8 9 o l n p"
+INDEX="manindex"
+
+if [ $# != 1 ]; then
+ echo Usage: $0 htmlmandir
+ exit 1
+fi
+
+if [ ! -d $1 ]; then
+ echo $1 is not a directory
+ exit 1
+fi
+
+cd $1
+
+for s in $VOLLIST; do
+ list="`ls *.$s.html 2> /dev/null`" || : # ignore failed glob expansion
+ if [ X"$list" != X ]; then
+ file=$INDEX$s.html
+ rm -f $file
+ cat <<EOF > $file
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>X.Org Manual pages: Section $s</TITLE>
+</HEAD>
+<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">
+
+<H1>X.Org Manual pages: Section $s</H1>
+<P>
+<UL>
+EOF
+ for i in $list; do
+ title="`sed -e '/^[^0-9A-Za-z]/d' -e '/^$/' -e '/^Name/d' -e q $i`"
+ name="`echo \"$title\" | sed -e 's/ - .*//'`"
+ desc="`echo \"$title\" | sed -e 's/[^-]* - //' -e 's/<P>//'`"
+ echo "<LI><A href=\"$i\">$name</A> - $desc</LI>" >> $file
+ done
+ cat <<EOF >> $file
+</UL>
+<P>
+</BODY>
+</HTML>
+EOF
+ fi
+done
+
+exit 0
diff --git a/nx-X11/config/util/mkshadow/Imakefile b/nx-X11/config/util/mkshadow/Imakefile
new file mode 100644
index 000000000..e8a879d97
--- /dev/null
+++ b/nx-X11/config/util/mkshadow/Imakefile
@@ -0,0 +1,5 @@
+XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:41:53 cpqbld Exp $
+ SRCS = mkshadow.c savedir.c wildmat.c
+ OBJS = mkshadow.o savedir.o wildmat.o
+
+ComplexProgramTarget(mkshadow)
diff --git a/nx-X11/config/util/mkshadow/README b/nx-X11/config/util/mkshadow/README
new file mode 100644
index 000000000..eea4b8b89
--- /dev/null
+++ b/nx-X11/config/util/mkshadow/README
@@ -0,0 +1,38 @@
+The mkshadow programs makes a "shadow tree" of a directory tree.
+It logically copies all of the "MASTER" directory into ".".
+However, ordinary files, and RCS/SCCS directories are "copied"
+by creating a sybolic link to the corresponding file in MASTER.
+
+The wildmat.c file is by Rich Salz, and from comp.sources.misc, volume 17.
+The savedir.c file is lightly modified from the version written
+by David MacKenzie for GNU fileutils; the Free Software Foundation
+has graciously agreed to waive their usual copyright so this
+program can be distributed by the X Consortium.
+
+If you have problems compiling savedir.c, try setting the DIRENT make
+variable as suggested in the Makefile.
+
+ * Usage: mkshadow [-X exclude_file] [-x exclude_pattern] ... MASTER
+ * Makes the current directory be a "shadow copy" of MASTER.
+ * Sort of like a recursive copy of MASTER to .
+ * However, symbolic links are used instead of actually
+ * copying (non-directory) files.
+ * Also, directories named RCS or SCCS are shared (with a symbolic link).
+ * Warning messages are printed for files (and directories) in .
+ * that don't match a corresponding file in MASTER (though
+ * symbolic links are silently removed).
+ * Also, a warning message is printed for non-directory files
+ * under . that are not symbolic links.
+ *
+ * Files and directories can be excluded from the sharing
+ * with the -X and -x flags. The flag `-x pattern' (or `-xpattern')
+ * means that mkshadow should ignore any file whose name matches
+ * the pattern. The pattern is a "globbing" pattern, i.e. the
+ * characters *?[^-] are interpreted as by the shell.
+ * If the pattern contains a '/' is is matched against the complete
+ * current path (relative to '.'); otherwise, it is matched
+ * against the last component of the path.
+ * A `-X filename' flag means to read a set of exclusion patterns
+ * from the named file, one pattern to a line.
+
+Author: Per Bothner. bothner@cygnus.com. November 1990, 1993.
diff --git a/nx-X11/config/util/mkshadow/mkshadow.c b/nx-X11/config/util/mkshadow/mkshadow.c
new file mode 100644
index 000000000..d9c5eb841
--- /dev/null
+++ b/nx-X11/config/util/mkshadow/mkshadow.c
@@ -0,0 +1,378 @@
+/* $Xorg: mkshadow.c,v 1.3 2000/08/17 19:41:53 cpqbld Exp $ */
+/* mkshadow.c - make a "shadow copy" of a directory tree with symlinks.
+ Copyright 1990, 1993 Free Software Foundation, Inc.
+
+ Permission to use, copy, modify, and distribute this program for
+ any purpose and without fee is hereby granted, provided that this
+ copyright and permission notice appear on all copies, and that
+ notice be given that copying and distribution is by permission of
+ the Free Software Foundation. The Free Software Foundation makes
+ no representations about the suitability of this software for any
+ purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ (The FSF has modified its usual distribution terms, for this file,
+ as a courtesy to the X project.) */
+
+/*
+ * Usage: mkshadow [-X exclude_file] [-x exclude_pattern] ... MASTER [SHADOW]
+ * Makes SHADOW be a "shadow copy" of MASTER. SHADOW defaults to the current
+ * directory. Sort of like a recursive copy of MASTER to SHADOW.
+ * However, symbolic links are used instead of actually
+ * copying (non-directory) files.
+ * Also, directories named RCS or SCCS are shared (with a symbolic link).
+ * Warning messages are printed for files (and directories) in .
+ * that don't match a corresponding file in MASTER (though
+ * symbolic links are silently removed).
+ * Also, a warning message is printed for non-directory files
+ * under SHADOW that are not symbolic links.
+ *
+ * Files and directories can be excluded from the sharing
+ * with the -X and -x flags. The flag `-x pattern' (or `-xpattern')
+ * means that mkshadow should ignore any file whose name matches
+ * the pattern. The pattern is a "globbing" pattern, i.e. the
+ * characters *?[^-] are interpreted as by the shell.
+ * If the pattern contains a '/' is is matched against the complete
+ * current path (relative to '.'); otherwise, it is matched
+ * against the last component of the path.
+ * A `-X filename' flag means to read a set of exclusion patterns
+ * from the named file, one pattern to a line.
+ *
+ * Originally written by Per Bothner at University of Wisconsin-Madison,
+ * inspired by the lndir script distributed with X11.
+ * Modified by Per Bothner <bothner@cygnus.com> November 1993
+ * to more-or-less follow Posix.
+ */
+
+#include <sys/types.h>
+#include <stdio.h>
+#ifdef BSD
+#include <strings.h>
+#define strchr index
+#else
+#include <string.h>
+#endif
+#include <sys/stat.h>
+#if defined(S_IFDIR) && !defined(S_ISDIR)
+#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
+#endif
+#if defined(S_IFLNK) && !defined(S_ISLNK)
+#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)
+#endif
+#ifndef S_ISLNK
+#define lstat stat
+#endif
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 1024
+#endif
+#include <errno.h>
+#ifndef errno
+extern int errno;
+#endif
+
+extern char * savedir();
+
+fatal(msg)
+ char *msg;
+{
+ if (errno) perror(msg ? msg : "");
+ else if (msg) fprintf(stderr, "mkshadow: %s\n", msg);
+ exit(-1);
+}
+
+/* When handling symbolic links to relative directories,
+ * we need to prepend "../" to the "source".
+ * We preallocate MAX_DEPTH repetations of "../" using a simple trick.
+ */
+#define MAX_DEPTH 20
+#define PREPEND_BUFFER_SIZE (MAX_DEPTH*3)
+char master_buffer[MAXPATHLEN+PREPEND_BUFFER_SIZE] =
+ "../../../../../../../../../../../../../../../../../../../../";
+/* The logical start of the master_buffer is defined by
+ * master_start, which skips the fixed prepend area.
+ */
+#define master_start (master_buffer+PREPEND_BUFFER_SIZE)
+char shadow_buffer[MAXPATHLEN];
+
+void bad_args(msg)
+{
+ if (msg) fprintf(stderr, "%s\n", msg);
+ fprintf (stderr, "usage: mkshadow [-X exclude_file] [-x exclude_pattern]");
+ fprintf (stderr, " master [shadow]\n");
+ exit(-1);
+}
+
+int exclude_count = 0;
+char **exclude_patterns = NULL;
+int exclude_limit = 0;
+
+void add_exclude(pattern)
+ char *pattern;
+{
+ if (exclude_limit == 0) {
+ exclude_limit = 100;
+ exclude_patterns = (char**)malloc(exclude_limit * sizeof(char*));
+ } else if (exclude_count + 1 >= exclude_limit) {
+ exclude_limit += 100;
+ exclude_patterns = (char**)realloc(exclude_patterns,
+ exclude_limit * sizeof(char*));
+ }
+ exclude_patterns[exclude_count] = pattern;
+ exclude_count++;
+}
+
+void add_exclude_file(name)
+ char *name;
+{
+ char buf[MAXPATHLEN];
+ FILE *file = fopen(name, "r");
+ if (file == NULL) fatal("failed to find -X (exclude) file");
+ for (;;) {
+ int len;
+ char *str = fgets(buf, MAXPATHLEN, file);
+ if (str == NULL) break;
+ len = strlen(str);
+ if (len && str[len-1] == '\n') str[--len] = 0;
+ if (!len) continue;
+ str = (char*)malloc(len+1);
+ strcpy(str, buf);
+ add_exclude(str);
+ }
+ fclose(file);
+}
+
+main(argc, argv)
+ char **argv;
+{
+ char *master_name = NULL;
+ char *shadow_name = NULL;
+ int i;
+ for (i = 1; i < argc; i++) {
+ if (argv[i][0] == '-') {
+ switch(argv[i][1]) {
+ case 'X':
+ if (argv[i][2]) add_exclude_file(&argv[i][2]);
+ else if (++i >= argc) bad_args(NULL);
+ else add_exclude_file(argv[i]);
+ break;
+ case 'x':
+ if (argv[i][2]) add_exclude(&argv[i][2]);
+ else if (++i >= argc) bad_args(NULL);
+ else add_exclude(argv[i]);
+ break;
+ default:
+ bad_args(NULL);
+ }
+ } else if (master_name == NULL)
+ master_name = argv[i];
+ else if (shadow_name == NULL)
+ shadow_name = argv[i];
+ else bad_args (NULL);
+ }
+
+ if (master_name == NULL) bad_args(NULL);
+ if (shadow_name == NULL)
+ shadow_name = ".";
+ else if ((shadow_name[0] != '.' || shadow_name[1])
+ && master_name[0] != '/') {
+ fprintf(stderr, "Shadowing a relative directory pathname to a \n");
+ fprintf(stderr, "shadow other than '.' is not supported!\n");
+ exit(-1);
+ }
+ strcpy(shadow_buffer, shadow_name);
+ strcpy(master_start, master_name);
+ DoCopy(master_start, shadow_buffer, 0);
+ return 0;
+}
+
+int compare_strings(ptr1, ptr2)
+ char **ptr1, **ptr2;
+{
+ return strcmp(*ptr1, *ptr2);
+}
+
+void MakeLink(master, current, depth)
+ char *master;
+ char *current;
+ int depth;
+{
+ if (master[0] != '/') {
+ /* Source directory was specified with a relative pathname. */
+ if (master != master_start) {
+ fatal("Internal bug: bad string buffer use");
+ }
+ /* Pre-pend "../" depth times. This compensates for
+ * the directories we've entered. */
+ master -= 3 * depth;
+ }
+ if (symlink(master, current)) {
+ fprintf(stderr, "Failed to create symbolic link %s->%s\n",
+ current, master);
+ exit (-1);
+ }
+}
+
+
+/* Get a sorted NULL_terminator array of (char*) using 'names'
+ * (created by save_dir) as data.
+ */
+char ** get_name_pointers(names)
+ char *names;
+{
+ int n_names = 0;
+ int names_buf_size = 64;
+ char *namep;
+ char ** pointers = (char**)malloc(names_buf_size * sizeof(char*));
+ if (!names || !pointers) fatal("virtual memory exhausted");
+
+ for (namep = names; *namep; namep += strlen(namep) + 1) {
+ if (n_names + 1 >= names_buf_size) {
+ names_buf_size *= 2;
+ pointers = (char**)realloc(pointers,
+ names_buf_size * sizeof(char*));
+ if (!pointers) fatal("virtual memory exhausted");
+ }
+ pointers[n_names++] = namep;
+ }
+ pointers[n_names] = 0;
+ qsort(pointers, n_names, sizeof(char*), compare_strings);
+ return pointers;
+}
+
+/* Recursively shadow the directory whose name is in MASTER
+ * (which is == MASTER_START) into the destination directory named CURRENT.
+ */
+
+DoCopy(master, current, depth)
+ char *master; /* The source directory. */
+ char *current; /* The destination directory. */
+ int depth;
+{
+ struct stat stat_master, stat_current;
+ char **master_pointer, **current_pointer;
+ char **master_names, **current_names;
+ char *master_end, *current_end;
+ char *master_name_buf, *current_name_buf;
+ master_end = master + strlen(master);
+ current_end = current + strlen(current);
+
+ /* Get rid of terminal '/' */
+ if (master_end[-1] == '/' && master != master_end - 1)
+ *--master_end = 0;
+ if (current_end[-1] == '/' && current != current_end - 1)
+ *--current_end = 0;
+
+ if (depth >= MAX_DEPTH) {
+ fprintf(stderr,
+ "Nesting too deep (depth %d at %s). Probable circularity.\n",
+ depth, master);
+ exit(-1);
+ }
+
+ master_name_buf = savedir(master, 500);
+ if (master_name_buf == NULL) {
+ fprintf(stderr, "Not enough memory or no such directory: %s\n",
+ master);
+ exit(-1);
+ }
+ current_name_buf = savedir(current, 500);
+ if (current_name_buf == NULL) {
+ fprintf(stderr, "Not enough memory or no such directory: %s\n",
+ current);
+ exit(-1);
+ }
+
+ master_names = get_name_pointers(master_name_buf);
+ current_names = get_name_pointers(current_name_buf);
+
+ master_pointer = master_names;
+ current_pointer = current_names;
+ for (;;) {
+ int cmp, ipat;
+ int in_master, in_current;
+ char *cur_name;
+ if (*master_pointer == NULL && *current_pointer == NULL)
+ break;
+ if (*master_pointer == NULL) cmp = 1;
+ else if (*current_pointer == NULL) cmp = -1;
+ else cmp = strcmp(*master_pointer, *current_pointer);
+ if (cmp < 0) { /* file only exists in master directory */
+ in_master = 1; in_current = 0;
+ } else if (cmp == 0) { /* file exists in both directories */
+ in_master = 1; in_current = 1;
+ } else { /* file only exists in current directory */
+ in_current = 1; in_master = 0;
+ }
+ cur_name = in_master ? *master_pointer : *current_pointer;
+ sprintf(master_end, "/%s", cur_name);
+ sprintf(current_end, "/%s", cur_name);
+ for (ipat = 0; ipat < exclude_count; ipat++) {
+ char *pat = exclude_patterns[ipat];
+ char *cur;
+ if (strchr(pat, '/')) cur = current + 2; /* Skip initial "./" */
+ else cur = cur_name;
+ if (wildmat(cur, pat)) goto skip;
+ }
+ if (in_master)
+ if (lstat(master, &stat_master) != 0) fatal("stat failed");
+ if (in_current)
+ if (lstat(current, &stat_current) != 0) fatal("stat failed");
+ if (in_current && !in_master) {
+ if (S_ISLNK(stat_current.st_mode))
+ if (unlink(current)) {
+ fprintf(stderr, "Failed to remove symbolic link %s.\n",
+ current);
+ }
+ else
+ fprintf(stderr, "Removed symbolic link %s.\n",
+ current);
+ else {
+ fprintf(stderr,
+ "The file %s does not exist in the master tree.\n",
+ current);
+ }
+ }
+ else if (S_ISDIR(stat_master.st_mode)
+ && strcmp(cur_name, "RCS") != 0
+ && strcmp(cur_name, "SCCS") != 0) {
+ if (!in_current) {
+ if (mkdir(current, 0775)) fatal("mkdir failed");
+ }
+ else if (stat(current, &stat_current)) fatal("stat failed");
+ if (!in_current || stat_current.st_dev != stat_master.st_dev
+ || stat_current.st_ino != stat_master.st_ino)
+ DoCopy(master, current, depth+1);
+ else
+ fprintf(stderr, "Link %s is the same as directory %s.\n",
+ current, master);
+ }
+ else {
+ if (!in_current)
+ MakeLink(master, current, depth);
+ else if (!S_ISLNK(stat_current.st_mode)) {
+ fprintf(stderr, "Existing file %s is not a symbolic link.\n",
+ current);
+ } else {
+ if (stat(current, &stat_current) || stat(master, &stat_master))
+ fatal("stat failed");
+ if (stat_current.st_dev != stat_master.st_dev
+ || stat_current.st_ino != stat_master.st_ino) {
+ fprintf(stderr, "Fixing incorrect symbolic link %s.\n",
+ current);
+ if (unlink(current)) {
+ fprintf(stderr, "Failed to remove symbolic link %s.\n",
+ current);
+ }
+ else
+ MakeLink(master, current, depth);
+ }
+ }
+ }
+ skip:
+ if (in_master) master_pointer++;
+ if (in_current) current_pointer++;
+ }
+
+ free(master_names); free(current_names);
+ free(master_name_buf); free(current_name_buf);
+}
diff --git a/nx-X11/config/util/mkshadow/savedir.c b/nx-X11/config/util/mkshadow/savedir.c
new file mode 100644
index 000000000..6629f5a8d
--- /dev/null
+++ b/nx-X11/config/util/mkshadow/savedir.c
@@ -0,0 +1,119 @@
+/* $Xorg: savedir.c,v 1.3 2000/08/17 19:41:53 cpqbld Exp $ */
+/* savedir.c -- save the list of files in a directory in a string
+ Copyright 1990, 1993 Free Software Foundation, Inc.
+
+ Permission to use, copy, modify, and distribute this program for
+ any purpose and without fee is hereby granted, provided that this
+ copyright and permission notice appear on all copies, and that
+ notice be given that copying and distribution is by permission of
+ the Free Software Foundation. The Free Software Foundation makes
+ no representations about the suitability of this software for any
+ purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ (The FSF has modified its usual distribution terms, for this file,
+ as a courtesy to the X project.) */
+
+/* $XFree86$ */
+
+/* Written by David MacKenzie <djm@ai.mit.edu>.
+ Modified to use <dirent.h> by default. Per Bothner <bothner@cygnus.com>. */
+
+#include <sys/types.h>
+#if !defined(DIRECT) && !defined(BSD)
+#include <dirent.h>
+#define NLENGTH(direct) (strlen((direct)->d_name))
+#else
+#undef dirent
+#define dirent direct
+#define NLENGTH(direct) ((direct)->d_namlen)
+#ifdef BSD
+#include <sys/dir.h>
+#else
+#ifdef SYSNDIR
+#include <sys/ndir.h>
+#else
+#include <ndir.h>
+#endif
+#endif
+#endif
+
+#if defined(VOID_CLOSEDIR) || defined(BSD)
+/* Fake a return value. */
+#define CLOSEDIR(d) (closedir (d), 0)
+#else
+#define CLOSEDIR(d) closedir (d)
+#endif
+
+#include <stdlib.h>
+#include <string.h>
+#include <stddef.h>
+
+char *stpcpy ();
+
+/* Return a freshly allocated string containing the filenames
+ in directory DIR, separated by '\0' characters;
+ the end is marked by two '\0' characters in a row.
+ NAME_SIZE is the number of bytes to initially allocate
+ for the string; it will be enlarged as needed.
+ Return NULL if DIR cannot be opened or if out of memory. */
+
+char *
+savedir (dir, name_size)
+ char *dir;
+ unsigned name_size;
+{
+ DIR *dirp;
+ struct dirent *dp;
+ char *name_space;
+ char *namep;
+
+ dirp = opendir (dir);
+ if (dirp == NULL)
+ return NULL;
+
+ name_space = (char *) malloc (name_size);
+ if (name_space == NULL)
+ {
+ closedir (dirp);
+ return NULL;
+ }
+ namep = name_space;
+
+ while ((dp = readdir (dirp)) != NULL)
+ {
+ /* Skip "." and ".." (some NFS filesystems' directories lack them). */
+ if (dp->d_name[0] != '.'
+ || (dp->d_name[1] != '\0'
+ && (dp->d_name[1] != '.' || dp->d_name[2] != '\0')))
+ {
+ unsigned size_needed = (namep - name_space) + NLENGTH (dp) + 2;
+
+ if (size_needed > name_size)
+ {
+ char *new_name_space;
+
+ while (size_needed > name_size)
+ name_size += 1024;
+
+ new_name_space = realloc (name_space, name_size);
+ if (new_name_space == NULL)
+ {
+ closedir (dirp);
+ return NULL;
+ }
+ namep += new_name_space - name_space;
+ name_space = new_name_space;
+ }
+ strcpy (namep, dp->d_name);
+ namep += strlen (namep) + 1;
+ }
+ }
+ *namep = '\0';
+ if (CLOSEDIR (dirp))
+ {
+ free (name_space);
+ return NULL;
+ }
+ return name_space;
+}
diff --git a/nx-X11/config/util/mkshadow/wildmat.c b/nx-X11/config/util/mkshadow/wildmat.c
new file mode 100644
index 000000000..8e0c179eb
--- /dev/null
+++ b/nx-X11/config/util/mkshadow/wildmat.c
@@ -0,0 +1,167 @@
+/* $Xorg: wildmat.c,v 1.3 2000/08/17 19:41:53 cpqbld Exp $ */
+/*
+**
+** Do shell-style pattern matching for ?, \, [], and * characters.
+** Might not be robust in face of malformed patterns; e.g., "foo[a-"
+** could cause a segmentation violation. It is 8bit clean.
+**
+** Written by Rich $alz, mirror!rs, Wed Nov 26 19:03:17 EST 1986.
+** Rich $alz is now <rsalz@bbn.com>.
+** April, 1991: Replaced mutually-recursive calls with in-line code
+** for the star character.
+**
+** Special thanks to Lars Mathiesen <thorinn@diku.dk> for the ABORT code.
+** This can greatly speed up failing wildcard patterns. For example:
+** pattern: -*-*-*-*-*-*-12-*-*-*-m-*-*-*
+** text 1: -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1
+** text 2: -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1
+** Text 1 matches with 51 calls, while text 2 fails with 54 calls. Without
+** the ABORT, then it takes 22310 calls to fail. Ugh. The following
+** explanation is from Lars:
+** The precondition that must be fulfilled is that DoMatch will consume
+** at least one character in text. This is true if *p is neither '*' nor
+** '\0'.) The last return has ABORT instead of FALSE to avoid quadratic
+** behaviour in cases like pattern "*a*b*c*d" with text "abcxxxxx". With
+** FALSE, each star-loop has to run to the end of the text; with ABORT
+** only the last one does.
+**
+** Once the control of one instance of DoMatch enters the star-loop, that
+** instance will return either TRUE or ABORT, and any calling instance
+** will therefore return immediately after (without calling recursively
+** again). In effect, only one star-loop is ever active. It would be
+** possible to modify the code to maintain this context explicitly,
+** eliminating all recursive calls at the cost of some complication and
+** loss of clarity (and the ABORT stuff seems to be unclear enough by
+** itself). I think it would be unwise to try to get this into a
+** released version unless you have a good test data base to try it out
+** on.
+*/
+
+#define TRUE 1
+#define FALSE 0
+#define ABORT -1
+
+
+ /* What character marks an inverted character class? */
+#define NEGATE_CLASS '^'
+ /* Is "*" a common pattern? */
+#define OPTIMIZE_JUST_STAR
+ /* Do tar(1) matching rules, which ignore a trailing slash? */
+#undef MATCH_TAR_PATTERN
+
+
+/*
+** Match text and p, return TRUE, FALSE, or ABORT.
+*/
+static int
+DoMatch(text, p)
+ register char *text;
+ register char *p;
+{
+ register int last;
+ register int matched;
+ register int reverse;
+
+ for ( ; *p; text++, p++) {
+ if (*text == '\0' && *p != '*')
+ return ABORT;
+ switch (*p) {
+ case '\\':
+ /* Literal match with following character. */
+ p++;
+ /* FALLTHROUGH */
+ default:
+ if (*text != *p)
+ return FALSE;
+ continue;
+ case '?':
+ /* Match anything. */
+ continue;
+ case '*':
+ while (*++p == '*')
+ /* Consecutive stars act just like one. */
+ continue;
+ if (*p == '\0')
+ /* Trailing star matches everything. */
+ return TRUE;
+ while (*text)
+ if ((matched = DoMatch(text++, p)) != FALSE)
+ return matched;
+ return ABORT;
+ case '[':
+ reverse = p[1] == NEGATE_CLASS ? TRUE : FALSE;
+ if (reverse)
+ /* Inverted character class. */
+ p++;
+ for (last = 0400, matched = FALSE; *++p && *p != ']'; last = *p)
+ /* This next line requires a good C compiler. */
+ if (*p == '-' ? *text <= *++p && *text >= last : *text == *p)
+ matched = TRUE;
+ if (matched == reverse)
+ return FALSE;
+ continue;
+ }
+ }
+
+#ifdef MATCH_TAR_PATTERN
+ if (*text == '/')
+ return TRUE;
+#endif /* MATCH_TAR_ATTERN */
+ return *text == '\0';
+}
+
+
+/*
+** User-level routine. Returns TRUE or FALSE.
+*/
+int
+wildmat(text, p)
+ char *text;
+ char *p;
+{
+#ifdef OPTIMIZE_JUST_STAR
+ if (p[0] == '*' && p[1] == '\0')
+ return TRUE;
+#endif /* OPTIMIZE_JUST_STAR */
+ return DoMatch(text, p) == TRUE;
+}
+
+
+
+#ifdef TEST
+#include <stdio.h>
+
+/* Yes, we use gets not fgets. Sue me. */
+extern char *gets();
+
+
+main()
+{
+ char p[80];
+ char text[80];
+
+ printf("Wildmat tester. Enter pattern, then strings to test.\n");
+ printf("A blank line gets prompts for a new pattern; a blank pattern\n");
+ printf("exits the program.\n");
+
+ for ( ; ; ) {
+ printf("\nEnter pattern: ");
+ (void)fflush(stdout);
+ if (gets(p) == NULL || p[0] == '\0')
+ break;
+ for ( ; ; ) {
+ printf("Enter text: ");
+ (void)fflush(stdout);
+ if (gets(text) == NULL)
+ exit(0);
+ if (text[0] == '\0')
+ /* Blank line; go back and get a new pattern. */
+ break;
+ printf(" %s\n", wildmat(text, p) ? "YES" : "NO");
+ }
+ }
+
+ exit(0);
+ /* NOTREACHED */
+}
+#endif /* TEST */
diff --git a/nx-X11/config/util/printver.c b/nx-X11/config/util/printver.c
new file mode 100644
index 000000000..2dbca7457
--- /dev/null
+++ b/nx-X11/config/util/printver.c
@@ -0,0 +1,29 @@
+
+/*
+ * A simple program to make it possible to print the XFree86 version and
+ * date info as defined in xf86Version.h and xf86Date.h very early in the
+ * build process.
+ */
+
+/* $XFree86: xc/config/util/printver.c,v 1.2 2003/02/26 09:21:33 dawes Exp $ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "xf86Version.h"
+#include "xf86Date.h"
+
+int
+main()
+{
+#ifdef XF86_VERSION_MAJOR
+ printf(" version %d.%d.%d", XF86_VERSION_MAJOR, XF86_VERSION_MINOR,
+ XF86_VERSION_PATCH);
+ if (XF86_VERSION_SNAP != 0)
+ printf(".%d", XF86_VERSION_SNAP);
+#ifdef XF86_DATE
+ printf(" (%s)", XF86_DATE);
+#endif
+#endif
+ exit(0);
+}
+
diff --git a/nx-X11/config/util/revpath.c b/nx-X11/config/util/revpath.c
new file mode 100644
index 000000000..db88393cb
--- /dev/null
+++ b/nx-X11/config/util/revpath.c
@@ -0,0 +1,47 @@
+/*
+ * Copyright 1999 by The XFree86 Project, Inc.
+ */
+/* $XFree86: xc/config/util/revpath.c,v 1.2 1999/02/01 11:55:49 dawes Exp $ */
+
+/*
+ * Reverse a pathname. It returns a relative path that can be used to undo
+ * 'cd argv[1]'.
+ *
+ * It is impossible to do this in general, but this handles the cases that
+ * come up in imake. Maybe imake should use an absolute path for $(TOP)
+ * instead of a relative path so that this problem can be avoided?
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+int
+main(int argc, char *argv[])
+{
+ int levels = 0;
+ char *p;
+
+ /* Silently ignore invalid usage */
+ if (argc != 2)
+ exit(0);
+
+ /* Split the path and count the levels */
+ p = strtok(argv[1], "/");
+ while (p) {
+ if (strcmp(p, ".") == 0)
+ ;
+ else if (strcmp(p, "..") == 0)
+ levels--;
+ else
+ levels++;
+ p = strtok(NULL, "/");
+ }
+
+ while (levels-- > 0)
+ printf("../");
+
+ printf("\n");
+
+ exit(0);
+}
diff --git a/nx-X11/config/util/revpath.man b/nx-X11/config/util/revpath.man
new file mode 100644
index 000000000..5b9cace15
--- /dev/null
+++ b/nx-X11/config/util/revpath.man
@@ -0,0 +1,45 @@
+.\" $XFree86: xc/config/util/revpath.man,v 1.1 1999/01/03 03:58:14 dawes Exp $
+.TH REVPATH 1 __vendorversion__
+.SH NAME
+revpath \- generate a relative path that can be used to undo a change-directory
+.SH SYNOPSIS
+.B revpath
+.I path
+.SH DESCRIPTION
+The
+.I revpath
+program prints out a relative path that is the ``reverse'' or ``inverse'' of
+.IR path .
+Start with two directories
+.I top
+and
+.IR bottom ,
+with the latter below the former, and
+.I path
+is the location of
+.I bottom
+relative to
+.IR top .
+The output of
+.I revpath
+is the location of
+.I top
+relative to
+.IR bottom .
+The resulting path contains a trailing `/' character when the result is
+non-trivial.
+If
+.I path
+is equivalent to `.', the resulting output is empty.
+If
+.I path
+is invalid in some way (e.g., doesn't represent the path to a subdirectory)
+the output is also empty and no error messages are ever generated.
+.SH DIAGNOSTICS
+There are no diagnostics. Error conditions are silently ignored, and the
+exit status is always 0.
+.SH BUGS
+It isn't possible to reverse arbitrary relative paths.
+If any path element between the two end points of
+.I path
+is a symbolic link, the results will probably be incorrect.
diff --git a/nx-X11/config/util/syminst.sh b/nx-X11/config/util/syminst.sh
new file mode 100644
index 000000000..f9e1863d5
--- /dev/null
+++ b/nx-X11/config/util/syminst.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+#
+# syminst - install with a symbolic link back to the build tree
+#
+
+# set DOITPROG to echo to test this script
+
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+lnprog="${LNPROG-ln -s}"
+rmprog="${RMPROG-rm}"
+
+instcmd="$lnprog"
+rmcmd="$rmprog -f"
+srcdir=`pwd`/
+src=""
+dst=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) shift
+ continue;;
+
+ -m) shift
+ shift
+ continue;;
+
+ -o) shift
+ shift
+ continue;;
+
+ -g) shift
+ shift
+ continue;;
+
+ -s) shift
+ continue;;
+
+ -DIR) srcdir=`echo $2 | sed 's;/\./;/;g'`/
+ shift
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "syminst: no input file specified"
+ exit 1
+fi
+
+if [ x"$dst" = x ]
+then
+ echo "syminst: no destination specified"
+ exit 1
+fi
+
+
+# if destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+if [ -d $dst ]
+then
+ dst="$dst"/`basename $src`
+fi
+
+case $src in
+ /*) srcdir=""
+ instcmd=cp;;
+esac
+
+# get rid of the old one and mode the new one in
+
+$doit $rmcmd $dst
+$doit $instcmd $srcdir$src $dst
+
+exit 0
diff --git a/nx-X11/config/util/x11mf.sh b/nx-X11/config/util/x11mf.sh
new file mode 100644
index 000000000..2c44194d5
--- /dev/null
+++ b/nx-X11/config/util/x11mf.sh
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+#
+# generate a Makefile within the build tree
+#
+# usage: x11mf [treedir]
+#
+
+if [ x$1 != x ]; then
+ tree=$1
+else
+ tree=/x11
+fi
+
+dir=`pwd`
+top=`(cd $tree; /bin/pwd)`
+intree=no
+
+case $dir in
+ $top*) intree=yes;;
+esac
+
+if [ $intree != yes ]; then
+ echo "$0: Must be underneath $tree"
+ exit 1
+fi
+
+(cd ..; make SUBDIRS=`basename $dir` Makefiles)
diff --git a/nx-X11/config/util/xmake.cmd b/nx-X11/config/util/xmake.cmd
new file mode 100644
index 000000000..24e14947f
--- /dev/null
+++ b/nx-X11/config/util/xmake.cmd
@@ -0,0 +1,5 @@
+/* REXX */
+/* $XFree86: xc/config/util/xmake.cmd,v 3.0 1996/01/24 21:56:17 dawes Exp $ */
+'@echo off'
+PARSE ARG a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
+x11make.exe 'MAKE=x11make.exe SHELL=' a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
diff --git a/nx-X11/config/util/xmkmf.cpp b/nx-X11/config/util/xmkmf.cpp
new file mode 100644
index 000000000..3d03bde3f
--- /dev/null
+++ b/nx-X11/config/util/xmkmf.cpp
@@ -0,0 +1,70 @@
+XCOMM!/bin/sh
+
+XCOMM $XFree86: xc/config/util/xmkmf.cpp,v 1.3 2000/11/06 21:57:10 dawes Exp $
+XCOMM
+XCOMM make a Makefile from an Imakefile from inside or outside the sources
+XCOMM
+XCOMM $Xorg: xmkmf.cpp,v 1.3 2000/08/17 19:41:53 cpqbld Exp $
+
+usage="usage: $0 [-a] [top_of_sources_pathname [current_directory]]"
+
+configdirspec=CONFIGDIRSPEC
+topdir=
+curdir=.
+do_all=
+imake_defines=
+
+while [ $# -gt 0 ]
+do
+ case "$1" in
+ -D*)
+ imake_defines="$imake_defines $1"
+ shift
+ ;;
+ -a)
+ do_all="yes"
+ shift
+ ;;
+ *)
+ break
+ ;;
+ esac
+done
+
+case $# in
+ 0) ;;
+ 1) topdir=$1 ;;
+ 2) topdir=$1 curdir=$2 ;;
+ *) echo "$usage" 1>&2; exit 1 ;;
+esac
+
+case "$topdir" in
+ -*) echo "$usage" 1>&2; exit 1 ;;
+esac
+
+if [ -f Makefile ]; then
+ echo mv -f Makefile Makefile.bak
+ mv -f Makefile Makefile.bak
+fi
+
+if [ "$topdir" = "" ]; then
+ args="-DUseInstalled "$configdirspec
+else
+ args="-I$topdir/config/cf -DTOPDIR=$topdir -DCURDIR=$curdir"
+fi
+
+echo imake $imake_defines $args
+case "$do_all" in
+yes)
+ imake $imake_defines $args &&
+ echo "make Makefiles" &&
+ make Makefiles &&
+ echo "make includes" &&
+ make includes &&
+ echo "make depend" &&
+ make depend
+ ;;
+*)
+ imake $imake_defines $args
+ ;;
+esac
diff --git a/nx-X11/config/util/xmkmf.man b/nx-X11/config/util/xmkmf.man
new file mode 100644
index 000000000..8a4f234dd
--- /dev/null
+++ b/nx-X11/config/util/xmkmf.man
@@ -0,0 +1,89 @@
+.\" $Xorg: xmkmf.man,v 1.4 2001/02/09 02:03:17 xorgcvs Exp $
+.\" Copyright (c) 1993, 1994, 1998 The Open Group
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+.\" SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of The Open Group shall not
+.\" be used in advertising or otherwise to promote the sale, use or other
+.\" dealing in this Software without prior written authorization from The
+.\" Open Group.
+.\"
+.\" $XFree86: xc/config/util/xmkmf.man,v 1.2 2001/01/27 18:19:55 dawes Exp $
+.\"
+.TH XMKMF 1 __xorgversion__
+.SH NAME
+xmkmf \- create a Makefile from an Imakefile
+.SH SYNOPSIS
+.B xmkmf
+[ -a ] [
+.I topdir
+[
+.I curdir
+] ]
+.SH DESCRIPTION
+The
+.I xmkmf
+command is the normal way to create a
+.I Makefile
+from an
+.I Imakefile
+shipped with third-party software.
+.PP
+When invoked with no arguments in a directory containing an
+.I Imakefile,
+the
+.I imake
+program is run with arguments appropriate for your system
+(configured into
+.I xmkmf
+when X was built) and generates a
+.I Makefile.
+.PP
+When invoked with the
+.I \-a
+option,
+.I xmkmf
+builds the
+.I Makefile
+in the current directory, and then automatically executes
+``make Makefiles'' (in case there are subdirectories),
+``make includes'',
+and ``make depend'' for you.
+This is the normal way to configure software that is outside
+the X Consortium build tree.
+.PP
+If working inside the X Consortium build tree (unlikely unless you
+are an X developer, and even then this option is never really used), the
+.I topdir
+argument should be specified as the relative pathname from the
+current directory to the top of the build tree. Optionally,
+.I curdir
+may be specified as a relative pathname from the top of the build
+tree to the current directory. It is necessary to supply
+.I curdir
+if the current directory has subdirectories, or the
+.I Makefile
+will not be able to build the subdirectories.
+If a
+.I topdir
+is given,
+.I xmkmf
+assumes nothing is installed on your system and looks for files in
+the build tree instead of using the installed versions.
+.SH "SEE ALSO"
+imake(1)