New upstream version 3.5.99.27

This commit is contained in:
geos_one
2025-08-08 20:00:36 +02:00
commit bc8d10cc33
4267 changed files with 1757978 additions and 0 deletions

2
nx-X11/config/cf/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
date.def
nxversion.def

1072
nx-X11/config/cf/Imake.cf Normal file

File diff suppressed because it is too large Load Diff

3627
nx-X11/config/cf/Imake.rules Normal file

File diff suppressed because it is too large Load Diff

2247
nx-X11/config/cf/Imake.tmpl Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,74 @@
XCOMM Some compilers generate fatal errors if an -L directory does
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
LDPRELIB =
LDPRELIBS =
#ifdef LocalConfigFiles
LOCALFILES = LocalConfigFiles
#endif
#ifndef InstallEmptyHostDef
HOSTDEFFILES = \
host.def
#endif
#if defined(XorgVersion)
VERSIONDEFFILES =
#endif
DEFFILES = \
xorgsite.def \
$(VERSIONDEFFILES) \
$(HOSTDEFFILES) \
site.def \
xorgversion.def \
nxversion.def
RULEFILES = \
X11.rules \
lnxLib.rules \
noop.rules \
xf86.rules
TMPLFILES = \
Library.tmpl \
Server.tmpl \
ServerLib.tmpl \
Threads.tmpl \
X11.tmpl \
lnxLib.tmpl \
xorg.tmpl
CFFILES = \
linux.cf \
xorg.cf
INSTFILES = $(RULEFILES) $(TMPLFILES) $(DEFFILES) $(CFFILES) $(LOCALFILES)
all::
#if BuildLibraries
InstallMultipleDestFlags(install,$(INSTFILES),$(CONFIGDIR),$(INSTDATFLAGS))
#endif
InstallDriverSDKMultipleDestFlags($(INSTFILES),$(DRIVERSDKDIR)/config/cf,$(INSTDATFLAGS))
#ifdef InstallEmptyHostDef
install::
@(TMP=/tmp/tmp.$$$$; \
RemoveFile($${TMP}); \
echo "" > $${TMP}; \
$(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $${TMP} \
$(DESTDIR)$(CONFIGDIR)/host.def; \
RemoveFile($${TMP}))
#if defined(XorgVersion)
install.sdk::
@(TMP=/tmp/tmp.$$$$; \
RemoveFile($${TMP}); \
echo "" > $${TMP}; \
$(INSTALL) $(INSTALLFLAGS) $(INSTDATFLAGS) $${TMP} \
$(DESTDIR)$(DRIVERSDKDIR)/config/cf/host.def; \
RemoveFile($${TMP}))
#endif
#endif

View File

@@ -0,0 +1,575 @@
/*
* 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.
*/
#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

544
nx-X11/config/cf/README Normal file
View File

@@ -0,0 +1,544 @@
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
ExtraInstallLoadFlags system-specific loader flags for later installation
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?
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
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
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
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
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
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
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
UseTIRPC force usage of libtirpc
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
BuildDBE build DOUBLE-BUFFER extension
BuildDPMS build Display Power Management Signaling extension
BuildIncRoot relative path to location of headers in build
BuildIncTop path from build includes directory to top
BuildPlugin build xrx plug-in for web browsers
BuildRECORD Build RECORD extension
BuildServer build X server
BuildXCSecurity Build Security Extension
BuildXInputExt build X Input extension (requires ddx support,
which exists only in Xhp and XFree86)
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
DebugLibX11 build libX11_d.a
DefaultCursorTheme name of default cursor theme
DefaultFontPath default server font path
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
ForceNormalLib force building of .a in addition to shared lib
HasXdmAuth boolean for using XDM-AUTHORIZATION-1;
needs Wraphelp.c, see Release Notes
InstallLibManPages boolean for installing library man pages
InstallSecurityConfig install server security policy file over old?
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
NormalLibX11 build libX11.a
OsNameDefines If uname(2) unavailable, set to -DOS_NAME=OSName
PrimaryScreenResolution resolution of default server screen
ProfileLibX11 build libX11_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
SharedLibX11 boolean for making sharable libX11.so
ShmDefines MIT-SHM define
TwmDir directory in which to install twm config files
UseCCMakeDepend boolean for using alternate makedepend script
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
XdmConfigurationSubdirectory name of default xdm configuration
XdmDir directory in which to install xdm files
XinitDir directory in which to install xinit files
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:
SharedX11Reqs required libs for libX11.so
SharedX11Rev version number for libX11.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?
SvgaConfig default SVGA configuration
HasGetReturnAddress util/memleak
HasShadowPasswd system has getspnam() function
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
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.

View File

@@ -0,0 +1,72 @@
/*
* Server imakefile info - this contains any special redefinitions, etc.
* that Imakefiles in the server subtree will need.
*/
#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 XorgVersion
#include <xorg.tmpl>
#endif

View File

@@ -0,0 +1,141 @@
/*
* 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

View File

@@ -0,0 +1,99 @@
/*
* 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

131
nx-X11/config/cf/X11.rules Normal file
View File

@@ -0,0 +1,131 @@
/* 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)/lib/nx/bin
#elif defined(ProjectRoot)
# define XBinDir $(PROJECTROOT)/lib/nx/bin
#else
# define XBinDir $(BINDIR)
#endif
#ifdef X11ProjectRoot
# define XUsrLibDirPath $(USRLIBDIR):$(XPROJECTROOT)
#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)
#else
# define XLdPreLibs /**/
#endif
#ifdef LdPreLibs
# undef LdPreLibs
#endif
#define LdPreLibs LdPreLib XLdPreLibs
#ifdef X11ProjectRoot
# define XLdPostLibs -L$(XPROJECTROOT)
#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/nx
# else
# define TopXInclude /**/
# endif
# endif
#endif
#ifdef TopIncludes
# undef TopIncludes
#endif
#define TopIncludes TopInclude $(TOP_X_INCLUDES)
#if UseInstalledX11 && defined(X11ProjectRoot)
# define X11BuildLibPath $(XPROJECTROOT)
#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

1562
nx-X11/config/cf/X11.tmpl Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
/*
* 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_DEFAULT_SOURCE -D_GNU_SOURCE -DX_LOCALE
#undef CcCmd
#define StdIncDir /opt/Embedix/tools/arm-linux/include
#define PreIncDir
#undef PostIncDir
#define PostIncDir /opt/Embedix/tools/lib/gcc-lib/arm-linux/2.95.2/include
#define CcCmd /opt/Embedix/tools/bin/arm-linux-gcc
#undef CplusplusCmd
#define HasCplusplus YES
#define CplusplusCmd /opt/Embedix/tools/bin/arm-linux-g++
#define DoRanlibCmd YES
#define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib
#undef ExtraLoadFlags
#define ExtraLoadFlags
#undef ExtraInstallLoadFlags
#define ExtraInstallLoadFlags
#define FbNoPixelAddrCode
#undef TermcapLibrary
#define TermcapLibrary -ltermcap
#undef LdPostLib
#define LdPostLib -L/opt/Embedix/tools/arm-linux/lib
#undef ExtensionOSDefines
#define ExtensionOSDefines
#define ServerXdmcpDefines /**/
#define HostCcCmd cc
#endif
#include <cross.rules>

View File

@@ -0,0 +1,145 @@
#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 */

183
nx-X11/config/cf/gnu.cf Normal file
View File

@@ -0,0 +1,183 @@
#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_DEFAULT_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
#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 overridden 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 NO
#include <gnuLib.rules>
XCOMM XXX Might need this if they are not careful with slashes.
XCOMM #define DirFailPrefix -
#include <xorg.cf>

View File

@@ -0,0 +1,186 @@
/*
* GNU/Hurd shared library rules
*
*/
/*
* 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 YES
#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,--enable-new-dtags -Wl,-rpath=\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
#else
#define RpathLoadFlags /**/
#endif
#endif
#ifndef RpathInstallLoadFlags
#if UseRpath
#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH)
#else
#define RpathInstallLoadFlags /**/
#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,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH)
#else
#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
#endif
#endif
#ifndef ExtraInstallLoadFlags
#ifdef UseInstalled
XCOMM XXX Maybe superfluous.
#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH)
#else
#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
#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 */

View File

@@ -0,0 +1,6 @@
XCOMM
XCOMM GNU Hurd shared library template
XCOMM
#define SharedX11Reqs
#define SharedXlibi18nReqs $(LDPRELIB) $(XONLYLIB)

543
nx-X11/config/cf/host.def Normal file
View File

@@ -0,0 +1,543 @@
/**************************************************************************/
/* */
/* Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com) */
/* Copyright (c) 2008-2017 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> */
/* Copyright (c) 2011-2022 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>*/
/* Copyright (c) 2014-2019 Mihai Moldovan <ionic@ionic.de> */
/* Copyright (c) 2014-2022 Ulrich Sibiller <uli42@gmx.de> */
/* Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com) */
/* */
/* nx-X11, NX protocol compression and NX extensions to this software */
/* are copyright of the aforementioned persons and companies. */
/* */
/* Redistribution and use of the present software is allowed according */
/* to terms specified in the file LICENSE which comes in the source */
/* distribution. */
/* */
/* All rights reserved. */
/* */
/**************************************************************************/
/******************************************************************************/
/*
* 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 defined(SunArchitecture)
#define ProjectRoot /usr/openwin
#endif
/*
* Enable use the Cygwin IPC libraries to get MIT-SHM support.
*/
#if defined(cygwinArchitecture)
#define UseCygIPC YES
#endif
/*
* If you have build-specific modifications in your host.def file, but
* want an empty host.def file installed when doing 'make install',
* uncomment the following
*
#define InstallEmptyHostDef
*/
/*
* Which servers to build. There is only Xorg server.
* It can be disabled by the following.
*
#define XorgServer NO
*/
#define XorgServer NO
/*
* Building libraries with NX enhancements is disabled
* by default. You should enable this in your host.def.
*
#define NXLibraries YES
*/
#define NXLibraries YES
/*
* Building the NX agent nested server is disabled
* by default. Enable this in your host.def.
*
#define NXAgentServer YES
*/
#define NXAgentServer YES
#ifdef NXAgentServer
#define BuildRenderLibrary YES
#endif
/*
* Set the default server (ie the one that gets the sym-link to "X")
*
#define ServerToInstall Xorg
*/
/*
* Force build of X libraries if any nested server is to be built.
*
#define BuildLibraries YES
*
* If you just want libraries for NXAgentServer, this should be
* enough (never tested, although).
*
#define BuildLibrariesForXServers YES
*/
#if NXAgentServer
#define BuildLibraries YES
#endif
#define BuildDocs NO
#define BuildComposite YES
/*
* Server configuration parameters. The defaults are shown here:
*/
/*
* 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 use the deprecated, old keyboard driver, uncomment this. But
* even better, make the new keyboard driver (hw/xfree86/input/keyboard)
* work for your architecture. The old driver will be removed in the
* next release.
*
#define UseDeprecatedKeyboardDriver YES
*/
/*
* Include True Type Fonts to default font path. It is safe to do
* this by default as NX intaller carries only misc and TTF in the
* basic set of fonts installed under Windows.
*
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/
*/
#if defined(LinuxArchitecture) || defined(SunArchitecture) || defined(FreeBSDArchitecture)
#define DefaultFontPath $(FONTDIR)/misc/,$(FONTDIR)/Type1/,$(FONTDIR)/75dpi/,$(FONTDIR)/100dpi/,$(FONTDIR)/TTF/
#endif /* #if defined(LinuxArchitecture) || defined(SunArchitecture) */
#if defined(cygwinArchitecture)
#define DefaultFontPath /mnt/NX/fonts/base/,/mnt/NX/fonts/misc/,/mnt/NX/fonts/Type1/,/mnt/NX/fonts/75dpi/,/mnt/NX/fonts/100dpi/,/mnt/NX/fonts/TTF/
#endif /* #if defined(cygwinArchitecture) */
/*
* To build only the servers with a cut-down source tree, uncomment
* this.
*
#define BuildServersOnly YES
*/
#define BuildServersOnly YES
/*
* 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
*/
/*
* Unless you're a developer you shouldn't need to change anything
* beyond this point.
*/
/*
* If you want to enable some developer settings, like more verbose
* compiler warnings, uncomment this.
*
#define XFree86Devel YES
*/
/*
* If using GCC 2.x on a system where it isn't the default, uncomment
* the following
*
*/
#if defined(SunArchitecture)
#define HasGcc2 YES
#define HasGcc YES
#endif
/*
* The default optimisation flags for GCC 2.x. -fno-strength-reduce is
* here to work around a bug in -O2 for GCC 2.x on i386 platforms.
* If you are using a version that doesn't have this bug, you can
* uncomment the following line, and remove '-fno-strength-reduce'
* If you are building binaries for a 486, it may be beneficial to add
* -m486
*
#define DefaultGcc2i386Opt -O2 -fno-strength-reduce
*/
#if defined (LinuxArchitecture)
#define DefaultGcc2i386Opt -g -O3
#endif
/*
* Enable all the optimizations on AMD64.
*/
#define DefaultGcc2AMD64Opt -g -O3 GccAliasingArgs
/*
* This allows the GCC warning flags to be set. The default is shown here.
*
#define GccWarningOptions -Wall -Wpedantic -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wredundant-decls -Wnested-externs -Wshadow
*/
/*
* 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
*/
/*
* Some Linux releases don't have a libtermcap. In this case you may need
* to uncomment the following
*
#define TermcapLibrary -lncurses
*/
/*
* 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 disable building XInput support, uncomment this
*
#define BuildXInputExt NO
*/
#if defined(SunArchitecture)
#define BuildXInputExt YES
#endif
/*
* Uncomment this for joystick support.
*
* Note: Joystick support is broken, so don't enable this.
*
#define JoystickSupport YES
*/
/*
* To disable the ScreenSaver Extension, uncomment this line.
*
#define BuildScreenSaverExt NO
*/
#define BuildScreenSaverExt YES
/*
* If you don't want to build Xinerama support, uncomment this.
*
#define BuildXinerama NO
*/
#define BuildXinerama YES
/*
* If you don't want to build support for the GLX extension, uncomment this.
*
#define BuildGlxExt NO
*/
#define BuildGlxExt YES
/*
* Taken from xorg.cf.
*/
#if defined(SparcArchitecture) \
|| defined (Sparc64Architecture) \
|| defined(ia64Architecture) \
|| defined(s390xArchitecture) \
|| defined(AMD64Architecture)
#define GlxExtraDefines -D__GLX_ALIGN64
#endif
#define BuildXKB YES
#define BuildXKBlib YES
/*
* If you want to build against libXfont2, rather than libXfont(1), uncomment this.
*
#define HasXfont2 YES
*/
/*
* If building against libXfont(1) and using a legacy version (lower than 1.4.2),
* uncomment this.
*
#define HasLegacyXfont1 YES
*/
/*
* If building with SHM support enabled and using a legacy Xext protocol
* version (lower than 7.1.0), uncomment this.
*
#define HasLegacyXextProto YES
*/
/*
* If you are running NetBSD 0.9C or later, and have the aperture driver
* installed, uncomment this.
*
#define HasNetBSDApertureDriver YES
*/
/*
* If you are running SVR3 and have the mmap driver installed (for linear
* framebuffer access) uncomment this.
*
#define HasSVR3mmapDrv YES
*/
/*
* If you are using an SVR3 (like ISC 4.x) which supports long file names,
* you can uncomment this to have manual pages installed under their
* full names
*
#define ExpandManNames YES
*/
/*
* For a POSIXized build on Interactive uncomment this
* Could be used with gcc 'till Version 2.6.3
* Should be used with gcc 2.7.2.
*
#define UsePosix YES
*/
/*
* If you don't want XDMAUTH support (if you don't have Wraphelp.c),
* comment this out.
*
*/
#if defined(LinuxArchitecture)
#define HasXdmAuth YES
#endif /* #if defined(LinuxArchitecture) */
/*
* 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,...} variables
* to build debugging versions of the libraries separately.)
*
#define DebuggableLibraries YES
*/
#if defined(LinuxArchitecture)
#define DebuggableLibraries YES
#endif /* #if defined(LinuxArchitecture) */
/*
* To forceably build static libraries in addition to shared libraries,
* uncomment this.
*
#define ForceNormalLib YES
*/
/*
* Uncomment this if your default tools (eg, gcc, ld, as, etc) are
* not the Linux ELF versions.
*
#define LinuxElfDefault NO
*/
/*
* To use ELF format shared libraries for supported OSs, uncomment this.
*
* For Linux the default setting of this is the same as the setting of
* LinuxElfDefault.
*
* For FreeBSD this should automatically be set correctly by imake. Only
* change it here if you need to override the automatic setting.
*
#define UseElfFormat YES
*/
/*
* For FreeBSD/ELF (FreeBSD 3.0) it is possible to also build and install
* a.out compatibility libraries. To enable that, uncomment this.
*
#define BuildAoutLibraries YES
*/
/*
* If you have trouble with make bombing out in Xlib, try uncommenting this.
* You will not get dependencies as a result, but better than nothing.
*
#define MakeHashTableBug YES
*/
/*
* If you do not want your man pages compress under SVR3 systems that
* support it, uncomment this.
*
#define CompressManPages NO
*/
/*
* If you have sgmlfmt (the XFree86 doctools package) and want to build
* formatted docs from the SGML source, uncomment this.
*
#define HasSgmlFmt YES
*/
/*
* To disable building some document formats, uncomment some of these.
*
#define BuildLinuxDocText NO
#define BuildLinuxDocHtml NO
#define BuildLinuxDocPS NO
*/
/*
* To install Japanese versions of the documentation uncomment this.
* Note: The Japanese documentation consists of a subset of the
* XFree86 3.1 docs.
*
#define InstallJapaneseDocs YES
*/
/*
* To build/install X specs docs, uncomment the following.
* The SpecsDocDirs setting here is recommended because it covers
* the docs that XFree86 has changed or added.
*
#define BuildSpecsDocs YES
#define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xmu Xv XvMC i18n
*/
/*
* To build all specs docs, not just those listed in SpecsDocDirs, uncomment
* the following.
*
#define BuildAllSpecsDocs YES
*/
/*
* If your system doesn't support vm86() mode and you have
* libx86emu set library path here
*
#define X86EMU_LIBPATH /usr/local/lib
*/

938
nx-X11/config/cf/linux.cf Normal file
View File

@@ -0,0 +1,938 @@
#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 */
# endif /* !defined(NothingOutsideProjectRoot) || !NothingOutsideProjectRoot */
# define SharedLibXdmGreet NO
# define FSUseSyslog YES
# 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 DebuggableLibraries YES
# define ForceNormalLib YES
# define BuildSpecsDocs YES
# define SpecsDocDirs CTEXT GL ICCCM X11 Xext Xv i18n xterm
# define BuildHtmlManPages NO
/* m68k has no 2.4 kernel yet */
# ifndef Mc68020Architecture
# define HasLinuxInput YES
# endif
# define HasXdmAuth YES
# define HasLatex YES
/* 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_DEFAULT_SOURCE \
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
LinuxAdditionalIncludes LinuxGnuSourceDefines \
LinuxLocaleDefines
# 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
# 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
/*
* 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
#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
#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
#ifndef HasReallocarray
#define HasReallocarray NO
#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
#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) || defined (Ppc64LeArchitecture)
# define HaveLib64 YES
# else
# define HaveLib64 NO
# endif
#endif
#if LinuxElfDefault
# if UseElfFormat
# ifdef MipsArchitecture
# ifndef AsCmd
# define AsCmd gcc -c -x assembler-with-cpp
# 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) || defined (Ppc64LeArchitecture)
# 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__
# 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 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
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64 -DJENSEN_SUPPORT
# ifdef UseCompaqMathLibrary
# define MathLibrary -lcpml -lm
# endif
#endif /* AlphaArchitecture */
#ifdef HPArchitecture
# define OptimizedCDebugFlags -O2 GccAliasingArgs
# define LinuxMachineDefines -D__hppa__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* HPArchitecture */
#ifdef Arm32Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O3
# endif
# define LinuxMachineDefines -D__arm__ -D__arm32__ -U__arm -Uarm
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* Arm32Achitecture */
#ifdef Arm64Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O3
# endif
# define LinuxMachineDefines -D__aarch64__ -U__arm -Uarm
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* Arm64Achitecture */
#ifdef i386Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2i386Opt
# endif
# define LinuxMachineDefines -D__i386__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* i386Architecture */
#ifdef ia64Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O2 GccAliasingArgs
# endif
# define LinuxMachineDefines -D__ia64__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* ia64Architecture */
#ifdef Mc68020Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O2 GccAliasingArgs
# endif
# define LinuxMachineDefines -D__mc68000__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* Mc68020Architecture */
#if defined(MipsArchitecture) && !defined(MipselArchitecture)
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2MipsOpt
# endif
# define LinuxMachineDefines -D__mips__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif
#ifdef MipselArchitecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2MipsOpt
# endif
# define LinuxMachineDefines -D__MIPSEL__
# define ServerOSDefines XFree86ServerOSDefines
# ifdef Mips64elArchitecture
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
# else
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
# endif
#endif
#if defined (Ppc64Architecture) || defined (Ppc64LeArchitecture)
# define DefaultCCOptions -std=c99 GccWarningOptions -mminimal-toc
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2Ppc64Opt
# endif
# define LinuxMachineDefines -D__powerpc64__ -D__powerpc__
# define ServerOSDefines XFree86ServerOSDefines -DPART_NET
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* Ppc64Architecture */
#ifdef PpcArchitecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2PpcOpt
# endif
# define LinuxMachineDefines -D__powerpc__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* PpcArchitecture */
#ifdef Riscv64Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O3
# endif
# define LinuxMachineDefines -D__riscv64__
# define ServerOSDefines XFree86ServerOSDefines
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* Riscv64Achitecture */
#ifdef s390Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O2 -fomit-frame-pointer GccAliasingArgs
# endif
# define LinuxMachineDefines -D__s390__
# define ServerOSDefines XFree86ServerOSDefines
# 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
#define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
#endif /* s390xArchitecture */
#ifdef SparcArchitecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O2 GccAliasingArgs
# endif
# define LinuxMachineDefines -D__sparc__
# define ServerOSDefines XFree86ServerOSDefines
# define AsVISOption -Av9a
# ifdef Sparc64Architecture
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
# else
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
# 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
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif
#ifdef AMD64Architecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2AMD64Opt
# endif
# define LinuxMachineDefines -D__amd64__
# define ServerOSDefines XFree86ServerOSDefines
# 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
#define ConnectionFlags -DUNIXCONN -DTCPCONN
/* Some of these man page defaults are overridden 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 -DLINUX_ARCHITECTURE
#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
#if HaveLib64
# ifndef LibDirName
# define LibDirName lib
# endif
# ifndef SystemUsrLibDir
# define SystemUsrLibDir /usr/lib64
# endif
# ifndef TkLibDir
# define TkLibDir /usr/lib64
# endif
#endif
#include <lnxLib.rules>
# include <xorg.cf>
#ifndef XFree86ServerOSDefines
# define XFree86ServerOSDefines
#endif

View File

@@ -0,0 +1,610 @@
/*
* Linux shared library rules (DLL & ELF versions)
*/
#ifndef HasSharedLibraries
# define HasSharedLibraries YES
#endif
#ifndef ForceNormalLib
# define ForceNormalLib NO
#endif
#ifndef UseRpath
#define UseRpath YES
#endif
#if UseElfFormat
# 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,--enable-new-dtags -Wl,-rpath,\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
#else
#define RpathLoadFlags /**/
#endif
#endif
#ifndef RpathInstallLoadFlags
#if UseRpath
#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH)
#else
#define RpathInstallLoadFlags /**/
#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,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH)
# endif
# else
# define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
# endif
# else
# define ExtraLoadFlags RpathLoadFlags
# endif
# endif
# ifndef ExtraInstallLoadFlags
# if LinuxBinUtilsMajorVersion >= 26
# ifdef UseInstalled
# if LinuxBinUtilsMajorVersion < 27
# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH)
# endif
# else
# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR):\$$ORIGIN/../../../nxcomp/src/.libs:\$$ORIGIN/../../../nxcompshad/src/.libs
# endif
# else
# define ExtraInstallLoadFlags RpathInstallLoadFlags
# 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/'`;\
test -n "${VERBOSE}" && set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T @@\
@if $(SOSYMLINK); then (test -n "${VERBOSE}" && 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); \ @@\
test -n "${VERBOSE}" && 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/'`; (test -n "${VERBOSE}" && set -x; \ @@\
cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
(test -n "${VERBOSE}" && set -x; $(RM) $$SONAME; $(LN) $@ $$SONAME); \ @@\
LinkBuildSonameLibrary($$SONAME) @@\
$(RM) $@ @@\
$(MV) $@~ $@ @@\
@if $(SOSYMLINK); then (test -n "${VERBOSE}" && 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/'`; \ @@\
test -n "${VERBOSE}" && 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; \ @@\
(test -n "${VERBOSE}" && set -x; \ @@\
$(RM) $@.$$MAJ.$$MIN~; \ @@\
cd down; $(CC) -o up/$@.$$MAJ.$$MIN~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs) || exit 1; \ @@\
(test -n "${VERBOSE}" && set -x; \ @@\
$(RM) $$SONAME; $(LN) $@.$$MAJ.$$MIN $$SONAME); \ @@\
LinkBuildSonameLibrary($$SONAME); \ @@\
(test -n "${VERBOSE}" && set -x; \ @@\
$(RM) $@.$$MAJ.$$MIN; \ @@\
$(MV) $@.$$MAJ.$$MIN~ $@.$$MAJ.$$MIN; \ @@\
$(RM) $@; \ @@\
$(LN) $@.$$MAJ.$$MIN $@); \ @@\
LinkBuildLibraryInline($@.$$MAJ.$$MIN); \ @@\
LinkBuildLibraryInline($@) @@\
@@\
clean:: @@\
@set +e; SetRevisions(rev); \ @@\
test -n "${VERBOSE}" && 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/'`; test -n "${VERBOSE}" && 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 (test -n "${VERBOSE}" && 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/'`; \ @@\
test -n "${VERBOSE}" && 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/'`; test -n "${VERBOSE}" && 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 (test -n "${VERBOSE}" && 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/'`; \ @@\
test -n "${VERBOSE}" && 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 = libNX_X11.sa libNX_SM.sa libNX_ICE.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 = libNX_X11 libNX_SM libNX_ICE
JUMP_STUBS_IMPORT_X11 = $(LIBC_SA)
JUMP_SIBARS_X11 = jump/libNX_SM.a~ jump/libNX_ICE.a~
JUMP_LDLIBS_X11 = $(JUMP_SIBARS_X11) $(JUMP_LDLIBS_libc)
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 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)
# 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/`;\
test -n "${VERBOSE}" && 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 */

View File

@@ -0,0 +1,7 @@
/*
* Linux shared library template
*/
#define SharedX11Reqs $(LDPRELIB) -ldl -lXdmcp
#define NoMessageCatalog

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,30 @@
/*
Rules to have a much cleaner compilation output
derived from Imake.rules
*/
#define RemoveFileQuiet(file) @$(RM) -f file \&>/dev/null
#define RunPrintIfFailed(cmd) @cmd || { echo failed command: cmd; exit 1; }
#define ObjectCompile(options) RemoveFileQuiet($@) @@\
ClearmakeOSName \
@echo \ \ CC $*.c @@\
RunPrintIfFailed($(CC) -c $(CFLAGS) options $*.c)
#define NormalLibraryTarget(libname,objlist) @@\
AllTarget(LibraryTargetName(libname)) @@\
@@\
LibraryTargetName(libname): objlist $(EXTRALIBRARYDEPS) @@\
@echo \ \ CCLD $@ @@\
RemoveFileQuiet($@) @@\
RunPrintIfFailed(MakeLibrary($@,objlist)) @@\
RunPrintIfFailed(RanLibrary($@)) @@\
RunPrintIfFailed(_LinkBuildLibrary($@))
#define DependTarget() @@\
DependDependency() @@\
@@\
depend:: @@\
RunPrintIfFailed($(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS))

View File

@@ -0,0 +1,4 @@
#define NX_VERSION_MAJOR ###NX_VERSION_MAJOR###
#define NX_VERSION_MINOR ###NX_VERSION_MINOR###
#define NX_VERSION_MICRO ###NX_VERSION_MICRO###
#define NX_VERSION_PATCH ###NX_VERSION_PATCH###

126
nx-X11/config/cf/site.def Normal file
View File

@@ -0,0 +1,126 @@
/***************************************************************************
* *
* 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 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(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 /etc/nx
*/
/* 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
*/
#include <host.def>
#endif /* AfterVendorCF */

127
nx-X11/config/cf/xf86.rules Normal file
View File

@@ -0,0 +1,127 @@
/*
* 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
#define InstallDriverSDKNonExecFile(file,dest) /**/
#endif
#ifndef InstallDriverSDKLibrary
#define InstallDriverSDKLibrary(libname,dest) /**/
#endif
#ifndef InstallDriverSDKNamedLibrary
#define InstallDriverSDKNamedLibrary(libname,dlibname,dest) /**/
#endif
#ifndef InstallDriverSDKNamedNonExec
#define InstallDriverSDKNamedNonExec(srcname,dstname,dest) /**/
#endif
#ifndef InstallDriverSDKNamedProg
#define InstallDriverSDKNamedProg(srcname,dstname,dest) /**/
#endif
#ifndef InstallDriverSDKSubdirs
#define InstallDriverSDKSubdirs(dirs) /**/
#endif
#ifndef InstallDriverSDKMultipleDestFlags
#define InstallDriverSDKMultipleDestFlags(list,dest,flags) /**/
#endif
#ifndef InstallDriverSDKDynamicModule
#define InstallDriverSDKDynamicModule(module,dest,subdir) /**/
#endif
#ifndef InstallDriverSDKObjectModule
#define InstallDriverSDKObjectModule(module,dest,subdir) /**/
#endif
#ifndef InstallDriverSDKObjectSubModule
#define InstallDriverSDKObjectSubModule(module,dest,subdir) /**/
#endif
#ifndef InstallDriverSDKLibraryModule
#define InstallDriverSDKLibraryModule(module,dest,subdir) /**/
#endif
#ifndef ServerDriverSDKTarget
#define ServerDriverSDKTarget(program) /**/
#endif
#ifndef InstallDriverSDKProgramWithFlags
#define InstallDriverSDKProgramWithFlags(program,dest,flags) /**/
#endif

888
nx-X11/config/cf/xorg.cf Normal file
View File

@@ -0,0 +1,888 @@
/*
* 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.
*/
/* Get and set version information. */
#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 NXAgentServer
#include "nxconfig.def"
#include "nxcompile.def"
#include "nxversion.def"
#if !defined(nxVersionString) && \
defined(NX_VERSION_MAJOR) && defined(NX_VERSION_MINOR) && \
defined(NX_VERSION_MICRO) && defined(NX_VERSION_PATCH)
#if defined(NX_VERSION_CUSTOM)
# define nxVersionString NX_VERSION_CUSTOM (`echo NX_VERSION_MAJOR NX_VERSION_MINOR NX_VERSION_MICRO NX_VERSION_PATCH | sed 's/ /./g'`)
#else
# define nxVersionString `echo NX_VERSION_MAJOR NX_VERSION_MINOR NX_VERSION_MICRO NX_VERSION_PATCH | sed 's/ /./g'`
#endif
#endif
/*
* NX versions are M.m.µ.p, and NXVersion is:
*
* M * 10000000 + m * 100000 + µ * 1000 + p
*
*/
#if !defined(nxVersion) && defined(nxVersionString)
# define nxVersion (((NX_VERSION_MAJOR) * 10000000) + ((NX_VERSION_MINOR) * 100000) + ((NX_VERSION_MICRO) * 1000) + NX_VERSION_PATCH)
NX_VERSION_CURRENT = nxVersion
NX_VERSION_CURRENT_STRING = nxVersionString
#endif
#endif /* NXAgentServer */
#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 BuildXKBlib 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
/*
* 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
/*
* 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(Ppc64Architecture) || defined(Ppc64LeArchitecture) || \
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
/*
* 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
/*
* 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
/*
* Build GLX server interface
* --- Doesn't work for 1-bit and 4-bit servers
*/
#ifndef BuildGlxExt
# define BuildGlxExt YES
#endif
#if BuildGlxExt
# define GlxCoreLibDefines -DGLX_USE_MESA
# 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 GlxCoreLibDefines GlxArchDefines
# endif
#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
#ifndef BuildRECORDlib
# define BuildRECORDlib YES
#endif
#ifndef BuildXKBlib
# define BuildXKBlib YES
#endif
#ifndef HasXfont2
# define HasXfont2 NO
#endif
#ifndef HasLegacyXfont1
# define HasLegacyXfont1 NO
#endif
#ifndef HasLegacyXextProto
# define HasLegacyXextProto NO
#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
/*
* Build the XFree86-Bigfont extension
*/
#ifndef BuildXF86BigfontExt
# define BuildXF86BigfontExt 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 HasDlsymBug
# define HasDlsymBug NO
#endif
#ifndef HasMTRRSupport
# define HasMTRRSupport NO
#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(GNUMachArchitecture) || \
(defined(KFreeBSDArchitecture) && defined(i386Architecture))
# define BuildScanpci YES
# else
# define BuildScanpci NO
# endif
#endif
/* Disable stripping installed programs for this release. */
#ifndef StripInstalledPrograms
# define StripInstalledPrograms NO
#endif
#ifndef InstallJapaneseDocs
#define InstallJapaneseDocs NO
#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
# define ExtraLoaderDefines /**/
#endif
#ifndef HasBsdMake
#define HasBsdMake NO
#endif
#ifndef MakeHasPosixVariableSubstitutions
# if !HasBsdMake && !defined(SunArchitecture)
# define MakeHasPosixVariableSubstitutions NO
# else
# define MakeHasPosixVariableSubstitutions YES
# endif
#endif
/* Server defines required for all OSs */
#ifndef XFree86ServerDefines
# define XFree86ServerDefines -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH \
XFree86XvDefines \
-DXFree86Server \
XFree86XvMCDefines \
DebugDefines XFree86XResDefines \
-DX_BYTE_ORDER=$(X_BYTE_ORDER) \
VersionDefines
#endif
#ifndef XFree86ServerOSDefines
# define XFree86ServerOSDefines -DDDXOSINIT -DSERVER_LOCK -DDDXOSFATALERROR \
-DDDXOSVERRORF -DCLIENTIDS
#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 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 referred 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)/xf86.rules
#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 -Wpedantic -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wredundant-decls -Wnested-externs -Wshadow Gcc28Warnings
# else
# define GccWarningOptions -Wall -Wpedantic -Wpointer-arith -Wshadow Gcc28Warnings
# endif
# endif
# ifndef DefaultCCOptions
# if defined(UseInstalled)
# define DefaultCCOptions /* -std=c99 */
# else
# define DefaultCCOptions -std=c99 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) || defined(Ppc64LeArchitecture))
# 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>

View File

@@ -0,0 +1,67 @@
#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
MODULE_CFLAGS = $(MODULE_PIC_FLAGS) $(MODULE_GCC_FLAGS)

View File

@@ -0,0 +1,378 @@
/******************************************************************************/
/*
* 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
*/
/*
* Set the default server (ie the one that gets the sym-link to "X")
*
#define ServerToInstall Xorg
*/
/*
* Server configuration parameters. The defaults are shown here:
*/
/*
* 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 use the deprecated, old keyboard driver, uncomment this. But
* even better, make the new keyboard driver (hw/xfree86/input/keyboard)
* work for your architecture. The old driver will be removed in the
* next release.
*
#define UseDeprecatedKeyboardDriver YES
*/
/*
* To build only the servers with a cut-down source tree, uncomment
* this.
*
#define BuildServersOnly YES
*/
/*
* 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
*/
/*
* 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 -Wpedantic -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wredundant-decls -Wnested-externs -Wshadow
*/
/*
* 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
*/
/*
* Some Linux releases don't have a libtermcap. In this case you may need
* to uncomment the following
*
#define TermcapLibrary -lncurses
*/
/*
* 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 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 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
/*
* 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,...} 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
*/

View File

@@ -0,0 +1,5 @@
#define XORG_VERSION_MAJOR 6
#define XORG_VERSION_MINOR 9
#define XORG_VERSION_PATCH 0
#define XORG_VERSION_SNAP 0
#define XORG_DATE "21 December 2005"