Git init
[framework/uifw/xorg/util/xutils-dev.git] / xorg-cf-files / Amoeba.cf
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 $
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
19 XCOMM 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
163 ATOP            = AmoebaTop
164 ALIB            = AmoebaConf/$(ARCH).$(TOOLSET)/lib
165 #if AckToolset 
166 /* The ACK toolset already links in the appropriate head.o by default */
167 HEAD            =
168 #else
169 HEAD            = $(ALIB)/head/head.o
170 #endif
171
172 ABIN            = AmoebaBin
173 AINSTALL        = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
174 AINSTALLFLAGS   =
175 TOB             = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
176 MKXDIRHIER      = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
177
178 /* Make wizardy: */
179 COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
180 LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
181
182 #if defined(i386Architecture)
183 ARCH            = i80386
184 TOOLSET         = ack
185 ALDFLAGS        = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
186
187 #include <xorg.cf>
188 #endif
189
190 #if defined(Sun3Architecture)
191 ARCH            = mc68000
192 TOOLSET         = ack
193 ALDFLAGS        =  -.c -Rcv-s32
194 #endif
195
196 #if defined(SparcArchitecture)
197 ARCH            = sparc
198 TOOLSET         = sun
199 SPARCLIBDIR     = AmoebaBin/gnu/sparc
200 ALDFLAGS        = -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)         @@\
227 EXTRA_LOAD_FLAGS=                                                       @@\
228         PROGRAM = program                                               @@\
229                                                                         @@\
230 AllTarget(program)                                                      @@\
231                                                                         @@\
232 program: $(OBJS) $(DEPLIBS)                                             @@\
233         RemoveTargetProgram($@)                                         @@\
234         HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
235                                                                         @@\
236 DependTarget()                                                          @@\
237                                                                         @@\
238 LintTarget()                                                            @@\
239                                                                         @@\
240 clean::                                                                 @@\
241         RemoveFile(ProgramTargetName(program))
242 #endif /* ComplexHostProgramTarget */
243
244 #ifndef SimpleHostProgramTarget
245 #define SimpleHostProgramTarget(program)                                @@\
246            OBJS = program.o                                             @@\
247            SRCS = program.c                                             @@\
248                                                                         @@\
249 ComplexHostProgramTarget(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)                    @@\
266 Concat(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)                @@\
274 Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a)         @@\
275      Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a)         @@\
276 LintLibReferences(varname,libname,libsource)
277 #endif
278
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 */
284
285 #ifndef MergeIntoInstalledLibrary
286 #define MergeIntoInstalledLibrary(tolib,fromlib)                        @@\
287 install::  fromlib                                                      @@\
288         @echo '** TODO: merge ' fromlib into tolib
289 #endif /* MergeIntoInstalledLibrary */
290
291 #ifndef InstallLibraryAlias
292 #define InstallLibraryAlias(libname,alias,dest)                         @@\
293 install::                                                               @@\
294         @echo '** TODO: Install lib alias ' libname alias dest
295 #endif /* InstallLibraryAlias */
296
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 */
302
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 */
308
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 */
314
315 #ifndef InstallManPageAliases
316 #define InstallManPageAliases(file,destdir,aliases)                     @@\
317 install.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)           @@\
329 install.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)                       @@\
341 install:: srcname                                                       @@\
342         $(MKXDIRHIER) $(DESTDIR)dest                                    @@\
343         $(TOB) srcname $(DESTDIR)dest/dstname
344 #endif /* InstallNamedNonExec */
345
346 #ifndef InstallNonExecFile
347 #define InstallNonExecFile(file,dest)                                   @@\
348 install:: file                                                          @@\
349         $(MKXDIRHIER) dest                                              @@\
350         $(TOB) file dest/file
351 #endif /* InstallNonExecFile */
352
353 #ifndef InstallNonExec
354 #define InstallNonExec(file,dest)                                       @@\
355 install:: file                                                          @@\
356         $(TOB) file dest/file
357 #endif /* InstallNonExec */
358
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 */
365
366 #ifndef InstallScript
367 #define InstallScript(program,dest)                                     @@\
368 install:: program.script                                                @@\
369         $(TOB) program.script dest/program
370 #endif /* InstallScript */
371
372 #ifndef InstallNamedScript
373 #define InstallNamedScript(srcname,dstname,dest)                        @@\
374 install:: srcname                                                       @@\
375         $(TOB) srcname dest/dstname
376 #endif /* InstallNamedScript */
377
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 */
384
385 #ifndef InstallMultipleDestFlags
386 #define InstallMultipleDestFlags(step,list,dest,flags)                  @@\
387 step:: 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)                                  @@\
397 install:: 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)                                       @@\
409 install:: 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)                              @@\
420 install:: 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 */