XCOMM platform: $Xorg: Amoeba.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $ XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.10tsi Exp $ /* The presence of this configuration file in the X distribution * does not imply full support for the system it describes. * Additional patches from The XFree86 Project, Inc. will be required to * compile the X distribution on Amoeba. According to them, these patches * will also be made available at the regular Amoeba ftp site * ftp.am.cs.vu.nl. */ /* * Configuration file for Amoeba 5.2 */ #ifndef OSName #define OSName Amoeba 5.2 #endif XCOMM operating system: OSName #ifndef OSMajorVersion #define OSMajorVersion 5 #endif #ifndef OSMinorVersion #define OSMinorVersion 2 #endif #ifndef OSTeenyVersion #define OSTeenyVersion 0 #endif #ifndef OSVendor #define OSVendor Vrije Universiteit #endif #define AmoebaArchitecture YES /* Configuration defaults */ #ifndef AmoebaTop #define AmoebaTop __AM_TOP__ #endif #ifndef AmoebaBin #define AmoebaBin $(ATOP)/bin.sun4 #endif #ifndef AmoebaConf #define AmoebaConf __AM_CONF__ #endif #define HasNdbm YES #define NeedSdbm YES #define HasShm NO #define HasSecureRPC NO #define SetTtyGroup NO #define HasPutenv YES #define HasSockets NO #define HasStreams NO #if defined(Sun3Architecture) || defined(SparcArchitecture) #define XsunAmoebaServer YES #define XsunAmoebaMonoServer YES #endif #define BuildFonts NO #define BuildFontServer NO #define BuildXIE NO #define YaccCmd byacc #define TermcapLibrary /* in libajax */ #define LexLib /* not needed */ #define ServerOSDefines XFree86ServerOSDefines #define UsrLibDir $(DESTDIR)/profile/module/x11/lib #define LibDir $(DESTDIR)/profile/module/x11/lib #define ManDirectoryRoot $(DESTDIR)/profile/module/x11/man #define BinDir $(DESTDIR)/profile/module/x11/bin #define IncRoot $(DESTDIR)/profile/module/x11/include #define FontDir $(DESTDIR)/profile/module/x11/fonts/$(ARCH) #define DefaultRGBDatabase $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb #define ManSuffix 1 #define ManPath ManDirectoryRoot #define XmanLocalSearchPath ManDirectoryRoot #define DefaultUserPath :/bin:$(BINDIR) #define DefaultSystemPath /bin:$(BINDIR): #define StandardIncludes -I$(ATOP)/src/h \ -I$(ATOP)/src/h/posix \ -I$(ATOP)/src/h/posix/machdep/$(ARCH) \ -I$(ATOP)/src/h/machdep/arch/$(ARCH) \ -I$(ATOP)/src/h/toolset/$(TOOLSET) #define Malloc0ReturnsNull YES #define ServerInstallFlags -s 32 #define FontDefines -DFONT_SNF #define ConnectionFlags -DAMTCPCONN -DAMRPCCONN #define ServerXdmcpDefines /* no -DXDMCP */ #define UseRgbTxt YES #define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC) #define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */ #if defined(i386Architecture) #ifndef AckToolset #define AckToolset YES #define ExtraFPLoadFlags -fp #endif #define XF86MonoServer YES #endif #if defined(Sun3Architecture) #ifndef AckToolset #define AckToolset YES #endif #endif #if AckToolset #define CcCmd ack #define ServerCcCmd ack #define LdCmd ack #define AckArchOption -mam_$(ARCH) #define DefaultCCOptions AckArchOption #define LibraryCCOptions AckArchOption #define LdCombineFlags -Rled-r -c.out #define ArCmd aal clrv #define RanlibCmd /bin/true #define AsCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption #define AsIncl -I$(ATOP)/src/h/machdep/arch/$(ARCH) #define AsmDefines -DACK_ASSEMBLER #define LdPreLib /**/ #define LdPostLib /**/ #endif #if defined(SparcArchitecture) #define AllocateLocalDefines -DINCLUDE_ALLOCA_H #define CcCmd cc #define ServerCcCmd cc #define LdCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld #define DefaultCCOptions -sun4 #define LibraryCCOptions -sun4 #define AmoebaCompilerDefs -Usun #define ServerExtraDefines AllocateLocalDefines #define LdPostLib /**/ #endif #ifndef AmoebaCompilerDefs #define AmoebaCompilerDefs /**/ #endif #define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs #define StandardDefines CommonAmoebaDefines #define StandardCppDefines StandardDefines #ifndef ExtraFPLoadFlags #define ExtraFPLoadFlags #endif #define MathLibrary $(ALIB)/math/libmath.a #define OSLibraries $(ALIB)/ajax/libajax.a \ $(ALIB)/amoeba/libamoeba.a \ MathLibrary \ ExtraFPLoadFlags #define ServerExtraSysLibs $(CBRT) OSLibraries #define ExtraLoadFlags OSLibraries ATOP = AmoebaTop ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib #if AckToolset /* The ACK toolset already links in the appropriate head.o by default */ HEAD = #else HEAD = $(ALIB)/head/head.o #endif ABIN = AmoebaBin AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN) AINSTALLFLAGS = TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN) MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN) /* Make wizardy: */ COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) #if defined(i386Architecture) ARCH = i80386 TOOLSET = ack ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32 #include <xorg.cf> #endif #if defined(Sun3Architecture) ARCH = mc68000 TOOLSET = ack ALDFLAGS = -.c -Rcv-s32 #endif #if defined(SparcArchitecture) ARCH = sparc TOOLSET = sun SPARCLIBDIR = AmoebaBin/gnu/sparc ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR) #endif #define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE /* * The rest of this files consists of rules to allow cross-compilation * and installation of binaries and data files from the Unix host to * the Amoeba file system. */ /* #ifdef CROSS_COMPILING */ #define CrossCompiling YES #define HostLinkRule(target, flags, src, libs) cc -o target src #define LinkRule(program,options,objects,libraries) \ $(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS) /* ComplexHostProgramTarget - Compile a program such that we can run * it on this host, i.e., don't use the default cross compiler. */ #ifndef ComplexHostProgramTarget #define ComplexHostProgramTarget(program) @@\ CC=cc @@\ STD_INCLUDES= @@\ CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\ EXTRA_LOAD_FLAGS= @@\ PROGRAM = program @@\ @@\ AllTarget(program) @@\ @@\ program: $(OBJS) $(DEPLIBS) @@\ RemoveTargetProgram($@) @@\ HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\ @@\ DependTarget() @@\ @@\ LintTarget() @@\ @@\ clean:: @@\ RemoveFile(ProgramTargetName(program)) #endif /* ComplexHostProgramTarget */ #ifndef SimpleHostProgramTarget #define SimpleHostProgramTarget(program) @@\ OBJS = program.o @@\ SRCS = program.c @@\ @@\ ComplexHostProgramTarget(program) #endif /* SimpleHostProgramTarget */ #ifndef Concat #if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp) #define Concat(a,b)a##b #else #define Concat(a,b)a/**/b #endif #endif /* * LintLibReferences - variables for lint libraries */ #ifndef LintLibReferences #define LintLibReferences(varname,libname,libsource) @@\ Concat(LINT,varname) = Concat(libsource/llib-,libname.ln) #endif /* * UnsharedLibReferences - variables for unshared libraries */ #ifndef UnsharedLibReferences #define UnsharedLibReferences(varname,libname,libsource) @@\ Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\ Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\ LintLibReferences(varname,libname,libsource) #endif #ifndef InstallLibrary #define InstallLibrary(libname,dest) @@\ install:: Concat(lib,libname.a) @@\ @echo '** TODO: Install Library ' Concat(lib,libname.a) #endif /* InstallLibrary */ #ifndef MergeIntoInstalledLibrary #define MergeIntoInstalledLibrary(tolib,fromlib) @@\ install:: fromlib @@\ @echo '** TODO: merge ' fromlib into tolib #endif /* MergeIntoInstalledLibrary */ #ifndef InstallLibraryAlias #define InstallLibraryAlias(libname,alias,dest) @@\ install:: @@\ @echo '** TODO: Install lib alias ' libname alias dest #endif /* InstallLibraryAlias */ #ifndef InstallLintLibrary #define InstallLintLibrary(libname,dest) @@\ install.ln:: Concat(llib-l,libname.ln) @@\ @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln) #endif /* InstallLintLibrary */ #ifndef InstallManPageLong #define InstallManPageLong(file,destdir,dest) @@\ install.man:: file.man @@\ @echo '** TODO: Install man page ' file.man #endif /* InstallManPageLong */ #ifndef InstallGenManPageLong #define InstallGenManPageLong(file,destdir,dest,suffix) @@\ install.man:: file.man @@\ @echo '** TODO: Install man page ' file.man #endif /* InstallGenManPageLong */ #ifndef InstallManPageAliases #define InstallManPageAliases(file,destdir,aliases) @@\ install.man:: @@\ @(TMP=/tmp/tmp.$$$$; \ @@\ $(RM) $${TMP}; \ @@\ echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\ for i in aliases; do (set -x; \ @@\ $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\ done; \ @@\ $(RM) $${TMP}) #endif /* InstallManPageAliases */ #ifndef InstallGenManPageAliases #define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\ install.man:: @@\ @(TMP=/tmp/tmp.$$$$; \ @@\ $(RM) $${TMP}; \ @@\ echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\ for i in aliases; do (set -x; \ @@\ $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\ done; \ @@\ $(RM) $${TMP}) #endif /* InstallGenManPageAliases */ #ifndef InstallNamedNonExec #define InstallNamedNonExec(srcname,dstname,dest) @@\ install:: srcname @@\ $(MKXDIRHIER) $(DESTDIR)dest @@\ $(TOB) srcname $(DESTDIR)dest/dstname #endif /* InstallNamedNonExec */ #ifndef InstallNonExecFile #define InstallNonExecFile(file,dest) @@\ install:: file @@\ $(MKXDIRHIER) dest @@\ $(TOB) file dest/file #endif /* InstallNonExecFile */ #ifndef InstallNonExec #define InstallNonExec(file,dest) @@\ install:: file @@\ $(TOB) file dest/file #endif /* InstallNonExec */ #ifndef InstallProgramWithFlags #define InstallProgramWithFlags(program,dest,flags) @@\ install:: program @@\ $(MKXDIRHIER) dest/program @@\ $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH) #endif /* InstallProgramWithFlags */ #ifndef InstallScript #define InstallScript(program,dest) @@\ install:: program.script @@\ $(TOB) program.script dest/program #endif /* InstallScript */ #ifndef InstallNamedScript #define InstallNamedScript(srcname,dstname,dest) @@\ install:: srcname @@\ $(TOB) srcname dest/dstname #endif /* InstallNamedScript */ #ifndef InstallNamedProg #define InstallNamedProg(srcname,dstname,dest) @@\ install:: srcname @@\ $(MKXDIRHIER) $(DESTDIR)dest/dstname @@\ $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH) #endif /* InstallNamedProg */ #ifndef InstallMultipleDestFlags #define InstallMultipleDestFlags(step,list,dest,flags) @@\ step:: list @@\ $(MKXDIRHIER) $(DESTDIR)dest @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ for i in list; do \ @@\ (set -x; $(TOB) $$i dest/$$i); \ @@\ done #endif /* InstallMultipleDestFlags */ #ifndef InstallMultipleProg #define InstallMultipleProg(list,dest) @@\ install:: list @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ for i in list; do \ @@\ (set -x; \ @@\ $(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\ $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\ done #endif /* InstallMultipleProg */ #ifndef InstallAppDefaults #if InstallAppDefFiles #define InstallAppDefaults(class) @@\ install:: class.ad @@\ $(MKXDIRHIER) $(XAPPLOADDIR) @@\ $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class #else #define InstallAppDefaults(class) #endif /* InstallAppDefFiles */ #endif /* InstallAppDefaults */ #ifndef InstallAppDefaultsLong #if InstallAppDefFiles #define InstallAppDefaultsLong(file,class) @@\ install:: file.ad @@\ $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\ $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class #else #define InstallAppDefaultsLong(file,class) #endif /* InstallAppDefFiles */ #endif /* InstallAppDefaultsLong */ /* #endif CROSS_COMPILE */