README file describes imake configuration standards; imake is long gone
authorTheodore Tso <tytso@mit.edu>
Wed, 8 Mar 1995 05:05:04 +0000 (05:05 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 8 Mar 1995 05:05:04 +0000 (05:05 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@5085 dc483132-0cff-0310-8789-dd5450dbe970

src/config/README [deleted file]

diff --git a/src/config/README b/src/config/README
deleted file mode 100644 (file)
index ada2639..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-
-                               X Window System
-                          Imake Configuration Guide
-
-                                  Release 4
-
-
-
-                                  Abstract
-
-This document describes the various parameters that are used to configure this
-release of the X Window System.  It should be read by anyone who is porting X
-to a new platform or attempting to change the default installation.
-
-
-
-
-0.  Overview
-
-Sources for a paper giving an overview of the build system may be found in
-./doc/config/usenixws/paper.ms.
-
-
-
-1.  Introduction
-
-Because Makefiles are inherently unportable, this release uses a tool called
-Imake to generate platform-specific Makefiles from machine-independent
-descriptions called Imakefiles.  It makes very heavy use of the C preprocessor
-both for constants and macro functions and can be somewhat tricky to master.
-However, it is invaluable for making the release easy to configure on a wide
-variety of machines.
-
-Imakefiles usually contain definitions of make variables plus one or more
-invocations of macro functions to build the desired parts of the Makefile.
-Imake reads a template file containing definitions that are common to all
-Makefiles, which includes a machine-specific file containing definitions for
-the various commonly used commands and flags for enabling certain build
-options.  It then includes a rules file in which all of the various macro
-functions are defined followed by the Imakefile being processed.  Finally,
-it appends a set of common rules to the bottom.
-
-
-
-
-2.  The template file
-
-All of the common configuration parameters and make rules are located in
-the file Imake.tmpl.  The top of the file defines some useful constants
-and then has a series of conditional blocks for setting the platform type.
-
-This requires that there be a unique preprocessor symbol that can be used to
-identify which configuration block to use.  Systems whose cpp does not define
-such a symbol must add one to the cpp_argv table in config/imakemdep.h and 
-build with BOOTSTRAPCFLAGS set to the appropriate name.  Any additional flags
-(such as -DSYSV or -DUSG) that are needed to compile imake.c should be added 
-to the file ccflags.c.
-
-Each block defines several symbol names representing the type of system
-being configured:
-
-       #define MacroIncludeFile        "PLATFORM.cf"
-       #define MacroFile               PLATFORM.cf
-       #define PLATFORMArchitecture
-
-where PLATFORM is the type of the system being configured.  The redundant
-versions are needed because one is used by cpp to include the file and the
-other is used in generating filenames.  The Architecture variable may be
-used in Imakefiles to obtain platform-specific rules or values.  The unique
-symbols that were used to select the configuration block are then undefined
-to prevent Imakefiles from using system-dependent rules as opposed to
-platform-dependent (some platforms run on multiple systems).
-
-The rest of the template file should not be edited.  Server-specific changes
-can be made in the appropriate .cf file and site-specific changes can be
-made in site.def.  Any parameter that is not set will be given a default value
-in the appropriate .tmpl file.  THESE DEFAULTS SHOULD NOT BE CHANGED.
-
-
-
-
-3.  Server-specific .cf file
-
-Differences between operating systems are handled by setting various
-configuration parameters in the .cf files.  The easiest way to create
-a new one is to:
-
-     o  find a configuration similar to yours or start with generic.cf.
-     o  set the SystemV variable if your OS is based on SVR2.
-     o  set the OSName, OSMajorVersion, and OSMinorVersion variables.
-     o  set BuildServer to NO if you are doing a client-only build.
-     o  look at the other .cf files, Imake.tmpl, and Project.tmpl to see 
-           if there are any variables you'd like to set; common ones include:
-
-               HasSockets, HasVFork, HasVoidSignalReturn, HasBsearch,
-               HasPutenv, NeedBerklibInXlib, ConnectionFlags, CcCmd, LnCmd,
-               setTtyGroup, UnalignedReferencesAllowed
-
-
-Imake.tmpl provides defaults for the following variables:
-
-       ArCmd                   command used to create libraries
-       AsCmd                   command used to run assembler
-       BootstrapCFlags         missing cpp symbols needed to get started
-       BourneShell             command used to run Bourne Shell
-       CURDIR                  current directory relative to top of sources
-       CcCmd                   command to run C compiler
-       CompatibilityFlags      flags turn on backwards compatibility
-       CompressCmd             command to run compress program
-       ConstructMFLAGS         System V option to set MFLAGS make variable
-       CpCmd                   command to copy one file to another
-       CppCmd                  command to run C preprocessor
-       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
-       DestDir                 prefix to root directory when installed
-       ExecableScripts         boolean for systems that can exec() #!/bin/sh
-       ExtraLibraries          system-specific libraries need to link
-       ExtraLoadFlags          system-specific loader flags
-       FilesToClean            files to delete in make clean
-       FortranCmd              command to run Fortran compiler
-       FortranDebugFlags       flags for Fortran debug info
-       FortranFlags            Fortran compiler flags
-       HasBsearch              boolean for libc has bsearch()
-       HasDESLibrary           boolean for system has DES library
-       HasFortran              boolean for system has Fortran compiler
-       HasGcc                  boolean for system has GNU C compiler
-       HasLargeTmp             boolean for system has /tmp space
-       HasNdbm                 boolean for system has ndbm routines
-       HasPutenv               boolean for libc has putenv()
-       HasSaberC               boolean for system has Saber C
-       HasSharedLibraries      boolean for system has shared libraries
-       HasSockets              boolean for system has BSD sockets
-       HasSunOSSharedLibraries boolean for system has SunOS shared libs
-       HasVFork                boolean for system has vfork()
-       HasVoidSignalReturn     boolean for POSIX signal() procs
-       IncRoot                 parent of X11 include directory
-       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
-       InstScrFlags            install flags for scripts
-       InstUidFlags            install flags for xterm to chown /dev/ptys
-       InstallCmd              command to install files
-       LdCmd                   command to run loader
-       LdCombineFlags          flags for incremental loading
-       LibraryCCOptions        special C compiler options for libraries
-       LibraryCDebugFlags      library debug/optimize flags to override defs
-       LibraryCcCmd            command to run C compiler in libraries
-       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
-       MacroFile               name of machine-dependent config params file
-       MacroIncludeFile        <MacroFile>
-       MakeCmd                 command to run make
-       MvCmd                   command to rename a file
-       NdbmDefines             -D's to turn on use of ndbm routines
-       NeedFunctionPrototypes  whether or not to force function prototypes
-       NeedWidePrototypes      whether or not to widen function prototypes
-       NoOpCDebugFlags         C compiler flags to not debug or optimize
-       OSMajorVersion          major version number of operating system
-       OSMinorVersion          minor version number of operating system
-       OptimizedCDebugFlags    C compiler flags to turn on optimization
-       PexCDebugFlags          special -D's for PEX
-       PreProcessCmd           command to run /lib/cpp on scripts
-       RanlibCmd               command to clean up libraries
-       RanlibInstFlags         flags to ranlib after copying
-       RmCmd                   command to delete files
-       ServerCCOptions         server C compiler options to override defaults
-       ServerCcCmd             command to run C compiler in server
-       SharedCodeDef           -D's to turn on sharable code in libraries
-       SharedLibraryDef        -D's to turn on use of 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
-       TOPDIR                  relative path to top of sources
-       TagsCmd                 command to run tags
-       UNCOMPRESSPATH          command to run uncompress
-       UnalignedReferencesAllowed      boolean for unaligned copies ok
-       UsrLibDir               directory in which to install libraries
-
-
-Project.tmpl provides defaults for the following variables:
-
-       AdmDir                  directory containing system log files
-       AllocateLocalDefines    -D's to turn on alloca()
-       AwmDir                  directory containing awm config files
-       BDFTOSNFFILT            command to run bdftosnf
-       BandAidLibraryNeeded    boolean for systems that need extra Xlib stuff
-       BandAidLibraryObjects   Xlib object files to merge in
-       BandAidLibrarySources   Xlib source files to merge in
-       BinDir                  directory in which to install programs
-       BuildExamples           boolean controlling make of examples stuff
-       BuildIncRoot            relative path to location of headers in build
-       BuildIncTop             path from build includes directory to top
-       BuildServer             boolean controlling make of server stuff
-       BuildXawBC              boolean controlling R3 compatibility in Xaw
-       ConfigDir               install directory for config files
-       ConnectionFlags         -D's for supported transports
-       ContribDir              location of user-contributed sources
-       DebugLibX               boolean for compiling extra Xlib -g
-       DebugLibXArchive        boolean for building extra libX11_g.a
-       DebugLibXaw             boolean for compiling/building) libXaw_g
-       DebugLibXext            boolean for compiling/building) libXext_g
-       DebugLibXmu             boolean for compiling/building) libXmu_g
-       DebugLibXt              boolean for compiling/building) libXt_g
-       DebugOldLibX            boolean for compiling/building) liboldX_g
-       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
-       DoInstallExtensionsIntoXlib     merge -lXext into -lX11
-       ExtensionDefines        -D's for 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
-       GwmDir                  directory in which to install gwm config stuff
-       HasInputExtension       boolean for systems that want XInput extension
-       IncRoot                 parent directory of installed header files
-       InstallAppDefFiles      boolean for installing new app defaults files
-       InstallOldHeaderFiles   boolean for installing R3-compatible headers
-       InstallXdmConfig        boolean for installing xdm config files
-       InstallXinitConfig      boolean for installing xinit files
-       LibDir                  directory in which to install X11 data files
-       LibManSuffix            man suffix for library pages
-       LibmanDir               directory in which to install library man pages
-       LibraryDefines          -D's for libraries
-       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
-       NeedBerklibInXlib       boolean for systems that need BSD emulation
-       NeedDefaultDepLibs      boolean for enabling default DEPLIBS
-       PrimaryScreenResolution resolution of default server screen
-       ProfileLibX             boolean for compiling -p Xlib
-       ProfileLibXArchive      boolean for building libX11_p
-       ProfileLibXaw           boolean for compiling/building libXaw_p
-       ProfileLibXext          boolean for compiling/building libXext_p
-       ProfileLibXmu           boolean for compiling/building libXmu_p
-       ProfileLibXt            boolean for compiling/building libXt_p
-       ProfileOldLibX          boolean for compiling/building liboldX_p
-       ProjectX                boolean indicating this is the X Window System
-       RemoveTargetProgramByMoving     boolean for rm -f that doesn't
-       SHELLPATH               -D for /bin/sh
-       ServerCDebugFlags       server debug/opt compiler flags
-       ServerDefines           -D's for server
-       SharedLibX              boolean for making sharable libX11
-       SharedLibXaw            boolean for making sharable libXaw
-       SharedLibXext           boolean for making sharable libXext
-       SharedLibXmu            boolean for making sharable libXmu
-       SharedLibXt             boolean for making sharable libXt
-       SharedOldLibX           boolean for making sharable liboldX
-       SharedOldXRev           version number for shared libX11
-       SharedXawRev            version number for shared libXaw
-       SharedXextRev           version number for shared libXext
-       SharedXlibRev           version number for shared libXmu
-       SharedXmuRev            version number for shared libXt
-       SharedXtRev             version number for shared liboldX
-       TwmDir                  directory in which to install twm config files
-       UNCOMPRESSFILT          -D of command to run uncompress
-       UseCCMakeDepend         boolean for using alternate makedepend script
-       XAppLoadDir             directory in which to install app defaults
-       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
-       XinitDir                directory in which to install xinit files
-       ZBDFTOSNFFILT           -D to run uncompress and bdftosnf
-
-
-4.  Site-specific site.def file
-
-The site.def file is used to set configuration parameters that apply to all all
-servers in a given site.  It should use #ifndef so that servers may still
-override it.  The second use for site.def is to define installation directories
-and flags.  The following additional build parameters are defined:
-
-       HasXcuWidgets           include Xcu make variables in Makefiles
-       HasXwWidgets            include Xw make variables in Makefiles
-
-
-
-5.  Imakefiles
-
-Individual Imakefiles may use any of the macros defined in Imake.rules.  Many
-of these rules use auxillary make variables:
-
-    FILE               used by lint1 phase
-    INSTALLFLAGS       used by default installs
-    LINTLIBS           used by NormalLintTarget
-    LOCAL_LIBRARIES    used by ComplexProgramTarget
-    MAKEFILE_SUBDIR    used by MakeMakeSubdirs
-    OBJS               used by ComplexProgramTarget
-    OBJS1              used by ComplexProgramTarget_1
-    OBJS2              used by ComplexProgramTarget_2
-    OBJS3              used by ComplexProgramTarget_3
-    PROGRAM            used by ComplexProgramTarget
-    PROGRAMS           used by ComplexProgramTarget_1
-    SRCS               used by DependTarget
-    SRCS1              used by DependTarget
-    SRCS2              used by DependTarget
-    SRCS3              used by DependTarget
-
-The easiest way to write an Imakefile is to find another one that does the
-same thing and modify it.
-
-The most important guidelines are that the X Libraries be refered to by their
-make variables names (e.g. $(XLIB)) rather than -llib, and should go in
-LOCAL_LIBRARIES rather than SYSTEM_LIBRARIES (which is only for things like
--lm).
-