home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / config / Amoeba.cf next >
Text File  |  1999-09-03  |  13KB  |  431 lines

  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.9 1996/12/23 05:50:00 dawes 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 BuildPexExt        NO
  63. #define BuildXIE        NO
  64.  
  65. #define YaccCmd                 byacc
  66. #define TermcapLibrary          /* in libajax */
  67. #define LexLib            /* not needed */
  68.  
  69. #define PexCCOptions        DefaultCCOptions
  70. #define ServerOSDefines        XFree86ServerOSDefines
  71.  
  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
  79.  
  80. #define ManSuffix               1
  81. #define ManPath                 ManDirectoryRoot
  82. #define XmanLocalSearchPath     ManDirectoryRoot
  83.  
  84. #define DefaultUserPath         :/bin:$(BINDIR)
  85. #define DefaultSystemPath       /bin:$(BINDIR):
  86.  
  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)
  92.  
  93. #define Malloc0ReturnsNull      YES
  94. #define ServerInstallFlags      -s 32
  95. #define FontDefines             -DFONT_SNF
  96. #define ConnectionFlags         -DAMTCPCONN -DAMRPCCONN
  97. #define ServerXdmcpDefines    /* no -DXDMCP */
  98. #define UseRgbTxt        YES
  99. #define NdbmDefines        -DSDBM -DNDBM -I$(XINCLUDESRC)
  100. #define DBMLibrary        /* $(LIBSRC)/sdbm/libsdbm.a */
  101.  
  102. #if defined(i386Architecture)
  103. #ifndef AckToolset
  104. #define AckToolset              YES
  105. #define ExtraFPLoadFlags    -fp
  106. #endif
  107. #define XF86MonoServer        YES
  108. #endif
  109.  
  110. #if defined(Sun3Architecture)
  111. #ifndef AckToolset
  112. #define AckToolset              YES
  113. #endif
  114. #endif
  115.  
  116. #if AckToolset
  117. #define CcCmd                   ack
  118. #define ServerCcCmd             ack
  119. #define LdCmd                   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        /**/
  131. #endif
  132.  
  133. #if defined(SparcArchitecture)
  134. #define AllocateLocalDefines    -DINCLUDE_ALLOCA_H
  135.  
  136. #define CcCmd                   cc
  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        /**/
  144. #endif
  145.  
  146. #ifndef AmoebaCompilerDefs
  147. #define AmoebaCompilerDefs    /**/
  148. #endif
  149.  
  150. #define CommonAmoebaDefines     -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
  151. #define StandardDefines         CommonAmoebaDefines
  152. #define StandardCppDefines      StandardDefines
  153.  
  154. #ifndef ExtraFPLoadFlags
  155. #define ExtraFPLoadFlags
  156. #endif
  157. #define MathLibrary        $(ALIB)/math/libmath.a
  158. #define OSLibraries             $(ALIB)/ajax/libajax.a \
  159.                 $(ALIB)/amoeba/libamoeba.a \
  160.                 MathLibrary \
  161.                 ExtraFPLoadFlags
  162. #define ServerExtraSysLibs    $(CBRT) OSLibraries
  163. #define ExtraLoadFlags        OSLibraries
  164.  
  165. ATOP            = AmoebaTop
  166. ALIB            = AmoebaConf/$(ARCH).$(TOOLSET)/lib
  167. #if AckToolset 
  168. /* The ACK toolset already links in the appropriate head.o by default */
  169. HEAD            =
  170. #else
  171. HEAD            = $(ALIB)/head/head.o
  172. #endif
  173.  
  174. ABIN            = AmoebaBin
  175. AINSTALL        = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
  176. AINSTALLFLAGS   =
  177. TOB             = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
  178. MKXDIRHIER      = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
  179.  
  180. /* Make wizardy: */
  181. COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
  182. LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  183.  
  184. #if defined(i386Architecture)
  185. ARCH            = i80386
  186. TOOLSET         = ack
  187. ALDFLAGS        = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
  188.  
  189. #include <xfree86.cf>
  190. #endif
  191.  
  192. #if defined(Sun3Architecture)
  193. ARCH            = mc68000
  194. TOOLSET         = ack
  195. ALDFLAGS        =  -.c -Rcv-s32
  196. #endif
  197.  
  198. #if defined(SparcArchitecture)
  199. ARCH            = sparc
  200. TOOLSET         = sun
  201. SPARCLIBDIR     = AmoebaBin/gnu/sparc
  202. ALDFLAGS        = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
  203. #endif
  204.  
  205. #define BootstrapCFlags        -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
  206.  
  207. /*
  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.
  211.  */
  212.  
  213. /* #ifdef CROSS_COMPILING */
  214. #define CrossCompiling          YES
  215.  
  216. #define HostLinkRule(target, flags, src, libs)  cc -o target src
  217.  
  218. #define LinkRule(program,options,objects,libraries) \
  219. $(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
  220.  
  221. /* ComplexHostProgramTarget - Compile a program such that we can run
  222.  * it on this host, i.e., don't use the default cross compiler.
  223.  */
  224. #ifndef ComplexHostProgramTarget
  225. #define    ComplexHostProgramTarget(program)                @@\
  226.               CC=cc                            @@\
  227.     STD_INCLUDES=                            @@\
  228.           CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS)        @@\
  229. EXTRA_LOAD_FLAGS=                            @@\
  230.         PROGRAM = program                        @@\
  231.                                     @@\
  232. AllTarget(program)                            @@\
  233.                                     @@\
  234. program: $(OBJS) $(DEPLIBS)                        @@\
  235.     RemoveTargetProgram($@)                        @@\
  236.     HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
  237.                                     @@\
  238. DependTarget()                                @@\
  239.                                     @@\
  240. LintTarget()                                @@\
  241.                                     @@\
  242. clean::                                    @@\
  243.     RemoveFile(ProgramTargetName(program))
  244. #endif /* ComplexHostProgramTarget */
  245.  
  246. #ifndef SimpleHostProgramTarget
  247. #define SimpleHostProgramTarget(program)                @@\
  248.            OBJS = program.o                        @@\
  249.            SRCS = program.c                        @@\
  250.                                     @@\
  251. ComplexHostProgramTarget(program)
  252. #endif /* SimpleHostProgramTarget */
  253.  
  254.  
  255. #ifndef Concat
  256. #if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
  257. #define Concat(a,b)a##b
  258. #else
  259. #define Concat(a,b)a/**/b
  260. #endif
  261. #endif
  262.  
  263. /*
  264.  * LintLibReferences - variables for lint libraries
  265.  */
  266. #ifndef LintLibReferences
  267. #define LintLibReferences(varname,libname,libsource)            @@\
  268. Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
  269. #endif
  270.  
  271. /*
  272.  * UnsharedLibReferences - variables for unshared libraries
  273.  */
  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)
  279. #endif
  280.  
  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 */
  286.  
  287. #ifndef MergeIntoInstalledLibrary
  288. #define MergeIntoInstalledLibrary(tolib,fromlib)            @@\
  289. install::  fromlib                            @@\
  290.     @echo '** TODO: merge ' fromlib into tolib
  291. #endif /* MergeIntoInstalledLibrary */
  292.  
  293. #ifndef InstallLibraryAlias
  294. #define    InstallLibraryAlias(libname,alias,dest)                @@\
  295. install::                                @@\
  296.     @echo '** TODO: Install lib alias ' libname alias dest
  297. #endif /* InstallLibraryAlias */
  298.  
  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 */
  304.  
  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 */
  310.  
  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 */
  316.  
  317. #ifndef InstallManPageAliases
  318. #define    InstallManPageAliases(file,destdir,aliases)            @@\
  319. install.man::                                @@\
  320.     @(TMP=/tmp/tmp.$$$$; \                        @@\
  321.     $(RM) $${TMP}; \                        @@\
  322.     echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \    @@\
  323.     for i in aliases; do (set -x; \                    @@\
  324.     $(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \         @@\
  325.     done; \                                @@\
  326.     $(RM) $${TMP})
  327. #endif /* InstallManPageAliases */
  328.  
  329. #ifndef InstallGenManPageAliases
  330. #define    InstallGenManPageAliases(file,destdir,suffix,aliases)        @@\
  331. install.man::                                @@\
  332.     @(TMP=/tmp/tmp.$$$$; \                        @@\
  333.     $(RM) $${TMP}; \                        @@\
  334.     echo .so `basename destdir`/file.suffix > $${TMP}; \        @@\
  335.     for i in aliases; do (set -x; \                    @@\
  336.     $(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \         @@\
  337.     done; \                                @@\
  338.     $(RM) $${TMP})
  339. #endif /* InstallGenManPageAliases */
  340.  
  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 */
  347.  
  348. #ifndef InstallNonExecFile
  349. #define    InstallNonExecFile(file,dest)                    @@\
  350. install:: file                                @@\
  351.     $(MKXDIRHIER) dest                        @@\
  352.     $(TOB) file dest/file
  353. #endif /* InstallNonExecFile */
  354.  
  355. #ifndef InstallNonExec
  356. #define    InstallNonExec(file,dest)                    @@\
  357. install:: file                                @@\
  358.     $(TOB) file dest/file
  359. #endif /* InstallNonExec */
  360.  
  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 */
  367.  
  368. #ifndef InstallScript
  369. #define    InstallScript(program,dest)                    @@\
  370. install:: program.script                        @@\
  371.     $(TOB) program.script dest/program
  372. #endif /* InstallScript */
  373.  
  374. #ifndef InstallNamedScript
  375. #define    InstallNamedScript(srcname,dstname,dest)            @@\
  376. install:: srcname                            @@\
  377.     $(TOB) srcname dest/dstname
  378. #endif /* InstallNamedScript */
  379.  
  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 */
  386.  
  387. #ifndef InstallMultipleDestFlags
  388. #define InstallMultipleDestFlags(step,list,dest,flags)            @@\
  389. step:: list                                @@\
  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); \            @@\
  394.     done
  395. #endif /* InstallMultipleDestFlags */
  396.  
  397. #ifndef InstallMultipleProg
  398. #define InstallMultipleProg(list,dest)                    @@\
  399. install:: list                                @@\
  400.     @case '${MFLAGS}' in *[i]*) set +e;; esac; \            @@\
  401.     for i in list; do \                        @@\
  402.         (set -x; \                             @@\
  403.           $(MKXDIRHIER) $(DESTDIR)dest/$$i; \            @@\
  404.         $(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\    @@\
  405.     done
  406. #endif /* InstallMultipleProg */
  407.  
  408. #ifndef InstallAppDefaults
  409. #if InstallAppDefFiles
  410. #define    InstallAppDefaults(class)                    @@\
  411. install:: class.ad                            @@\
  412.     $(MKXDIRHIER) $(XAPPLOADDIR)                    @@\
  413.     $(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
  414. #else
  415. #define    InstallAppDefaults(class)
  416. #endif /* InstallAppDefFiles */
  417. #endif /* InstallAppDefaults */
  418.  
  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
  425. #else
  426. #define    InstallAppDefaultsLong(file,class)
  427. #endif /* InstallAppDefFiles */
  428. #endif /* InstallAppDefaultsLong */
  429.  
  430. /* #endif CROSS_COMPILE */
  431.