summaryrefslogtreecommitdiff
path: root/util/cf
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:16:48 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:16:48 +0000
commit3f58440c73fee49a1cbf3a9f47ba06592f33208b (patch)
tree1a39da9e217885b74c9c0f09e6431bb66a2c0a32 /util/cf
parent7b467928c509058d60342a08c51c85693cdfa281 (diff)
import from X.Org 7.2RC2
Diffstat (limited to 'util/cf')
-rw-r--r--util/cf/Amoeba.cf428
-rw-r--r--util/cf/COPYING12
-rw-r--r--util/cf/ChangeLog69
-rw-r--r--util/cf/DGUX.cf190
-rw-r--r--util/cf/DragonFly.cf354
-rw-r--r--util/cf/FreeBSD.cf582
-rw-r--r--util/cf/Imake.cf1180
-rw-r--r--util/cf/Imake.rules3649
-rw-r--r--util/cf/Imake.tmpl2320
-rw-r--r--util/cf/Library.tmpl582
-rw-r--r--util/cf/Makefile.am151
-rw-r--r--util/cf/Makefile.in585
-rw-r--r--util/cf/Mips.cf72
-rw-r--r--util/cf/Motif.rules709
-rw-r--r--util/cf/Motif.tmpl573
-rw-r--r--util/cf/NetBSD.cf692
-rw-r--r--util/cf/Oki.cf30
-rw-r--r--util/cf/OpenBSD.cf1017
-rw-r--r--util/cf/OpenBSDLib.rules191
-rw-r--r--util/cf/OpenBSDLib.tmpl531
-rw-r--r--util/cf/QNX4.cf98
-rw-r--r--util/cf/QNX4.rules65
-rw-r--r--util/cf/README700
-rw-r--r--util/cf/Server.tmpl79
-rw-r--r--util/cf/ServerLib.tmpl142
-rw-r--r--util/cf/Threads.tmpl105
-rw-r--r--util/cf/Win32.cf133
-rw-r--r--util/cf/Win32.rules531
-rw-r--r--util/cf/WinLib.tmpl16
-rw-r--r--util/cf/X11.rules136
-rw-r--r--util/cf/X11.tmpl4783
-rw-r--r--util/cf/aclocal.m4647
-rw-r--r--util/cf/apollo.cf38
-rw-r--r--util/cf/bsd.cf37
-rw-r--r--util/cf/bsdLib.rules540
-rw-r--r--util/cf/bsdLib.tmpl100
-rw-r--r--util/cf/bsdi.cf364
-rw-r--r--util/cf/bsdiLib.rules239
-rw-r--r--util/cf/bsdiLib.tmpl43
-rw-r--r--util/cf/cde.rules226
-rw-r--r--util/cf/cde.tmpl439
-rw-r--r--util/cf/configure2682
-rw-r--r--util/cf/configure.ac20
-rw-r--r--util/cf/convex.cf102
-rw-r--r--util/cf/cray.cf49
-rw-r--r--util/cf/cross.def45
-rw-r--r--util/cf/cross.rules147
-rw-r--r--util/cf/cygwin.cf469
-rw-r--r--util/cf/cygwin.rules454
-rw-r--r--util/cf/cygwin.tmpl77
-rw-r--r--util/cf/darwin.cf330
-rw-r--r--util/cf/darwinLib.rules167
-rw-r--r--util/cf/darwinLib.tmpl61
-rw-r--r--util/cf/dmx.cf65
-rw-r--r--util/cf/fujitsu.cf95
-rw-r--r--util/cf/generic.cf21
-rw-r--r--util/cf/gnu.cf187
-rw-r--r--util/cf/gnuLib.rules176
-rw-r--r--util/cf/gnuLib.tmpl28
-rw-r--r--util/cf/hp.cf210
-rw-r--r--util/cf/hpLib.rules144
-rw-r--r--util/cf/hpLib.tmpl39
-rw-r--r--util/cf/ibm.cf198
-rw-r--r--util/cf/ibmLib.rules349
-rw-r--r--util/cf/ibmLib.tmpl96
-rw-r--r--util/cf/install-sh323
-rw-r--r--util/cf/isc.cf284
-rw-r--r--util/cf/linux.cf1076
-rw-r--r--util/cf/lnxLib.rules680
-rw-r--r--util/cf/lnxLib.tmpl86
-rw-r--r--util/cf/lnxdoc.rules145
-rw-r--r--util/cf/lnxdoc.tmpl85
-rw-r--r--util/cf/luna.cf115
-rw-r--r--util/cf/lynx.cf421
-rw-r--r--util/cf/macII.cf51
-rw-r--r--util/cf/mach.cf76
-rw-r--r--util/cf/mingw.cf551
-rw-r--r--util/cf/mingw.rules445
-rw-r--r--util/cf/mingw.tmpl77
-rw-r--r--util/cf/minix.cf64
-rw-r--r--util/cf/missing360
-rw-r--r--util/cf/moto.cf58
-rw-r--r--util/cf/ncr.cf131
-rw-r--r--util/cf/nec.cf131
-rw-r--r--util/cf/necLib.rules131
-rw-r--r--util/cf/necLib.tmpl29
-rw-r--r--util/cf/noop.rules1
-rw-r--r--util/cf/nto.cf152
-rw-r--r--util/cf/nto.rules240
-rw-r--r--util/cf/oldlib.rules109
-rw-r--r--util/cf/os2.cf212
-rw-r--r--util/cf/os2.rules112
-rw-r--r--util/cf/os2Lib.rules210
-rw-r--r--util/cf/os2Lib.tmpl208
-rw-r--r--util/cf/os2def.db5095
-rw-r--r--util/cf/osf1.cf211
-rw-r--r--util/cf/osfLib.rules163
-rw-r--r--util/cf/osfLib.tmpl53
-rw-r--r--util/cf/pegasus.cf34
-rw-r--r--util/cf/sco.cf206
-rw-r--r--util/cf/sco5.cf380
-rw-r--r--util/cf/scoLib.rules68
-rw-r--r--util/cf/sequent.cf444
-rw-r--r--util/cf/sequentLib.rules323
-rw-r--r--util/cf/sgi.cf318
-rw-r--r--util/cf/sgiLib.rules204
-rw-r--r--util/cf/sgiLib.tmpl18
-rw-r--r--util/cf/site.def148
-rw-r--r--util/cf/site.def.in148
-rw-r--r--util/cf/site.sample125
-rw-r--r--util/cf/sony.cf100
-rw-r--r--util/cf/sun.cf957
-rw-r--r--util/cf/sunLib.rules133
-rw-r--r--util/cf/sunLib.tmpl258
-rw-r--r--util/cf/sv3Lib.rules252
-rw-r--r--util/cf/sv3Lib.tmpl70
-rw-r--r--util/cf/sv4Lib.rules206
-rw-r--r--util/cf/sv4Lib.tmpl89
-rw-r--r--util/cf/svr3.cf348
-rw-r--r--util/cf/svr4.cf290
-rw-r--r--util/cf/ultrix.cf82
-rw-r--r--util/cf/usl.cf318
-rw-r--r--util/cf/x386.cf153
-rw-r--r--util/cf/xf86.rules229
-rw-r--r--util/cf/xf86.tmpl128
-rw-r--r--util/cf/xf86site.def693
-rw-r--r--util/cf/xfree86.cf2132
-rw-r--r--util/cf/xorg.cf1689
-rw-r--r--util/cf/xorg.tmpl145
-rw-r--r--util/cf/xorgsite.def768
-rw-r--r--util/cf/xorgversion.def5
-rw-r--r--util/cf/xprint_host.def305
132 files changed, 53440 insertions, 0 deletions
diff --git a/util/cf/Amoeba.cf b/util/cf/Amoeba.cf
new file mode 100644
index 000000000..858da13bd
--- /dev/null
+++ b/util/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/util/cf/COPYING b/util/cf/COPYING
new file mode 100644
index 000000000..7f33cbfd2
--- /dev/null
+++ b/util/cf/COPYING
@@ -0,0 +1,12 @@
+This is a stub file. This package has not yet had its complete licensing
+information compiled. Please see the individual source files for details on
+your rights to use and modify this software.
+
+Please submit updated COPYING files to the Xorg bugzilla:
+
+https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+All licensing questions regarding this software should be directed at the
+Xorg mailing list:
+
+http://lists.freedesktop.org/mailman/listinfo/xorg
diff --git a/util/cf/ChangeLog b/util/cf/ChangeLog
new file mode 100644
index 000000000..1cf7ccee5
--- /dev/null
+++ b/util/cf/ChangeLog
@@ -0,0 +1,69 @@
+2006-05-19 Adam Jackson <ajax@freedesktop.org>
+
+ * configure.ac:
+ Bump to 1.0.2
+
+2006-04-15 Matthieu Herrb <matthieu.herrb@laas.fr>
+
+ * Imake.tmpl:
+ rman is not built by modular tree.
+ * X11.tmpl:
+ DefaultRGBDatabase is now in share/X11
+ * configure.ac:
+ Generate site.def from site.def.in to set ProjectRoot to $prefix
+ * site.def.in:
+ Add
+ * site.def:
+ Remove
+
+2006-02-02 Jeremy C. Reed <reed@reedmedia.net>
+
+ * bsdLib.rules:
+ INSTALLMINORREV = true for DragonFly. Help DragonFly since
+ the package build system knows and uses these "minor
+ revisions". As discussed with DragonFly developer, Joerg
+ Sonnenberger. And I was told this is probably just an
+ historic artifact from a.out versioning (but would be hard
+ to change for FreeBSD because many ports pkg-plists would
+ need to be changed).
+
+2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version for X11R7 release.
+
+2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for final X11R7 release candidate.
+
+2005-12-10 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * Makefile.am:
+ * configure.ac:
+ Add configure option to set config install dir.
+
+2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for X11R7 RC3 release.
+
+2005-11-18 Adam Jackson <ajax@freedesktop.org>
+
+ * Makefile.am:
+ Bug #4726: Placate imake by building dummy host.def and friends.
+ (Joshua Baergen)
+
+2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for X11R7 RC2 release.
+
+2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ * configure.ac:
+ Update package version number for RC1 release.
+
+2005-10-05 Kevin E. Martin <kem-at-freedesktop-dot-org>
+
+ Initial revision
diff --git a/util/cf/DGUX.cf b/util/cf/DGUX.cf
new file mode 100644
index 000000000..722fe7bc6
--- /dev/null
+++ b/util/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/util/cf/DragonFly.cf b/util/cf/DragonFly.cf
new file mode 100644
index 000000000..86098f1ca
--- /dev/null
+++ b/util/cf/DragonFly.cf
@@ -0,0 +1,354 @@
+XCOMM $XdotOrg: util/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/util/cf/FreeBSD.cf b/util/cf/FreeBSD.cf
new file mode 100644
index 000000000..0d9508d16
--- /dev/null
+++ b/util/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: util/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/util/cf/Imake.cf b/util/cf/Imake.cf
new file mode 100644
index 000000000..73576a2f7
--- /dev/null
+++ b/util/cf/Imake.cf
@@ -0,0 +1,1180 @@
+XCOMM $XdotOrg: util/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/util/cf/Imake.rules b/util/cf/Imake.rules
new file mode 100644
index 000000000..f5fe3f58e
--- /dev/null
+++ b/util/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: util/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/util/cf/Imake.tmpl b/util/cf/Imake.tmpl
new file mode 100644
index 000000000..3ae849ac0
--- /dev/null
+++ b/util/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: util/cf/Imake.tmpl,v 1.17 2006/04/15 15:55:25 herrb 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 NO
+#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/util/cf/Library.tmpl b/util/cf/Library.tmpl
new file mode 100644
index 000000000..95a9207fb
--- /dev/null
+++ b/util/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/util/cf/Makefile.am b/util/cf/Makefile.am
new file mode 100644
index 000000000..9d98fa30b
--- /dev/null
+++ b/util/cf/Makefile.am
@@ -0,0 +1,151 @@
+BUILT_DEFFILES = \
+ host.def \
+ date.def \
+ version.def
+
+DEFFILES = \
+ cross.def \
+ site.def \
+ xf86site.def \
+ xorgsite.def \
+ xorgversion.def
+
+RULEFILES = \
+ Imake.rules \
+ Motif.rules \
+ OpenBSDLib.rules \
+ Win32.rules \
+ X11.rules \
+ bsdiLib.rules \
+ bsdLib.rules \
+ cde.rules \
+ cross.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 \
+ sequentLib.rules \
+ sgiLib.rules \
+ sunLib.rules \
+ sv3Lib.rules \
+ sv4Lib.rules \
+ QNX4.rules \
+ xf86.rules
+
+TMPLFILES = \
+ Imake.tmpl \
+ Library.tmpl \
+ Motif.tmpl \
+ OpenBSDLib.tmpl \
+ Server.tmpl \
+ ServerLib.tmpl \
+ Threads.tmpl \
+ WinLib.tmpl \
+ X11.tmpl \
+ bsdiLib.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 \
+ dmx.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
+
+configdir = @XCONFDIR@
+dist_config_DATA = $(RULEFILES) $(TMPLFILES) $(DEFFILES) $(CFFILES)
+config_DATA = $(BUILT_DEFFILES)
+
+EXTRA_DIST = \
+ os2def.db \
+ site.sample \
+ xprint_host.def
+
+all-local: $(BUILT_DEFFILES)
+
+host.def:
+ @touch host.def
+date.def:
+ @touch date.def
+version.def:
+ @touch version.def
+
+CLEANFILES = $(BUILT_DEFFILES)
diff --git a/util/cf/Makefile.in b/util/cf/Makefile.in
new file mode 100644
index 000000000..de0b55e4d
--- /dev/null
+++ b/util/cf/Makefile.in
@@ -0,0 +1,585 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(dist_config_DATA) \
+ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(srcdir)/site.def.in $(top_srcdir)/configure COPYING \
+ ChangeLog install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = site.def
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(configdir)" "$(DESTDIR)$(configdir)"
+configDATA_INSTALL = $(INSTALL_DATA)
+dist_configDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(config_DATA) $(dist_config_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ { test ! -d $(distdir) \
+ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XCONFDIR = @XCONFDIR@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+BUILT_DEFFILES = \
+ host.def \
+ date.def \
+ version.def
+
+DEFFILES = \
+ cross.def \
+ site.def \
+ xf86site.def \
+ xorgsite.def \
+ xorgversion.def
+
+RULEFILES = \
+ Imake.rules \
+ Motif.rules \
+ OpenBSDLib.rules \
+ Win32.rules \
+ X11.rules \
+ bsdiLib.rules \
+ bsdLib.rules \
+ cde.rules \
+ cross.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 \
+ sequentLib.rules \
+ sgiLib.rules \
+ sunLib.rules \
+ sv3Lib.rules \
+ sv4Lib.rules \
+ QNX4.rules \
+ xf86.rules
+
+TMPLFILES = \
+ Imake.tmpl \
+ Library.tmpl \
+ Motif.tmpl \
+ OpenBSDLib.tmpl \
+ Server.tmpl \
+ ServerLib.tmpl \
+ Threads.tmpl \
+ WinLib.tmpl \
+ X11.tmpl \
+ bsdiLib.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 \
+ dmx.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
+
+configdir = @XCONFDIR@
+dist_config_DATA = $(RULEFILES) $(TMPLFILES) $(DEFFILES) $(CFFILES)
+config_DATA = $(BUILT_DEFFILES)
+EXTRA_DIST = \
+ os2def.db \
+ site.sample \
+ xprint_host.def
+
+CLEANFILES = $(BUILT_DEFFILES)
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
+ cd $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+site.def: $(top_builddir)/config.status $(srcdir)/site.def.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+uninstall-info-am:
+install-configDATA: $(config_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(configdir)" || $(mkdir_p) "$(DESTDIR)$(configdir)"
+ @list='$(config_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(configdir)/$$f'"; \
+ $(configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(configdir)/$$f"; \
+ done
+
+uninstall-configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(config_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(configdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(configdir)/$$f"; \
+ done
+install-dist_configDATA: $(dist_config_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(configdir)" || $(mkdir_p) "$(DESTDIR)$(configdir)"
+ @list='$(dist_config_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(dist_configDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(configdir)/$$f'"; \
+ $(dist_configDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(configdir)/$$f"; \
+ done
+
+uninstall-dist_configDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_config_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(configdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(configdir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ mkdir $(distdir)
+ $(mkdir_p) $(distdir)/.
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r $(distdir)
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ $(am__remove_distdir)
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+dist-tarZ: distdir
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__remove_distdir)
+
+dist-shar: distdir
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__remove_distdir)
+
+dist dist-all: distdir
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+ $(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir); chmod a+w $(distdir)
+ mkdir $(distdir)/_build
+ mkdir $(distdir)/_inst
+ chmod a-w $(distdir)
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && cd $(distdir)/_build \
+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+ $(am__remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+ @cd $(distuninstallcheck_dir) \
+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA) all-local
+installdirs:
+ for dir in "$(DESTDIR)$(configdir)" "$(DESTDIR)$(configdir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-configDATA install-dist_configDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-configDATA uninstall-dist_configDATA \
+ uninstall-info-am
+
+.PHONY: all all-am all-local am--refresh check check-am clean \
+ clean-generic dist dist-all dist-bzip2 dist-gzip dist-shar \
+ dist-tarZ dist-zip distcheck distclean distclean-generic \
+ distcleancheck distdir distuninstallcheck dvi dvi-am html \
+ html-am info info-am install install-am install-configDATA \
+ install-data install-data-am install-dist_configDATA \
+ install-exec install-exec-am install-info install-info-am \
+ install-man install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+ uninstall-am uninstall-configDATA uninstall-dist_configDATA \
+ uninstall-info-am
+
+
+all-local: $(BUILT_DEFFILES)
+
+host.def:
+ @touch host.def
+date.def:
+ @touch date.def
+version.def:
+ @touch version.def
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/util/cf/Mips.cf b/util/cf/Mips.cf
new file mode 100644
index 000000000..cf0446510
--- /dev/null
+++ b/util/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/util/cf/Motif.rules b/util/cf/Motif.rules
new file mode 100644
index 000000000..283ce6ca6
--- /dev/null
+++ b/util/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/util/cf/Motif.tmpl b/util/cf/Motif.tmpl
new file mode 100644
index 000000000..d4b7d3a49
--- /dev/null
+++ b/util/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/util/cf/NetBSD.cf b/util/cf/NetBSD.cf
new file mode 100644
index 000000000..b41828059
--- /dev/null
+++ b/util/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/util/cf/Oki.cf b/util/cf/Oki.cf
new file mode 100644
index 000000000..79992e5ed
--- /dev/null
+++ b/util/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/util/cf/OpenBSD.cf b/util/cf/OpenBSD.cf
new file mode 100644
index 000000000..e7fbc659a
--- /dev/null
+++ b/util/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: util/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/util/cf/OpenBSDLib.rules b/util/cf/OpenBSDLib.rules
new file mode 100644
index 000000000..d907668f5
--- /dev/null
+++ b/util/cf/OpenBSDLib.rules
@@ -0,0 +1,191 @@
+XCOMM $OpenBSD: OpenBSDLib.rules,v 1.1.1.1 2006/11/25 16:15:51 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/util/cf/OpenBSDLib.tmpl b/util/cf/OpenBSDLib.tmpl
new file mode 100644
index 000000000..a929c797c
--- /dev/null
+++ b/util/cf/OpenBSDLib.tmpl
@@ -0,0 +1,531 @@
+XCOMM platform: $OpenBSD: OpenBSDLib.tmpl,v 1.1.1.1 2006/11/25 16:16:04 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/util/cf/QNX4.cf b/util/cf/QNX4.cf
new file mode 100644
index 000000000..b38738c46
--- /dev/null
+++ b/util/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/util/cf/QNX4.rules b/util/cf/QNX4.rules
new file mode 100644
index 000000000..3ae8fe256
--- /dev/null
+++ b/util/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/util/cf/README b/util/cf/README
new file mode 100644
index 000000000..c4c5f59ab
--- /dev/null
+++ b/util/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/util/cf/Server.tmpl b/util/cf/Server.tmpl
new file mode 100644
index 000000000..bb769c5be
--- /dev/null
+++ b/util/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/util/cf/ServerLib.tmpl b/util/cf/ServerLib.tmpl
new file mode 100644
index 000000000..18a76746d
--- /dev/null
+++ b/util/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/util/cf/Threads.tmpl b/util/cf/Threads.tmpl
new file mode 100644
index 000000000..bb0a7e805
--- /dev/null
+++ b/util/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/util/cf/Win32.cf b/util/cf/Win32.cf
new file mode 100644
index 000000000..af864a93f
--- /dev/null
+++ b/util/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/util/cf/Win32.rules b/util/cf/Win32.rules
new file mode 100644
index 000000000..f284ad207
--- /dev/null
+++ b/util/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/util/cf/WinLib.tmpl b/util/cf/WinLib.tmpl
new file mode 100644
index 000000000..b4c9b8006
--- /dev/null
+++ b/util/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/util/cf/X11.rules b/util/cf/X11.rules
new file mode 100644
index 000000000..8a176c7a3
--- /dev/null
+++ b/util/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/util/cf/X11.tmpl b/util/cf/X11.tmpl
new file mode 100644
index 000000000..95400c14d
--- /dev/null
+++ b/util/cf/X11.tmpl
@@ -0,0 +1,4783 @@
+XCOMM ----------------------------------------------------------------------
+XCOMM X Window System Build Parameters and Rules
+XCOMM $XdotOrg: util/cf/X11.tmpl,v 1.54 2006/04/15 15:55:25 herrb 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.8
+# 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 $(SHAREDIR)/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 ShareDir
+# ifdef ProjectRoot
+# define ShareDir Concat(ProjectRoot,/share/X11)
+# else
+# define ShareDir /usr/share/X11
+# endif
+#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 /* configs for xdm, xinit, etc. */
+ SHAREDIR = ShareDir /* 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/util/cf/aclocal.m4 b/util/cf/aclocal.m4
new file mode 100644
index 000000000..c7524a91d
--- /dev/null
+++ b/util/cf/aclocal.m4
@@ -0,0 +1,647 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+dnl Copyright 2005 Red Hat, Inc
+dnl
+dnl Permission to use, copy, modify, distribute, and sell this software and its
+dnl documentation for any purpose is hereby granted without fee, provided that
+dnl the above copyright notice appear in all copies and that both that
+dnl copyright notice and this permission notice appear in supporting
+dnl documentation.
+dnl
+dnl The above copyright notice and this permission notice shall be included
+dnl in all copies or substantial portions of the Software.
+dnl
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+dnl OTHER DEALINGS IN THE SOFTWARE.
+dnl
+dnl Except as contained in this notice, the name of the copyright holders shall
+dnl not be used in advertising or otherwise to promote the sale, use or
+dnl other dealings in this Software without prior written authorization
+dnl from the copyright holders.
+dnl
+
+# XORG_RELEASE_VERSION
+# --------------------
+# Adds --with/without-release-string and changes the PACKAGE and
+# PACKAGE_TARNAME to use "$PACKAGE{_TARNAME}-$RELEASE_VERSION". If
+# no option is given, PACKAGE and PACKAGE_TARNAME are unchanged.
+
+AC_DEFUN([XORG_RELEASE_VERSION],[
+ AC_ARG_WITH(release-version,
+ AC_HELP_STRING([--with-release-version=STRING],
+ [Use release version string in package name]),
+ [RELEASE_VERSION="$withval"],
+ [RELEASE_VERSION=""])
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ AC_MSG_NOTICE([Building with package name set to $PACKAGE])
+ fi
+])
+
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake. There are at least two reasons why we must not
+# use `-m 0755':
+# - it causes special bits like SGID to be ignored,
+# - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out. Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/util/cf/apollo.cf b/util/cf/apollo.cf
new file mode 100644
index 000000000..8a5196295
--- /dev/null
+++ b/util/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/util/cf/bsd.cf b/util/cf/bsd.cf
new file mode 100644
index 000000000..d47839341
--- /dev/null
+++ b/util/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/util/cf/bsdLib.rules b/util/cf/bsdLib.rules
new file mode 100644
index 000000000..b8e946bea
--- /dev/null
+++ b/util/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"
+ */
+#if !defined(FreeBSDArchitecture) || defined(DragonFlyArchitecture)
+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/util/cf/bsdLib.tmpl b/util/cf/bsdLib.tmpl
new file mode 100644
index 000000000..8d55581e3
--- /dev/null
+++ b/util/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/util/cf/bsdi.cf b/util/cf/bsdi.cf
new file mode 100644
index 000000000..d0d78ee3d
--- /dev/null
+++ b/util/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/util/cf/bsdiLib.rules b/util/cf/bsdiLib.rules
new file mode 100644
index 000000000..85a99521f
--- /dev/null
+++ b/util/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/util/cf/bsdiLib.tmpl b/util/cf/bsdiLib.tmpl
new file mode 100644
index 000000000..28087bfb0
--- /dev/null
+++ b/util/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/util/cf/cde.rules b/util/cf/cde.rules
new file mode 100644
index 000000000..315047207
--- /dev/null
+++ b/util/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/util/cf/cde.tmpl b/util/cf/cde.tmpl
new file mode 100644
index 000000000..c30a449a8
--- /dev/null
+++ b/util/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/util/cf/configure b/util/cf/configure
new file mode 100644
index 000000000..4d71309c7
--- /dev/null
+++ b/util/cf/configure
@@ -0,0 +1,2682 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59 for xorg-cf-files 1.0.2.
+#
+# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+#
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete. It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME='xorg-cf-files'
+PACKAGE_TARNAME='xorg-cf-files'
+PACKAGE_VERSION='1.0.2'
+PACKAGE_STRING='xorg-cf-files 1.0.2'
+PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT XCONFDIR LIBOBJS LTLIBOBJS'
+ac_subst_files=''
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+ac_prev=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_option in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ eval "enable_$ac_feature=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_$ac_feature='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case $ac_option in
+ *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_$ac_package='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/-/_/g'`
+ eval "with_$ac_package=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+ eval "$ac_envvar='$ac_optarg'"
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+ localstatedir libdir includedir oldincludedir infodir mandir
+do
+ eval ac_val=$`echo $ac_var`
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) ;;
+ *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+ { (exit 1); exit 1; }; }
+ else
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+ fi
+fi
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+ { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures xorg-cf-files 1.0.2 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+ cat <<_ACEOF
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --infodir=DIR info documentation [PREFIX/info]
+ --mandir=DIR man documentation [PREFIX/man]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of xorg-cf-files 1.0.2:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-config-dir=<path>
+ Path to config dir (default: ${libdir}/X11/config)
+ --with-release-version=STRING
+ Use release version string in package name
+
+Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ ac_popdir=`pwd`
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d $ac_dir || continue
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+ cd $ac_dir
+ # Check for guested configure; otherwise get Cygnus style configure.
+ if test -f $ac_srcdir/configure.gnu; then
+ echo
+ $SHELL $ac_srcdir/configure.gnu --help=recursive
+ elif test -f $ac_srcdir/configure; then
+ echo
+ $SHELL $ac_srcdir/configure --help=recursive
+ elif test -f $ac_srcdir/configure.ac ||
+ test -f $ac_srcdir/configure.in; then
+ echo
+ $ac_configure --help
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi
+ cd $ac_popdir
+ done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+ cat <<\_ACEOF
+xorg-cf-files configure 1.0.2
+generated by GNU Autoconf 2.59
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by xorg-cf-files $as_me 1.0.2, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+ # Get rid of the leading space.
+ ac_sep=" "
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+{
+ (set) 2>&1 |
+ case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ sed -n \
+ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+ ;;
+ *)
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+}
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=$`echo $ac_var`
+ echo "$ac_var='"'"'$ac_val'"'"'"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ sed "/^$/d" confdefs.h | sort
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core &&
+ rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+ ' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . $cache_file;;
+ *) . ./$cache_file;;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+ sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+ eval ac_new_val="\$ac_env_${ac_var}_value"
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+ ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f $ac_dir/shtool; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL=$ac_install_sh
+ fi
+fi
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,$program_prefix,;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ test -n "$AWK" && break
+done
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+all:
+ @echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+ SET_MAKE=
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='xorg-cf-files'
+ VERSION='1.0.2'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+
+ test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
+else
+ echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+ STRIP=$ac_ct_STRIP
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi;
+ echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
+echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+
+
+DEFAULT_XCONFDIR="${libdir}/X11/config"
+
+# Check whether --with-config-dir or --without-config-dir was given.
+if test "${with_config_dir+set}" = set; then
+ withval="$with_config_dir"
+ XCONFDIR="$withval"
+else
+ XCONFDIR="$DEFAULT_XCONFDIR"
+fi;
+
+
+
+
+# Check whether --with-release-version or --without-release-version was given.
+if test "${with_release_version+set}" = set; then
+ withval="$with_release_version"
+ RELEASE_VERSION="$withval"
+else
+ RELEASE_VERSION=""
+fi;
+ if test "x$RELEASE_VERSION" != "x"; then
+ PACKAGE="$PACKAGE-$RELEASE_VERSION"
+ PACKAGE_TARNAME="$PACKAGE_TARNAME-$RELEASE_VERSION"
+ { echo "$as_me:$LINENO: Building with package name set to $PACKAGE" >&5
+echo "$as_me: Building with package name set to $PACKAGE" >&6;}
+ fi
+
+
+ ac_config_files="$ac_config_files Makefile site.def"
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+ (set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n \
+ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+ ;;
+ esac;
+} |
+ sed '
+ t clear
+ : clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+ if test -w $cache_file; then
+ test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+ cat confcache >$cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+: clear
+s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
+t quote
+s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
+t quote
+d
+: quote
+s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output. A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_i=`echo "$ac_i" |
+ sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+ # 2. Add them.
+ ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+ set -o posix
+fi
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)$' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+ /^X\/\(\/\/\)$/{ s//\1/; q; }
+ /^X\/\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" || {
+ # Find who we are. Look in the path if we contain no path at all
+ # relative or not.
+ case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+ ;;
+ esac
+ # We did not find ourselves, most probably we were run as `sh COMMAND'
+ # in which case we are not to be found in the path.
+ if test "x$as_myself" = x; then
+ as_myself=$0
+ fi
+ if test ! -f "$as_myself"; then
+ { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ case $CONFIG_SHELL in
+ '')
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for as_base in sh bash ksh sh5; do
+ case $as_dir in
+ /*)
+ if ("$as_dir/$as_base" -c '
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
+ $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+ $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+ CONFIG_SHELL=$as_dir/$as_base
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+ fi;;
+ esac
+ done
+done
+;;
+ esac
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line before each line; the second 'sed' does the real
+ # work. The second script uses 'N' to pair each line-number line
+ # with the numbered line, and appends trailing '-' during
+ # substitution so that $LINENO is not a special case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
+ sed '=' <$as_myself |
+ sed '
+ N
+ s,$,-,
+ : loop
+ s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+ t loop
+ s,-$,,
+ s,^['$as_cr_digits']*\n,,
+ ' >$as_me.lineno &&
+ chmod +x $as_me.lineno ||
+ { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensible to this).
+ . ./$as_me.lineno
+ # Exit status is that of the last command.
+ exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+ *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T=' ' ;;
+ *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+ *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ # We could just check for DJGPP; but this test a) works b) is more generic
+ # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+ if test -f conf$$.exe; then
+ # Don't use ln at all; we don't have any links
+ as_ln_s='cp -p'
+ else
+ as_ln_s='ln -s'
+ fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" $as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling. Logging --version etc. is OK.
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by xorg-cf-files $as_me 1.0.2, which was
+generated by GNU Autoconf 2.59. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+ echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+ echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+ echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+ echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+xorg-cf-files config.status 1.0.2
+configured by $0, generated by GNU Autoconf 2.59,
+ with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2003 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "x$1" : 'x\([^=]*\)='`
+ ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ -*)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ *) # This is not an option, so the user has probably given explicit
+ # arguments.
+ ac_option=$1
+ ac_need_defaults=false;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --vers* | -V )
+ echo "$ac_cs_version"; exit 0 ;;
+ --he | --h)
+ # Conflict between --help and --header
+ { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; };;
+ --help | --hel | -h )
+ echo "$ac_cs_usage"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+ ac_need_defaults=false;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1" ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+ case "$ac_config_target" in
+ # Handling of arguments.
+ "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "site.def" ) CONFIG_FILES="$CONFIG_FILES site.def" ;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+ trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./confstat$$-$RANDOM
+ (umask 077 && mkdir $tmp)
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+ # Protect against being on the right side of a sed subst in config.status.
+ sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+ s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@CYGPATH_W@,$CYGPATH_W,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@install_sh@,$install_sh,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
+s,@mkdir_p@,$mkdir_p,;t t
+s,@AWK@,$AWK,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@am__leading_dot@,$am__leading_dot,;t t
+s,@AMTAR@,$AMTAR,;t t
+s,@am__tar@,$am__tar,;t t
+s,@am__untar@,$am__untar,;t t
+s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t
+s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
+s,@MAINT@,$MAINT,;t t
+s,@XCONFDIR@,$XCONFDIR,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+ cat >>$CONFIG_STATUS <<\_ACEOF
+ # Split the substitutions into bite-sized pieces for seds with
+ # small command number limits, like on Digital OSF/1 and HP-UX.
+ ac_max_sed_lines=48
+ ac_sed_frag=1 # Number of current file.
+ ac_beg=1 # First line for current file.
+ ac_end=$ac_max_sed_lines # Line after last line for current file.
+ ac_more_lines=:
+ ac_sed_cmds=
+ while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ else
+ sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+ fi
+ if test ! -s $tmp/subs.frag; then
+ ac_more_lines=false
+ else
+ # The purpose of the label and of the branching condition is to
+ # speed up the sed processing (if there are no `@' at all, there
+ # is no need to browse any of the substitutions).
+ # These are the two extra sed commands mentioned above.
+ (echo ':t
+ /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+ fi
+ ac_sed_frag=`expr $ac_sed_frag + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_lines`
+ fi
+ done
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+ fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case $ac_file in
+ - | *:- | *:-:* ) # input from stdin
+ cat >$tmp/stdin
+ ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+ ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+ * ) ac_file_in=$ac_file.in ;;
+ esac
+
+ # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+ ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ { if $as_mkdir_p; then
+ mkdir -p "$ac_dir"
+ else
+ as_dir="$ac_dir"
+ as_dirs=
+ while test ! -d "$as_dir"; do
+ as_dirs="$as_dir $as_dirs"
+ as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| \
+ . : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+ /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+ /^X\(\/\/\)$/{ s//\1/; q; }
+ /^X\(\/\).*/{ s//\1/; q; }
+ s/.*/./; q'`
+ done
+ test ! -n "$as_dirs" || mkdir $as_dirs
+ fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+ { (exit 1); exit 1; }; }; }
+
+ ac_builddir=.
+
+if test "$ac_dir" != .; then
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+ ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+ .) # No --srcdir option. We are building in place.
+ ac_srcdir=.
+ if test -z "$ac_top_builddir"; then
+ ac_top_srcdir=.
+ else
+ ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+ fi ;;
+ [\\/]* | ?:[\\/]* ) # Absolute path.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir ;;
+ *) # Relative path.
+ ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+
+# Do not use `cd foo && pwd` to compute absolute paths, because
+# the directories may not exist.
+case `pwd` in
+.) ac_abs_builddir="$ac_dir";;
+*)
+ case "$ac_dir" in
+ .) ac_abs_builddir=`pwd`;;
+ [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
+ *) ac_abs_builddir=`pwd`/"$ac_dir";;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_builddir=${ac_top_builddir}.;;
+*)
+ case ${ac_top_builddir}. in
+ .) ac_abs_top_builddir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
+ *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_srcdir=$ac_srcdir;;
+*)
+ case $ac_srcdir in
+ .) ac_abs_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
+ *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
+ esac;;
+esac
+case $ac_abs_builddir in
+.) ac_abs_top_srcdir=$ac_top_srcdir;;
+*)
+ case $ac_top_srcdir in
+ .) ac_abs_top_srcdir=$ac_abs_builddir;;
+ [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
+ *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
+ esac;;
+esac
+
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ if test x"$ac_file" = x-; then
+ configure_input=
+ else
+ configure_input="$ac_file. "
+ fi
+ configure_input=$configure_input"Generated from `echo $ac_file_in |
+ sed 's,.*/,,'` by configure."
+
+ # First look for the input files in the build tree, otherwise in the
+ # src tree.
+ ac_file_inputs=`IFS=:
+ for f in $ac_file_in; do
+ case $f in
+ -) echo $tmp/stdin ;;
+ [\\/$]*)
+ # Absolute (can't be DOS-style, as IFS=:)
+ test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ echo "$f";;
+ *) # Relative
+ if test -f "$f"; then
+ # Build tree
+ echo "$f"
+ elif test -f "$srcdir/$f"; then
+ # Source tree
+ echo "$srcdir/$f"
+ else
+ # /dev/null tree
+ { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+ { (exit 1); exit 1; }; }
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+ rm -f $tmp/stdin
+ if test x"$ac_file" != x-; then
+ mv $tmp/out $ac_file
+ else
+ cat $tmp/out
+ rm -f $tmp/out
+ fi
+
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/util/cf/configure.ac b/util/cf/configure.ac
new file mode 100644
index 000000000..6b3afced3
--- /dev/null
+++ b/util/cf/configure.ac
@@ -0,0 +1,20 @@
+AC_PREREQ([2.57])
+AC_INIT(xorg-cf-files, [1.0.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-cf-files)
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
+
+DEFAULT_XCONFDIR="${libdir}/X11/config"
+AC_ARG_WITH(config-dir,
+ AS_HELP_STRING([--with-config-dir=<path>], [Path to config dir (default: ${libdir}/X11/config)]),
+ [XCONFDIR="$withval"],
+ [XCONFDIR="$DEFAULT_XCONFDIR"])
+AC_SUBST(XCONFDIR)
+
+XORG_RELEASE_VERSION
+
+AC_OUTPUT([
+ Makefile
+ site.def
+])
diff --git a/util/cf/convex.cf b/util/cf/convex.cf
new file mode 100644
index 000000000..3b522f7a7
--- /dev/null
+++ b/util/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/util/cf/cray.cf b/util/cf/cray.cf
new file mode 100644
index 000000000..2cc570f56
--- /dev/null
+++ b/util/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/util/cf/cross.def b/util/cf/cross.def
new file mode 100644
index 000000000..958c746ce
--- /dev/null
+++ b/util/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 /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/util/cf/cross.rules b/util/cf/cross.rules
new file mode 100644
index 000000000..da02643af
--- /dev/null
+++ b/util/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/util/cf/cygwin.cf b/util/cf/cygwin.cf
new file mode 100644
index 000000000..73ed8cec5
--- /dev/null
+++ b/util/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/util/cf/cygwin.rules b/util/cf/cygwin.rules
new file mode 100644
index 000000000..d144755af
--- /dev/null
+++ b/util/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/util/cf/cygwin.tmpl b/util/cf/cygwin.tmpl
new file mode 100644
index 000000000..404b62845
--- /dev/null
+++ b/util/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/util/cf/darwin.cf b/util/cf/darwin.cf
new file mode 100644
index 000000000..77e63865b
--- /dev/null
+++ b/util/cf/darwin.cf
@@ -0,0 +1,330 @@
+XCOMM $XdotOrg: util/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/util/cf/darwinLib.rules b/util/cf/darwinLib.rules
new file mode 100644
index 000000000..01f69d3e3
--- /dev/null
+++ b/util/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/util/cf/darwinLib.tmpl b/util/cf/darwinLib.tmpl
new file mode 100644
index 000000000..0d3c4368f
--- /dev/null
+++ b/util/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/util/cf/dmx.cf b/util/cf/dmx.cf
new file mode 100644
index 000000000..f5e25f313
--- /dev/null
+++ b/util/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/util/cf/fujitsu.cf b/util/cf/fujitsu.cf
new file mode 100644
index 000000000..3615d3074
--- /dev/null
+++ b/util/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/util/cf/generic.cf b/util/cf/generic.cf
new file mode 100644
index 000000000..dd1cd10a7
--- /dev/null
+++ b/util/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/util/cf/gnu.cf b/util/cf/gnu.cf
new file mode 100644
index 000000000..db6c1d30e
--- /dev/null
+++ b/util/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: util/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/util/cf/gnuLib.rules b/util/cf/gnuLib.rules
new file mode 100644
index 000000000..10045500e
--- /dev/null
+++ b/util/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/util/cf/gnuLib.tmpl b/util/cf/gnuLib.tmpl
new file mode 100644
index 000000000..012277c1d
--- /dev/null
+++ b/util/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/util/cf/hp.cf b/util/cf/hp.cf
new file mode 100644
index 000000000..370476bd1
--- /dev/null
+++ b/util/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/util/cf/hpLib.rules b/util/cf/hpLib.rules
new file mode 100644
index 000000000..4d68f13eb
--- /dev/null
+++ b/util/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/util/cf/hpLib.tmpl b/util/cf/hpLib.tmpl
new file mode 100644
index 000000000..c955aaaab
--- /dev/null
+++ b/util/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/util/cf/ibm.cf b/util/cf/ibm.cf
new file mode 100644
index 000000000..7cbb3f856
--- /dev/null
+++ b/util/cf/ibm.cf
@@ -0,0 +1,198 @@
+XCOMM platform: $XdotOrg: util/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/util/cf/ibmLib.rules b/util/cf/ibmLib.rules
new file mode 100644
index 000000000..432560e10
--- /dev/null
+++ b/util/cf/ibmLib.rules
@@ -0,0 +1,349 @@
+XCOMM $Xorg: ibmLib.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XdotOrg: util/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/util/cf/ibmLib.tmpl b/util/cf/ibmLib.tmpl
new file mode 100644
index 000000000..757ba66b9
--- /dev/null
+++ b/util/cf/ibmLib.tmpl
@@ -0,0 +1,96 @@
+XCOMM $Xorg: ibmLib.tmpl,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
+XCOMM $XdotOrg: util/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/util/cf/install-sh b/util/cf/install-sh
new file mode 100644
index 000000000..4d4a9519e
--- /dev/null
+++ b/util/cf/install-sh
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# 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
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+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}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c (ignored)
+-d create directories instead of installing files.
+-g GROUP $chgrpprog installed files to GROUP.
+-m MODE $chmodprog installed files to MODE.
+-o USER $chownprog installed files to USER.
+-s $stripprog installed files.
+-t DIRECTORY install into DIRECTORY.
+-T report an error if DSTFILE is a directory.
+--help display this help and exit.
+--version display version info and exit.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+ case $1 in
+ -c) shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd=$stripprog
+ shift
+ continue;;
+
+ -t) dstarg=$2
+ shift
+ shift
+ continue;;
+
+ -T) no_target_directory=true
+ shift
+ continue;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ *) # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ test -n "$dir_arg$dstarg" && break
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dstarg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dstarg"
+ shift # fnord
+ fi
+ shift # arg
+ dstarg=$arg
+ done
+ break;;
+ esac
+done
+
+if test -z "$1"; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call `install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+for src
+do
+ # Protect names starting with `-'.
+ case $src in
+ -*) src=./$src ;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ src=
+
+ if test -d "$dst"; then
+ mkdircmd=:
+ chmodcmd=
+ else
+ mkdircmd=$mkdirprog
+ fi
+ else
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dstarg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+
+ dst=$dstarg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst ;;
+ esac
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test -n "$no_target_directory"; then
+ echo "$0: $dstarg: Is a directory" >&2
+ exit 1
+ fi
+ dst=$dst/`basename "$src"`
+ fi
+ fi
+
+ # This sed command emulates the dirname command.
+ dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+ # Make sure that the destination directory exists.
+
+ # Skip lots of stat calls in the usual case.
+ if test ! -d "$dstdir"; then
+ defaultIFS='
+ '
+ IFS="${IFS-$defaultIFS}"
+
+ oIFS=$IFS
+ # Some sh's can't handle IFS=/ for some reason.
+ IFS='%'
+ set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+ shift
+ IFS=$oIFS
+
+ pathcomp=
+
+ while test $# -ne 0 ; do
+ pathcomp=$pathcomp$1
+ shift
+ if test ! -d "$pathcomp"; then
+ $mkdirprog "$pathcomp"
+ # mkdir can fail with a `File exist' error in case several
+ # install-sh are creating the directory concurrently. This
+ # is OK.
+ test -d "$pathcomp" || exit
+ fi
+ pathcomp=$pathcomp/
+ done
+ fi
+
+ if test -n "$dir_arg"; then
+ $doit $mkdircmd "$dst" \
+ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+ else
+ dstfile=`basename "$dst"`
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+ trap '(exit $?); exit' 1 2 13 15
+
+ # Copy the file name to the temp name.
+ $doit $cpprog "$src" "$dsttmp" &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+ # Now rename the file to the real destination.
+ { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+ || {
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ if test -f "$dstdir/$dstfile"; then
+ $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+ || {
+ echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+ (exit 1); exit 1
+ }
+ else
+ :
+ fi
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+ }
+ }
+ fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+ (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/util/cf/isc.cf b/util/cf/isc.cf
new file mode 100644
index 000000000..b4078e4d1
--- /dev/null
+++ b/util/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/util/cf/linux.cf b/util/cf/linux.cf
new file mode 100644
index 000000000..8e3e4d4a4
--- /dev/null
+++ b/util/cf/linux.cf
@@ -0,0 +1,1076 @@
+XCOMM $XdotOrg: util/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/util/cf/lnxLib.rules b/util/cf/lnxLib.rules
new file mode 100644
index 000000000..0cc71d325
--- /dev/null
+++ b/util/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/util/cf/lnxLib.tmpl b/util/cf/lnxLib.tmpl
new file mode 100644
index 000000000..f1eb5ac4b
--- /dev/null
+++ b/util/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/util/cf/lnxdoc.rules b/util/cf/lnxdoc.rules
new file mode 100644
index 000000000..a538920df
--- /dev/null
+++ b/util/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/util/cf/lnxdoc.tmpl b/util/cf/lnxdoc.tmpl
new file mode 100644
index 000000000..af5faf385
--- /dev/null
+++ b/util/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/util/cf/luna.cf b/util/cf/luna.cf
new file mode 100644
index 000000000..8ca01b2b7
--- /dev/null
+++ b/util/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/util/cf/lynx.cf b/util/cf/lynx.cf
new file mode 100644
index 000000000..2668a362e
--- /dev/null
+++ b/util/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/util/cf/macII.cf b/util/cf/macII.cf
new file mode 100644
index 000000000..8b0ce689b
--- /dev/null
+++ b/util/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/util/cf/mach.cf b/util/cf/mach.cf
new file mode 100644
index 000000000..1347e7da9
--- /dev/null
+++ b/util/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/util/cf/mingw.cf b/util/cf/mingw.cf
new file mode 100644
index 000000000..a9cdedc53
--- /dev/null
+++ b/util/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/util/cf/mingw.rules b/util/cf/mingw.rules
new file mode 100644
index 000000000..505b0685c
--- /dev/null
+++ b/util/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/util/cf/mingw.tmpl b/util/cf/mingw.tmpl
new file mode 100644
index 000000000..6be56d117
--- /dev/null
+++ b/util/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/util/cf/minix.cf b/util/cf/minix.cf
new file mode 100644
index 000000000..ba101dc48
--- /dev/null
+++ b/util/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/util/cf/missing b/util/cf/missing
new file mode 100644
index 000000000..894e786e1
--- /dev/null
+++ b/util/cf/missing
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ tar try tar, gnutar, gtar, then tar without non-portable flags
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+ lex|yacc)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ tar)
+ if test -n "$run"; then
+ echo 1>&2 "ERROR: \`tar' requires --run"
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ exit 1
+ fi
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running `$TOOL --version' or `$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acinclude.m4' or \`${configure_ac}'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`${configure_ac}'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`acconfig.h' or \`${configure_ac}'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get \`$1' as part of \`Autoconf' from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+ test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' $msg. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ \`Help2man' package in order for those modifications to take
+ effect. You can get \`Help2man' from any GNU archive site."
+
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+ fi
+ if [ -f "$file" ]; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit 1
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is $msg. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ tar)
+ shift
+
+ # We have already tried tar in the generic part.
+ # Look for gnutar/gtar before invocation to avoid ugly error
+ # messages.
+ if (gnutar --version > /dev/null 2>&1); then
+ gnutar "$@" && exit 0
+ fi
+ if (gtar --version > /dev/null 2>&1); then
+ gtar "$@" && exit 0
+ fi
+ firstarg="$1"
+ if shift; then
+ case "$firstarg" in
+ *o*)
+ firstarg=`echo "$firstarg" | sed s/o//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ case "$firstarg" in
+ *h*)
+ firstarg=`echo "$firstarg" | sed s/h//`
+ tar "$firstarg" "$@" && exit 0
+ ;;
+ esac
+ fi
+
+ echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+ You may want to install GNU tar or Free paxutils, or check the
+ command line arguments."
+ exit 1
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/util/cf/moto.cf b/util/cf/moto.cf
new file mode 100644
index 000000000..b43295932
--- /dev/null
+++ b/util/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/util/cf/ncr.cf b/util/cf/ncr.cf
new file mode 100644
index 000000000..64dfdb038
--- /dev/null
+++ b/util/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/util/cf/nec.cf b/util/cf/nec.cf
new file mode 100644
index 000000000..8fb072ff7
--- /dev/null
+++ b/util/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/util/cf/necLib.rules b/util/cf/necLib.rules
new file mode 100644
index 000000000..713ebdd80
--- /dev/null
+++ b/util/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/util/cf/necLib.tmpl b/util/cf/necLib.tmpl
new file mode 100644
index 000000000..e586af01b
--- /dev/null
+++ b/util/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/util/cf/noop.rules b/util/cf/noop.rules
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/util/cf/noop.rules
@@ -0,0 +1 @@
+
diff --git a/util/cf/nto.cf b/util/cf/nto.cf
new file mode 100644
index 000000000..e3b94fec1
--- /dev/null
+++ b/util/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/util/cf/nto.rules b/util/cf/nto.rules
new file mode 100644
index 000000000..e5023e26f
--- /dev/null
+++ b/util/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/util/cf/oldlib.rules b/util/cf/oldlib.rules
new file mode 100644
index 000000000..3ee19eb79
--- /dev/null
+++ b/util/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/util/cf/os2.cf b/util/cf/os2.cf
new file mode 100644
index 000000000..5e5905ce5
--- /dev/null
+++ b/util/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/util/cf/os2.rules b/util/cf/os2.rules
new file mode 100644
index 000000000..a5f26aca0
--- /dev/null
+++ b/util/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/util/cf/os2Lib.rules b/util/cf/os2Lib.rules
new file mode 100644
index 000000000..decbd72ed
--- /dev/null
+++ b/util/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/util/cf/os2Lib.tmpl b/util/cf/os2Lib.tmpl
new file mode 100644
index 000000000..a15b86936
--- /dev/null
+++ b/util/cf/os2Lib.tmpl
@@ -0,0 +1,208 @@
+XCOMM $XdotOrg: util/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/util/cf/os2def.db b/util/cf/os2def.db
new file mode 100644
index 000000000..095b3e548
--- /dev/null
+++ b/util/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/util/cf/osf1.cf b/util/cf/osf1.cf
new file mode 100644
index 000000000..9bb8cdc42
--- /dev/null
+++ b/util/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/util/cf/osfLib.rules b/util/cf/osfLib.rules
new file mode 100644
index 000000000..7f9a386d0
--- /dev/null
+++ b/util/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/util/cf/osfLib.tmpl b/util/cf/osfLib.tmpl
new file mode 100644
index 000000000..82b7f92b7
--- /dev/null
+++ b/util/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/util/cf/pegasus.cf b/util/cf/pegasus.cf
new file mode 100644
index 000000000..0a6f53a37
--- /dev/null
+++ b/util/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/util/cf/sco.cf b/util/cf/sco.cf
new file mode 100644
index 000000000..dff6a659f
--- /dev/null
+++ b/util/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/util/cf/sco5.cf b/util/cf/sco5.cf
new file mode 100644
index 000000000..bccf2a643
--- /dev/null
+++ b/util/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: util/cf/sco5.cf,v 1.8 2005/11/21 01:16:18 jkj 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 YES
+#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/util/cf/scoLib.rules b/util/cf/scoLib.rules
new file mode 100644
index 000000000..60393b5db
--- /dev/null
+++ b/util/cf/scoLib.rules
@@ -0,0 +1,68 @@
+XCOMM $XdotOrg: util/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/util/cf/sequent.cf b/util/cf/sequent.cf
new file mode 100644
index 000000000..99ba9b461
--- /dev/null
+++ b/util/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/util/cf/sequentLib.rules b/util/cf/sequentLib.rules
new file mode 100644
index 000000000..7f77e3feb
--- /dev/null
+++ b/util/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/util/cf/sgi.cf b/util/cf/sgi.cf
new file mode 100644
index 000000000..70e727c60
--- /dev/null
+++ b/util/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/util/cf/sgiLib.rules b/util/cf/sgiLib.rules
new file mode 100644
index 000000000..2d5cd7dfd
--- /dev/null
+++ b/util/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/util/cf/sgiLib.tmpl b/util/cf/sgiLib.tmpl
new file mode 100644
index 000000000..7ef4f1494
--- /dev/null
+++ b/util/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/util/cf/site.def b/util/cf/site.def
new file mode 100644
index 000000000..0673f6dbd
--- /dev/null
+++ b/util/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/local
+#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/util/cf/site.def.in b/util/cf/site.def.in
new file mode 100644
index 000000000..998527a32
--- /dev/null
+++ b/util/cf/site.def.in
@@ -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 @prefix@
+#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/util/cf/site.sample b/util/cf/site.sample
new file mode 100644
index 000000000..e712f7dbf
--- /dev/null
+++ b/util/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/util/cf/sony.cf b/util/cf/sony.cf
new file mode 100644
index 000000000..014cedcf7
--- /dev/null
+++ b/util/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/util/cf/sun.cf b/util/cf/sun.cf
new file mode 100644
index 000000000..6ea83b279
--- /dev/null
+++ b/util/cf/sun.cf
@@ -0,0 +1,957 @@
+XCOMM $XdotOrg: util/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/util/cf/sunLib.rules b/util/cf/sunLib.rules
new file mode 100644
index 000000000..11256b2ad
--- /dev/null
+++ b/util/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/util/cf/sunLib.tmpl b/util/cf/sunLib.tmpl
new file mode 100644
index 000000000..cdd13e558
--- /dev/null
+++ b/util/cf/sunLib.tmpl
@@ -0,0 +1,258 @@
+XCOMM $Xorg: sunLib.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: util/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/util/cf/sv3Lib.rules b/util/cf/sv3Lib.rules
new file mode 100644
index 000000000..00c1d7d3d
--- /dev/null
+++ b/util/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/util/cf/sv3Lib.tmpl b/util/cf/sv3Lib.tmpl
new file mode 100644
index 000000000..c9fd32331
--- /dev/null
+++ b/util/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/util/cf/sv4Lib.rules b/util/cf/sv4Lib.rules
new file mode 100644
index 000000000..e027fdbee
--- /dev/null
+++ b/util/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/util/cf/sv4Lib.tmpl b/util/cf/sv4Lib.tmpl
new file mode 100644
index 000000000..d209e83ff
--- /dev/null
+++ b/util/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/util/cf/svr3.cf b/util/cf/svr3.cf
new file mode 100644
index 000000000..88ee4faab
--- /dev/null
+++ b/util/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/util/cf/svr4.cf b/util/cf/svr4.cf
new file mode 100644
index 000000000..46410f091
--- /dev/null
+++ b/util/cf/svr4.cf
@@ -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/util/cf/ultrix.cf b/util/cf/ultrix.cf
new file mode 100644
index 000000000..51bd20dba
--- /dev/null
+++ b/util/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/util/cf/usl.cf b/util/cf/usl.cf
new file mode 100644
index 000000000..e8a52c427
--- /dev/null
+++ b/util/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 YES
+#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/util/cf/x386.cf b/util/cf/x386.cf
new file mode 100644
index 000000000..d7d4c803f
--- /dev/null
+++ b/util/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/util/cf/xf86.rules b/util/cf/xf86.rules
new file mode 100644
index 000000000..3c69445f4
--- /dev/null
+++ b/util/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/util/cf/xf86.tmpl b/util/cf/xf86.tmpl
new file mode 100644
index 000000000..ba352445e
--- /dev/null
+++ b/util/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/util/cf/xf86site.def b/util/cf/xf86site.def
new file mode 100644
index 000000000..d445c1c72
--- /dev/null
+++ b/util/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/util/cf/xfree86.cf b/util/cf/xfree86.cf
new file mode 100644
index 000000000..f7c151c41
--- /dev/null
+++ b/util/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/util/cf/xorg.cf b/util/cf/xorg.cf
new file mode 100644
index 000000000..0a065efe7
--- /dev/null
+++ b/util/cf/xorg.cf
@@ -0,0 +1,1689 @@
+XCOMM $XdotOrg: util/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/util/cf/xorg.tmpl b/util/cf/xorg.tmpl
new file mode 100644
index 000000000..1d9530c14
--- /dev/null
+++ b/util/cf/xorg.tmpl
@@ -0,0 +1,145 @@
+XCOMM $Xorg: xf86.tmpl,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
+XCOMM $XdotOrg: util/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/util/cf/xorgsite.def b/util/cf/xorgsite.def
new file mode 100644
index 000000000..dea5ceb92
--- /dev/null
+++ b/util/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/util/cf/xorgversion.def b/util/cf/xorgversion.def
new file mode 100644
index 000000000..51a86f6ba
--- /dev/null
+++ b/util/cf/xorgversion.def
@@ -0,0 +1,5 @@
+#define XORG_VERSION_MAJOR 6
+#define XORG_VERSION_MINOR 8
+#define XORG_VERSION_PATCH 99
+#define XORG_VERSION_SNAP 903
+#define XORG_DATE "03 December 2005 + cvs"
diff --git a/util/cf/xprint_host.def b/util/cf/xprint_host.def
new file mode 100644
index 000000000..a9b4cee2f
--- /dev/null
+++ b/util/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 ################
+ * #########################################################################
+ */