1 XCOMM platform: $Xorg: Amoeba.cf,v 1.3 2000/08/17 19:41:45 cpqbld Exp $
2 XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.10tsi 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
65 #define TermcapLibrary /* in libajax */
66 #define LexLib /* not needed */
68 #define ServerOSDefines XFree86ServerOSDefines
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
79 #define ManPath ManDirectoryRoot
80 #define XmanLocalSearchPath ManDirectoryRoot
82 #define DefaultUserPath :/bin:$(BINDIR)
83 #define DefaultSystemPath /bin:$(BINDIR):
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)
91 #define Malloc0ReturnsNull YES
92 #define ServerInstallFlags -s 32
93 #define FontDefines -DFONT_SNF
94 #define ConnectionFlags -DAMTCPCONN -DAMRPCCONN
95 #define ServerXdmcpDefines /* no -DXDMCP */
97 #define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC)
98 #define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */
100 #if defined(i386Architecture)
102 #define AckToolset YES
103 #define ExtraFPLoadFlags -fp
105 #define XF86MonoServer YES
108 #if defined(Sun3Architecture)
110 #define AckToolset YES
116 #define ServerCcCmd 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 /**/
131 #if defined(SparcArchitecture)
132 #define AllocateLocalDefines -DINCLUDE_ALLOCA_H
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 /**/
144 #ifndef AmoebaCompilerDefs
145 #define AmoebaCompilerDefs /**/
148 #define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
149 #define StandardDefines CommonAmoebaDefines
150 #define StandardCppDefines StandardDefines
152 #ifndef ExtraFPLoadFlags
153 #define ExtraFPLoadFlags
155 #define MathLibrary $(ALIB)/math/libmath.a
156 #define OSLibraries $(ALIB)/ajax/libajax.a \
157 $(ALIB)/amoeba/libamoeba.a \
160 #define ServerExtraSysLibs $(CBRT) OSLibraries
161 #define ExtraLoadFlags OSLibraries
164 ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib
166 /* The ACK toolset already links in the appropriate head.o by default */
169 HEAD = $(ALIB)/head/head.o
173 AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
175 TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
176 MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
179 COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
180 LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
182 #if defined(i386Architecture)
185 ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
190 #if defined(Sun3Architecture)
193 ALDFLAGS = -.c -Rcv-s32
196 #if defined(SparcArchitecture)
199 SPARCLIBDIR = AmoebaBin/gnu/sparc
200 ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
203 #define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
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.
211 /* #ifdef CROSS_COMPILING */
212 #define CrossCompiling YES
214 #define HostLinkRule(target, flags, src, libs) cc -o target src
216 #define LinkRule(program,options,objects,libraries) \
217 $(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
219 /* ComplexHostProgramTarget - Compile a program such that we can run
220 * it on this host, i.e., don't use the default cross compiler.
222 #ifndef ComplexHostProgramTarget
223 #define ComplexHostProgramTarget(program) @@\
226 CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
227 EXTRA_LOAD_FLAGS= @@\
228 PROGRAM = program @@\
230 AllTarget(program) @@\
232 program: $(OBJS) $(DEPLIBS) @@\
233 RemoveTargetProgram($@) @@\
234 HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
241 RemoveFile(ProgramTargetName(program))
242 #endif /* ComplexHostProgramTarget */
244 #ifndef SimpleHostProgramTarget
245 #define SimpleHostProgramTarget(program) @@\
249 ComplexHostProgramTarget(program)
250 #endif /* SimpleHostProgramTarget */
254 #if (defined(__STDC__) && !defined(UnixCpp)) || defined(AnsiCpp)
255 #define Concat(a,b)a##b
257 #define Concat(a,b)a/**/b
262 * LintLibReferences - variables for lint libraries
264 #ifndef LintLibReferences
265 #define LintLibReferences(varname,libname,libsource) @@\
266 Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
270 * UnsharedLibReferences - variables for unshared libraries
272 #ifndef UnsharedLibReferences
273 #define UnsharedLibReferences(varname,libname,libsource) @@\
274 Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
275 Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
276 LintLibReferences(varname,libname,libsource)
279 #ifndef InstallLibrary
280 #define InstallLibrary(libname,dest) @@\
281 install:: Concat(lib,libname.a) @@\
282 @echo '** TODO: Install Library ' Concat(lib,libname.a)
283 #endif /* InstallLibrary */
285 #ifndef MergeIntoInstalledLibrary
286 #define MergeIntoInstalledLibrary(tolib,fromlib) @@\
287 install:: fromlib @@\
288 @echo '** TODO: merge ' fromlib into tolib
289 #endif /* MergeIntoInstalledLibrary */
291 #ifndef InstallLibraryAlias
292 #define InstallLibraryAlias(libname,alias,dest) @@\
294 @echo '** TODO: Install lib alias ' libname alias dest
295 #endif /* InstallLibraryAlias */
297 #ifndef InstallLintLibrary
298 #define InstallLintLibrary(libname,dest) @@\
299 install.ln:: Concat(llib-l,libname.ln) @@\
300 @echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln)
301 #endif /* InstallLintLibrary */
303 #ifndef InstallManPageLong
304 #define InstallManPageLong(file,destdir,dest) @@\
305 install.man:: file.man @@\
306 @echo '** TODO: Install man page ' file.man
307 #endif /* InstallManPageLong */
309 #ifndef InstallGenManPageLong
310 #define InstallGenManPageLong(file,destdir,dest,suffix) @@\
311 install.man:: file.man @@\
312 @echo '** TODO: Install man page ' file.man
313 #endif /* InstallGenManPageLong */
315 #ifndef InstallManPageAliases
316 #define InstallManPageAliases(file,destdir,aliases) @@\
318 @(TMP=/tmp/tmp.$$$$; \ @@\
320 echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\
321 for i in aliases; do (set -x; \ @@\
322 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\
325 #endif /* InstallManPageAliases */
327 #ifndef InstallGenManPageAliases
328 #define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
330 @(TMP=/tmp/tmp.$$$$; \ @@\
332 echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\
333 for i in aliases; do (set -x; \ @@\
334 $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\
337 #endif /* InstallGenManPageAliases */
339 #ifndef InstallNamedNonExec
340 #define InstallNamedNonExec(srcname,dstname,dest) @@\
341 install:: srcname @@\
342 $(MKXDIRHIER) $(DESTDIR)dest @@\
343 $(TOB) srcname $(DESTDIR)dest/dstname
344 #endif /* InstallNamedNonExec */
346 #ifndef InstallNonExecFile
347 #define InstallNonExecFile(file,dest) @@\
349 $(MKXDIRHIER) dest @@\
350 $(TOB) file dest/file
351 #endif /* InstallNonExecFile */
353 #ifndef InstallNonExec
354 #define InstallNonExec(file,dest) @@\
356 $(TOB) file dest/file
357 #endif /* InstallNonExec */
359 #ifndef InstallProgramWithFlags
360 #define InstallProgramWithFlags(program,dest,flags) @@\
361 install:: program @@\
362 $(MKXDIRHIER) dest/program @@\
363 $(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH)
364 #endif /* InstallProgramWithFlags */
366 #ifndef InstallScript
367 #define InstallScript(program,dest) @@\
368 install:: program.script @@\
369 $(TOB) program.script dest/program
370 #endif /* InstallScript */
372 #ifndef InstallNamedScript
373 #define InstallNamedScript(srcname,dstname,dest) @@\
374 install:: srcname @@\
375 $(TOB) srcname dest/dstname
376 #endif /* InstallNamedScript */
378 #ifndef InstallNamedProg
379 #define InstallNamedProg(srcname,dstname,dest) @@\
380 install:: srcname @@\
381 $(MKXDIRHIER) $(DESTDIR)dest/dstname @@\
382 $(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH)
383 #endif /* InstallNamedProg */
385 #ifndef InstallMultipleDestFlags
386 #define InstallMultipleDestFlags(step,list,dest,flags) @@\
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); \ @@\
393 #endif /* InstallMultipleDestFlags */
395 #ifndef InstallMultipleProg
396 #define InstallMultipleProg(list,dest) @@\
398 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
399 for i in list; do \ @@\
401 $(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\
402 $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\
404 #endif /* InstallMultipleProg */
406 #ifndef InstallAppDefaults
407 #if InstallAppDefFiles
408 #define InstallAppDefaults(class) @@\
409 install:: class.ad @@\
410 $(MKXDIRHIER) $(XAPPLOADDIR) @@\
411 $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
413 #define InstallAppDefaults(class)
414 #endif /* InstallAppDefFiles */
415 #endif /* InstallAppDefaults */
417 #ifndef InstallAppDefaultsLong
418 #if InstallAppDefFiles
419 #define InstallAppDefaultsLong(file,class) @@\
420 install:: file.ad @@\
421 $(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\
422 $(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class
424 #define InstallAppDefaultsLong(file,class)
425 #endif /* InstallAppDefFiles */
426 #endif /* InstallAppDefaultsLong */
428 /* #endif CROSS_COMPILE */