1XCOMM platform: $Xorg: Amoeba.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $ 2XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.10tsi Exp $ 3 4/* The presence of this configuration file in the X distribution 5 * does not imply full support for the system it describes. 6 * Additional patches from The XFree86 Project, Inc. will be required to 7 * compile the X distribution on Amoeba. According to them, these patches 8 * will also be made available at the regular Amoeba ftp site 9 * ftp.am.cs.vu.nl. 10 */ 11 12/* 13 * Configuration file for Amoeba 5.2 14 */ 15 16#ifndef OSName 17#define OSName Amoeba 5.2 18#endif 19XCOMM operating system: OSName 20#ifndef OSMajorVersion 21#define OSMajorVersion 5 22#endif 23#ifndef OSMinorVersion 24#define OSMinorVersion 2 25#endif 26#ifndef OSTeenyVersion 27#define OSTeenyVersion 0 28#endif 29#ifndef OSVendor 30#define OSVendor Vrije Universiteit 31#endif 32 33#define AmoebaArchitecture YES 34 35/* Configuration defaults */ 36#ifndef AmoebaTop 37#define AmoebaTop __AM_TOP__ 38#endif 39#ifndef AmoebaBin 40#define AmoebaBin $(ATOP)/bin.sun4 41#endif 42#ifndef AmoebaConf 43#define AmoebaConf __AM_CONF__ 44#endif 45 46#define HasNdbm YES 47#define NeedSdbm YES 48#define HasShm NO 49#define HasSecureRPC NO 50#define SetTtyGroup NO 51#define HasPutenv YES 52#define HasSockets NO 53#define HasStreams NO 54 55#if defined(Sun3Architecture) || defined(SparcArchitecture) 56#define XsunAmoebaServer YES 57#define XsunAmoebaMonoServer YES 58#endif 59 60#define BuildFonts NO 61#define BuildFontServer NO 62#define BuildXIE NO 63 64#define YaccCmd byacc 65#define TermcapLibrary /* in libajax */ 66#define LexLib /* not needed */ 67 68#define ServerOSDefines XFree86ServerOSDefines 69 70#define UsrLibDir $(DESTDIR)/profile/module/x11/lib 71#define LibDir $(DESTDIR)/profile/module/x11/lib 72#define ManDirectoryRoot $(DESTDIR)/profile/module/x11/man 73#define BinDir $(DESTDIR)/profile/module/x11/bin 74#define IncRoot $(DESTDIR)/profile/module/x11/include 75#define FontDir $(DESTDIR)/profile/module/x11/fonts/$(ARCH) 76#define DefaultRGBDatabase $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb 77 78#define ManSuffix 1 79#define ManPath ManDirectoryRoot 80#define XmanLocalSearchPath ManDirectoryRoot 81 82#define DefaultUserPath :/bin:$(BINDIR) 83#define DefaultSystemPath /bin:$(BINDIR): 84 85#define StandardIncludes -I$(ATOP)/src/h \ 86 -I$(ATOP)/src/h/posix \ 87 -I$(ATOP)/src/h/posix/machdep/$(ARCH) \ 88 -I$(ATOP)/src/h/machdep/arch/$(ARCH) \ 89 -I$(ATOP)/src/h/toolset/$(TOOLSET) 90 91#define Malloc0ReturnsNull YES 92#define ServerInstallFlags -s 32 93#define FontDefines -DFONT_SNF 94#define ConnectionFlags -DAMTCPCONN -DAMRPCCONN 95#define ServerXdmcpDefines /* no -DXDMCP */ 96#define UseRgbTxt YES 97#define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC) 98#define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */ 99 100#if defined(i386Architecture) 101#ifndef AckToolset 102#define AckToolset YES 103#define ExtraFPLoadFlags -fp 104#endif 105#define XF86MonoServer YES 106#endif 107 108#if defined(Sun3Architecture) 109#ifndef AckToolset 110#define AckToolset YES 111#endif 112#endif 113 114#if AckToolset 115#define CcCmd ack 116#define ServerCcCmd ack 117#define LdCmd ack 118#define AckArchOption -mam_$(ARCH) 119#define DefaultCCOptions AckArchOption 120#define LibraryCCOptions AckArchOption 121#define LdCombineFlags -Rled-r -c.out 122#define ArCmd aal clrv 123#define RanlibCmd /bin/true 124#define AsCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption 125#define AsIncl -I$(ATOP)/src/h/machdep/arch/$(ARCH) 126#define AsmDefines -DACK_ASSEMBLER 127#define LdPreLib /**/ 128#define LdPostLib /**/ 129#endif 130 131#if defined(SparcArchitecture) 132#define AllocateLocalDefines -DINCLUDE_ALLOCA_H 133 134#define CcCmd cc 135#define ServerCcCmd cc 136#define LdCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld 137#define DefaultCCOptions -sun4 138#define LibraryCCOptions -sun4 139#define AmoebaCompilerDefs -Usun 140#define ServerExtraDefines AllocateLocalDefines 141#define LdPostLib /**/ 142#endif 143 144#ifndef AmoebaCompilerDefs 145#define AmoebaCompilerDefs /**/ 146#endif 147 148#define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs 149#define StandardDefines CommonAmoebaDefines 150#define StandardCppDefines StandardDefines 151 152#ifndef ExtraFPLoadFlags 153#define ExtraFPLoadFlags 154#endif 155#define MathLibrary $(ALIB)/math/libmath.a 156#define OSLibraries $(ALIB)/ajax/libajax.a \ 157 $(ALIB)/amoeba/libamoeba.a \ 158 MathLibrary \ 159 ExtraFPLoadFlags 160#define ServerExtraSysLibs $(CBRT) OSLibraries 161#define ExtraLoadFlags OSLibraries 162 163ATOP = AmoebaTop 164ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib 165#if AckToolset 166/* The ACK toolset already links in the appropriate head.o by default */ 167HEAD = 168#else 169HEAD = $(ALIB)/head/head.o 170#endif 171 172ABIN = AmoebaBin 173AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN) 174AINSTALLFLAGS = 175TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN) 176MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN) 177 178/* Make wizardry: */ 179COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c 180LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) 181 182#if defined(i386Architecture) 183ARCH = i80386 184TOOLSET = ack 185ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32 186 187#include <xorg.cf> 188#endif 189 190#if defined(Sun3Architecture) 191ARCH = mc68000 192TOOLSET = ack 193ALDFLAGS = -.c -Rcv-s32 194#endif 195 196#if defined(SparcArchitecture) 197ARCH = sparc 198TOOLSET = sun 199SPARCLIBDIR = AmoebaBin/gnu/sparc 200ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR) 201#endif 202 203#define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE 204 205/* 206 * The rest of this files consists of rules to allow cross-compilation 207 * and installation of binaries and data files from the Unix host to 208 * the Amoeba file system. 209 */ 210 211/* #ifdef CROSS_COMPILING */ 212#define CrossCompiling YES 213 214#define HostLinkRule(target, flags, src, libs) cc -o target src 215 216#define LinkRule(program,options,objects,libraries) \ 217$(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS) 218 219/* ComplexHostProgramTarget - Compile a program such that we can run 220 * it on this host, i.e., don't use the default cross compiler. 221 */ 222#ifndef ComplexHostProgramTarget 223#define ComplexHostProgramTarget(program) @@\ 224 CC=cc @@\ 225 STD_INCLUDES= @@\ 226 CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\ 227EXTRA_LOAD_FLAGS= @@\ 228 PROGRAM = program @@\ 229 @@\ 230AllTarget(program) @@\ 231 @@\ 232program: $(OBJS) $(DEPLIBS) @@\ 233 RemoveTargetProgram($@) @@\ 234 HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\ 235 @@\ 236DependTarget() @@\ 237 @@\ 238LintTarget() @@\ 239 @@\ 240clean:: @@\ 241 RemoveFile(ProgramTargetName(program)) 242#endif /* ComplexHostProgramTarget */ 243 244#ifndef SimpleHostProgramTarget 245#define SimpleHostProgramTarget(program) @@\ 246 OBJS = program.o @@\ 247 SRCS = program.c @@\ 248 @@\ 249ComplexHostProgramTarget(program) 250#endif /* SimpleHostProgramTarget */ 251 252 253#ifndef Concat 254#if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp) 255#define Concat(a,b)a##b 256#else 257#define Concat(a,b)a/**/b 258#endif 259#endif 260 261/* 262 * LintLibReferences - variables for lint libraries 263 */ 264#ifndef LintLibReferences 265#define LintLibReferences(varname,libname,libsource) @@\ 266Concat(LINT,varname) = Concat(libsource/llib-,libname.ln) 267#endif 268 269/* 270 * UnsharedLibReferences - variables for unshared libraries 271 */ 272#ifndef UnsharedLibReferences 273#define UnsharedLibReferences(varname,libname,libsource) @@\ 274Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\ 275 Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\ 276LintLibReferences(varname,libname,libsource) 277#endif 278 279#ifndef InstallLibrary 280#define InstallLibrary(libname,dest) @@\ 281install:: Concat(lib,libname.a) @@\ 282 @echo '** TODO: Install Library ' Concat(lib,libname.a) 283#endif /* InstallLibrary */ 284 285#ifndef MergeIntoInstalledLibrary 286#define MergeIntoInstalledLibrary(tolib,fromlib) @@\ 287install:: fromlib @@\ 288 @echo '** TODO: merge ' fromlib into tolib 289#endif /* MergeIntoInstalledLibrary */ 290 291#ifndef InstallLibraryAlias 292#define InstallLibraryAlias(libname,alias,dest) @@\ 293install:: @@\ 294 @echo '** TODO: Install lib alias ' libname alias dest 295#endif /* InstallLibraryAlias */ 296 297#ifndef InstallLintLibrary 298#define InstallLintLibrary(libname,dest) @@\ 299install.ln:: Concat(llib-l,libname.ln) @@\ 300 @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln) 301#endif /* InstallLintLibrary */ 302 303#ifndef InstallManPageLong 304#define InstallManPageLong(file,destdir,dest) @@\ 305install.man:: file.man @@\ 306 @echo '** TODO: Install man page ' file.man 307#endif /* InstallManPageLong */ 308 309#ifndef InstallGenManPageLong 310#define InstallGenManPageLong(file,destdir,dest,suffix) @@\ 311install.man:: file.man @@\ 312 @echo '** TODO: Install man page ' file.man 313#endif /* InstallGenManPageLong */ 314 315#ifndef InstallManPageAliases 316#define InstallManPageAliases(file,destdir,aliases) @@\ 317install.man:: @@\ 318 @(TMP=/tmp/tmp.$$$$; \ @@\ 319 $(RM) $${TMP}; \ @@\ 320 echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\ 321 for i in aliases; do (set -x; \ @@\ 322 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\ 323 done; \ @@\ 324 $(RM) $${TMP}) 325#endif /* InstallManPageAliases */ 326 327#ifndef InstallGenManPageAliases 328#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\ 329install.man:: @@\ 330 @(TMP=/tmp/tmp.$$$$; \ @@\ 331 $(RM) $${TMP}; \ @@\ 332 echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\ 333 for i in aliases; do (set -x; \ @@\ 334 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\ 335 done; \ @@\ 336 $(RM) $${TMP}) 337#endif /* InstallGenManPageAliases */ 338 339#ifndef InstallNamedNonExec 340#define InstallNamedNonExec(srcname,dstname,dest) @@\ 341install:: srcname @@\ 342 $(MKXDIRHIER) $(DESTDIR)dest @@\ 343 $(TOB) srcname $(DESTDIR)dest/dstname 344#endif /* InstallNamedNonExec */ 345 346#ifndef InstallNonExecFile 347#define InstallNonExecFile(file,dest) @@\ 348install:: file @@\ 349 $(MKXDIRHIER) dest @@\ 350 $(TOB) file dest/file 351#endif /* InstallNonExecFile */ 352 353#ifndef InstallNonExec 354#define InstallNonExec(file,dest) @@\ 355install:: file @@\ 356 $(TOB) file dest/file 357#endif /* InstallNonExec */ 358 359#ifndef InstallProgramWithFlags 360#define InstallProgramWithFlags(program,dest,flags) @@\ 361install:: program @@\ 362 $(MKXDIRHIER) dest/program @@\ 363 $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH) 364#endif /* InstallProgramWithFlags */ 365 366#ifndef InstallScript 367#define InstallScript(program,dest) @@\ 368install:: program.script @@\ 369 $(TOB) program.script dest/program 370#endif /* InstallScript */ 371 372#ifndef InstallNamedScript 373#define InstallNamedScript(srcname,dstname,dest) @@\ 374install:: srcname @@\ 375 $(TOB) srcname dest/dstname 376#endif /* InstallNamedScript */ 377 378#ifndef InstallNamedProg 379#define InstallNamedProg(srcname,dstname,dest) @@\ 380install:: srcname @@\ 381 $(MKXDIRHIER) $(DESTDIR)dest/dstname @@\ 382 $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH) 383#endif /* InstallNamedProg */ 384 385#ifndef InstallMultipleDestFlags 386#define InstallMultipleDestFlags(step,list,dest,flags) @@\ 387step:: list @@\ 388 $(MKXDIRHIER) $(DESTDIR)dest @@\ 389 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 390 for i in list; do \ @@\ 391 (set -x; $(TOB) $$i dest/$$i); \ @@\ 392 done 393#endif /* InstallMultipleDestFlags */ 394 395#ifndef InstallMultipleProg 396#define InstallMultipleProg(list,dest) @@\ 397install:: list @@\ 398 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 399 for i in list; do \ @@\ 400 (set -x; \ @@\ 401 $(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\ 402 $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\ 403 done 404#endif /* InstallMultipleProg */ 405 406#ifndef InstallAppDefaults 407#if InstallAppDefFiles 408#define InstallAppDefaults(class) @@\ 409install:: class.ad @@\ 410 $(MKXDIRHIER) $(XAPPLOADDIR) @@\ 411 $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class 412#else 413#define InstallAppDefaults(class) 414#endif /* InstallAppDefFiles */ 415#endif /* InstallAppDefaults */ 416 417#ifndef InstallAppDefaultsLong 418#if InstallAppDefFiles 419#define InstallAppDefaultsLong(file,class) @@\ 420install:: file.ad @@\ 421 $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\ 422 $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class 423#else 424#define InstallAppDefaultsLong(file,class) 425#endif /* InstallAppDefFiles */ 426#endif /* InstallAppDefaultsLong */ 427 428/* #endif CROSS_COMPILE */ 429