1 XCOMM platform: $XConsortium: Amoeba.cf /main/12 1996/09/28 16:04:48 rws $
2 XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.6 1995/01/28 15:40:08 dawes Exp $
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
13 * Configuration file for Amoeba 5.2
17 #define OSName Amoeba 5.2
19 XCOMM operating system: OSName
20 #ifndef OSMajorVersion
21 #define OSMajorVersion 5
23 #ifndef OSMinorVersion
24 #define OSMinorVersion 2
26 #ifndef OSTeenyVersion
27 #define OSTeenyVersion 0
30 #define OSVendor Vrije Universiteit
33 #define AmoebaArchitecture YES
35 /* Configuration defaults */
37 #define AmoebaTop __AM_TOP__
40 #define AmoebaBin $(ATOP)/bin.sun4
43 #define AmoebaConf __AM_CONF__
49 #define HasSecureRPC NO
50 #define SetTtyGroup NO
55 #if defined(Sun3Architecture) || defined(SparcArchitecture)
56 #define XsunAmoebaServer YES
57 #define XsunAmoebaMonoServer YES
61 #define BuildFontServer NO
62 #define BuildPexExt NO
66 #define TermcapLibrary /* in libajax */
67 #define LexLib /* not needed */
69 #define PexCCOptions DefaultCCOptions
70 #define ServerOSDefines XFree86ServerOSDefines
72 #define UsrLibDir $(DESTDIR)/profile/module/x11/lib
73 #define LibDir $(DESTDIR)/profile/module/x11/lib
74 #define ManDirectoryRoot $(DESTDIR)/profile/module/x11/man
75 #define BinDir $(DESTDIR)/profile/module/x11/bin
76 #define IncRoot $(DESTDIR)/profile/module/x11/include
77 #define FontDir $(DESTDIR)/profile/module/x11/fonts/$(ARCH)
78 #define DefaultRGBDatabase $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb
81 #define ManPath ManDirectoryRoot
82 #define XmanLocalSearchPath ManDirectoryRoot
84 #define DefaultUserPath :/bin:$(BINDIR)
85 #define DefaultSystemPath /bin:$(BINDIR):
87 #define StandardIncludes -I$(ATOP)/src/h \
88 -I$(ATOP)/src/h/posix \
89 -I$(ATOP)/src/h/posix/machdep/$(ARCH) \
90 -I$(ATOP)/src/h/machdep/arch/$(ARCH) \
91 -I$(ATOP)/src/h/toolset/$(TOOLSET)
93 #define Malloc0ReturnsNull YES
94 #define ServerInstallFlags -s 32
95 #define FontDefines -DFONT_SNF
96 #define ConnectionFlags -DAMTCPCONN -DAMRPCCONN
97 #define ServerXdmcpDefines /* no -DXDMCP */
99 #define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC)
100 #define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */
102 #if defined(i386Architecture)
104 #define AckToolset YES
105 #define ExtraFPLoadFlags -fp
107 #define XF86MonoServer YES
110 #if defined(Sun3Architecture)
112 #define AckToolset YES
118 #define ServerCcCmd ack
120 #define AckArchOption -mam_$(ARCH)
121 #define DefaultCCOptions AckArchOption
122 #define LibraryCCOptions AckArchOption
123 #define LdCombineFlags -Rled-r -c.out
124 #define ArCmd aal clrv
125 #define RanlibCmd /bin/true
126 #define AsCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption
127 #define AsIncl -I$(ATOP)/src/h/machdep/arch/$(ARCH)
128 #define AsmDefines -DACK_ASSEMBLER
129 #define LdPreLib /**/
130 #define LdPostLib /**/
133 #if defined(SparcArchitecture)
134 #define AllocateLocalDefines -DINCLUDE_ALLOCA_H
137 #define ServerCcCmd cc
138 #define LdCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld
139 #define DefaultCCOptions -sun4
140 #define LibraryCCOptions -sun4
141 #define AmoebaCompilerDefs -Usun
142 #define ServerExtraDefines AllocateLocalDefines
143 #define LdPostLib /**/
146 #ifndef AmoebaCompilerDefs
147 #define AmoebaCompilerDefs /**/
150 #define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
151 #define StandardDefines CommonAmoebaDefines
152 #define StandardCppDefines StandardDefines
154 #ifndef ExtraFPLoadFlags
155 #define ExtraFPLoadFlags
157 #define MathLibrary $(ALIB)/math/libmath.a
158 #define OSLibraries $(ALIB)/ajax/libajax.a \
159 $(ALIB)/amoeba/libamoeba.a \
162 #define ServerExtraSysLibs $(CBRT) OSLibraries
163 #define ExtraLoadFlags OSLibraries
166 ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib
168 /* The ACK toolset already links in the appropriate head.o by default */
171 HEAD = $(ALIB)/head/head.o
175 AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
177 TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
178 MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
181 COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
182 LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
184 #if defined(i386Architecture)
187 ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
189 #include <xfree86.cf>
192 #if defined(Sun3Architecture)
195 ALDFLAGS = -.c -Rcv-s32
198 #if defined(SparcArchitecture)
201 SPARCLIBDIR = AmoebaBin/gnu/sparc
202 ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
205 #define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
208 * The rest of this files consists of rules to allow cross-compilation
209 * and installation of binaries and data files from the Unix host to
210 * the Amoeba file system.
213 /* #ifdef CROSS_COMPILING */
214 #define CrossCompiling YES
216 #define HostLinkRule(target, flags, src, libs) cc -o target src
218 #define LinkRule(program,options,objects,libraries) \
219 $(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
221 /* ComplexHostProgramTarget - Compile a program such that we can run
222 * it on this host, i.e., don't use the default cross compiler.
224 #ifndef ComplexHostProgramTarget
225 #define ComplexHostProgramTarget(program) @@\
228 CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
229 EXTRA_LOAD_FLAGS= @@\
230 PROGRAM = program @@\
232 AllTarget(program) @@\
234 program: $(OBJS) $(DEPLIBS) @@\
235 RemoveTargetProgram($@) @@\
236 HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
243 RemoveFile(ProgramTargetName(program))
244 #endif /* ComplexHostProgramTarget */
246 #ifndef SimpleHostProgramTarget
247 #define SimpleHostProgramTarget(program) @@\
251 ComplexHostProgramTarget(program)
252 #endif /* SimpleHostProgramTarget */
256 #if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
257 #define Concat(a,b)a##b
259 #define Concat(a,b)a/**/b
264 * LintLibReferences - variables for lint libraries
266 #ifndef LintLibReferences
267 #define LintLibReferences(varname,libname,libsource) @@\
268 Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
272 * UnsharedLibReferences - variables for unshared libraries
274 #ifndef UnsharedLibReferences
275 #define UnsharedLibReferences(varname,libname,libsource) @@\
276 Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
277 Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
278 LintLibReferences(varname,libname,libsource)
281 #ifndef InstallLibrary
282 #define InstallLibrary(libname,dest) @@\
283 install:: Concat(lib,libname.a) @@\
284 @echo '** TODO: Install Library ' Concat(lib,libname.a)
285 #endif /* InstallLibrary */
287 #ifndef MergeIntoInstalledLibrary
288 #define MergeIntoInstalledLibrary(tolib,fromlib) @@\
289 install:: fromlib @@\
290 @echo '** TODO: merge ' fromlib into tolib
291 #endif /* MergeIntoInstalledLibrary */
293 #ifndef InstallLibraryAlias
294 #define InstallLibraryAlias(libname,alias,dest) @@\
296 @echo '** TODO: Install lib alias ' libname alias dest
297 #endif /* InstallLibraryAlias */
299 #ifndef InstallLintLibrary
300 #define InstallLintLibrary(libname,dest) @@\
301 install.ln:: Concat(llib-l,libname.ln) @@\
302 @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln)
303 #endif /* InstallLintLibrary */
305 #ifndef InstallManPageLong
306 #define InstallManPageLong(file,destdir,dest) @@\
307 install.man:: file.man @@\
308 @echo '** TODO: Install man page ' file.man
309 #endif /* InstallManPageLong */
311 #ifndef InstallGenManPageLong
312 #define InstallGenManPageLong(file,destdir,dest,suffix) @@\
313 install.man:: file.man @@\
314 @echo '** TODO: Install man page ' file.man
315 #endif /* InstallGenManPageLong */
317 #ifndef InstallManPageAliases
318 #define InstallManPageAliases(file,destdir,aliases) @@\
320 @(TMP=/tmp/tmp.$$$$; \ @@\
322 echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\
323 for i in aliases; do (set -x; \ @@\
324 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\
327 #endif /* InstallManPageAliases */
329 #ifndef InstallGenManPageAliases
330 #define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
332 @(TMP=/tmp/tmp.$$$$; \ @@\
334 echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\
335 for i in aliases; do (set -x; \ @@\
336 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\
339 #endif /* InstallGenManPageAliases */
341 #ifndef InstallNamedNonExec
342 #define InstallNamedNonExec(srcname,dstname,dest) @@\
343 install:: srcname @@\
344 $(MKXDIRHIER) $(DESTDIR)dest @@\
345 $(TOB) srcname $(DESTDIR)dest/dstname
346 #endif /* InstallNamedNonExec */
348 #ifndef InstallNonExecFile
349 #define InstallNonExecFile(file,dest) @@\
351 $(MKXDIRHIER) dest @@\
352 $(TOB) file dest/file
353 #endif /* InstallNonExecFile */
355 #ifndef InstallNonExec
356 #define InstallNonExec(file,dest) @@\
358 $(TOB) file dest/file
359 #endif /* InstallNonExec */
361 #ifndef InstallProgramWithFlags
362 #define InstallProgramWithFlags(program,dest,flags) @@\
363 install:: program @@\
364 $(MKXDIRHIER) dest/program @@\
365 $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH)
366 #endif /* InstallProgramWithFlags */
368 #ifndef InstallScript
369 #define InstallScript(program,dest) @@\
370 install:: program.script @@\
371 $(TOB) program.script dest/program
372 #endif /* InstallScript */
374 #ifndef InstallNamedScript
375 #define InstallNamedScript(srcname,dstname,dest) @@\
376 install:: srcname @@\
377 $(TOB) srcname dest/dstname
378 #endif /* InstallNamedScript */
380 #ifndef InstallNamedProg
381 #define InstallNamedProg(srcname,dstname,dest) @@\
382 install:: srcname @@\
383 $(MKXDIRHIER) $(DESTDIR)dest/dstname @@\
384 $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH)
385 #endif /* InstallNamedProg */
387 #ifndef InstallMultipleDestFlags
388 #define InstallMultipleDestFlags(step,list,dest,flags) @@\
390 $(MKXDIRHIER) $(DESTDIR)dest @@\
391 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
392 for i in list; do \ @@\
393 (set -x; $(TOB) $$i dest/$$i); \ @@\
395 #endif /* InstallMultipleDestFlags */
397 #ifndef InstallMultipleProg
398 #define InstallMultipleProg(list,dest) @@\
400 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
401 for i in list; do \ @@\
403 $(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\
404 $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\
406 #endif /* InstallMultipleProg */
408 #ifndef InstallAppDefaults
409 #if InstallAppDefFiles
410 #define InstallAppDefaults(class) @@\
411 install:: class.ad @@\
412 $(MKXDIRHIER) $(XAPPLOADDIR) @@\
413 $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
415 #define InstallAppDefaults(class)
416 #endif /* InstallAppDefFiles */
417 #endif /* InstallAppDefaults */
419 #ifndef InstallAppDefaultsLong
420 #if InstallAppDefFiles
421 #define InstallAppDefaultsLong(file,class) @@\
422 install:: file.ad @@\
423 $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\
424 $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class
426 #define InstallAppDefaultsLong(file,class)
427 #endif /* InstallAppDefFiles */
428 #endif /* InstallAppDefaultsLong */
430 /* #endif CROSS_COMPILE */