Amoeba.cf 13 KB

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