home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / unix / bsd / 8663 < prev    next >
Encoding:
Internet Message Format  |  1992-11-09  |  10.9 KB

  1. Path: sparky!uunet!cis.ohio-state.edu!sample.eng.ohio-state.edu!purdue!ames!data.nas.nasa.gov!taligent!apple!voder!nsc!amdahl!JUTS!phoenix!gpw10
  2. From: gpw10@phoenixcd.amdahl.com (Gary Ward)
  3. Newsgroups: comp.unix.bsd
  4. Subject: Re: has anyone ported epoch(x-oriented emacs) ?
  5. Message-ID: <65iU02D92auP01@JUTS.ccc.amdahl.com>
  6. Date: 10 Nov 92 02:39:27 GMT
  7. References: <1992Nov9.043048.24907@netcom.com>
  8. Sender: netnews@ccc.amdahl.com
  9. Distribution: comp.unix.bsd
  10. Organization: Amdahl Corporation, Sunnyvale CA
  11. Lines: 331
  12.  
  13. In article <1992Nov9.043048.24907@netcom.com>, hasty@netcom.com (Amancio
  14. Hasty Jr) writes:
  15. > Well the title says it all...
  16. > It will be nice to have epoch since we have X up and running...
  17. > Amancio
  18.  
  19. Yes, I ported it.  It was not very difficult at all.  I used the same
  20. configuration files that were posted here a while back for (text-base)
  21. Gnu Emacs and it compiled right up.  For those interested parties, here
  22. is a copy of the previous post with the configuration files:
  23.  
  24.  
  25. From: cflatter@nrao.edu (Chris Flatters)
  26. Newsgroups: comp.unix.bsd
  27. Subject: GNU emacs for 386BSD
  28. Message-ID: <1992Jul28.155251.3433@nrao.edu>
  29. Date: 28 Jul 92 15:52:51 GMT
  30. Sender: news@nrao.edu
  31. Reply-To: cflatter@nrao.edu
  32. Organization: NRAO
  33. Lines: 298
  34.  
  35. The following shar file contains the two configuration files required
  36. for GNU emacs 18.58 under 386BSD 0.1 (s-386bsd.h and m-386bsd.h) and a
  37. brief README.  I have assumed that anybody who wants this has read the
  38. GNU emacs INSTALL document.
  39.  
  40. I didn't know about Pace Willisson's earlier configuration for 386BSD 0.0
  41. when I started this.  This version is organized rather differently than
  42. Pace's and has one improvement --- the load-average function will now work
  43. if emacs is installed with the correct privileges.
  44.  
  45.  
  46. # This is a shell archive.  Save it in a file, remove anything before
  47. # this line, and then unpack it by entering "sh file".  Note, it may
  48. # create directories; files and directories will be owned by you and
  49. # have default permissions.
  50. #
  51. # This archive contains:
  52. #
  53. #    README
  54. #    m-386bsd.h
  55. #    s-386bsd.h
  56. #
  57. echo x - README
  58. sed 's/^X//' >README << 'END-of-README'
  59. XThe two files s-386bsd.h and m-386bsd.h configure GNU emacs 18.58 for
  60. X386BSD 0.1.  Copy them to the directory $BUILD/src where $BUILD stands
  61. Xfor the topmost directory of the GNU emacs distribution.  You may then
  62. Xfollow the instructions in the GNU Emacs Installation Guide using
  63. Xs-386bsd.h and m-386bsd.h as the s- and m- files in conf.h.  Note,
  64. Xhowever, that you must edit $BUILD/Makefile changing `/bin/sed' to
  65. X`/usr/bin/sed' before running make.  Also note that you must run the
  66. Xfollowing commands (as root) after installing emacs.
  67. X
  68. Xcd /usr/local/bin    # or wherever the emacs binary was installed
  69. Xchgrp kmem emacs
  70. Xchmod g+s emacs
  71. X
  72. XIf you don't perform this last step then the load-average function
  73. Xwill always return (0 0 0).
  74. X
  75. XNOTES
  76. X
  77. X- Pressing Ctrl-Shift-2 generates `@' rather than C-@ so you will
  78. X  have to change the keyboard mapping for set-mark.  I think that
  79. X  this must be an oddity in the 386BSD keyboard driver.
  80. X
  81. X- There is nothing wrong with the status line.  The termcap database
  82. X  for the console highlights text by changing the colour rather than
  83. X  using inverse video: this looks rather odd if you are used to seeing
  84. X  emacs on monochrome terminals.
  85. X
  86. X- The only substantial difference between m-386bsd.h and m-intel386.h
  87. X  are the macros relating to the load average.  These should probably
  88. X  have been placed in a #ifdef block in m-intel386.h but I dislike
  89. X  #ifdefs.
  90. END-of-README
  91. echo x - m-386bsd.h
  92. sed 's/^X//' >m-386bsd.h << 'END-of-m-386bsd.h'
  93. X/* m- file for 386BSD.
  94. X   Copyright (C) 1987 Free Software Foundation, Inc.
  95. X
  96. XThis file is part of GNU Emacs.
  97. X
  98. XGNU Emacs is free software; you can redistribute it and/or modify
  99. Xit under the terms of the GNU General Public License as published by
  100. Xthe Free Software Foundation; either version 1, or (at your option)
  101. Xany later version.
  102. X
  103. XGNU Emacs is distributed in the hope that it will be useful,
  104. Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
  105. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  106. XGNU General Public License for more details.
  107. X
  108. XYou should have received a copy of the GNU General Public License
  109. Xalong with GNU Emacs; see the file COPYING.  If not, write to
  110. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  111. X
  112. X
  113. X/* The following three symbols give information on
  114. X the size of various data types.  */
  115. X
  116. X#define SHORTBITS 16        /* Number of bits in a short */
  117. X
  118. X#define INTBITS 32        /* Number of bits in an int */
  119. X
  120. X#define LONGBITS 32        /* Number of bits in a long */
  121. X
  122. X/* i386 is not big-endian: lowest numbered byte is least significant. */
  123. X
  124. X/* #undef BIG_ENDIAN */
  125. X
  126. X/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
  127. X * group of arguments and treat it as an array of the arguments.  */
  128. X
  129. X/* #define NO_ARG_ARRAY */
  130. X
  131. X/* Define WORD_MACHINE if addresses and such have
  132. X * to be corrected before they can be used as byte counts.  */
  133. X
  134. X/* #define WORD_MACHINE */
  135. X
  136. X/* Define how to take a char and sign-extend into an int.
  137. X   On machines where char is signed, this is a no-op.  */
  138. X
  139. X#define SIGN_EXTEND_CHAR(c) (c)
  140. X
  141. X/* Now define a symbol for the cpu type, if your compiler
  142. X   does not define it automatically:
  143. X   Ones defined so far include vax, m68000, ns16000, pyramid,
  144. X   orion, tahoe, APOLLO and many others */
  145. X
  146. X#define INTEL386
  147. X
  148. X/* Use type int rather than a union, to represent Lisp_Object */
  149. X
  150. X#define NO_UNION_TYPE
  151. X
  152. X/* crt0.c, if it is used, should use the i386-bsd style of entry.
  153. X   with no extra dummy args.  On USG and XENIX,
  154. X   NO_REMAP says this isn't used. */
  155. X
  156. X#define CRT0_DUMMIES bogus_fp,
  157. X
  158. X/* crt0.c should define a symbol `start' and do .globl with a dot.  */
  159. X
  160. X#define DOT_GLOBAL_START
  161. X
  162. X/* Data type of load average, as read out of kmem.  */
  163. X#define LOAD_AVE_TYPE unsigned long
  164. X
  165. X/* Convert that into an integer that is 100 for a load average of 1.0  */
  166. X#define LOAD_AVE_CVT(x) ((int)(((double) (x)) * 100.0 / FSCALE))
  167. X  
  168. X/* Define CANNOT_DUMP on machines where unexec does not work.
  169. X   Then the function dump-emacs will not be defined
  170. X   and temacs will do (load "loadup") automatically unless told otherwise.  */
  171. X
  172. X/* #define CANNOT_DUMP */
  173. X
  174. X/* Define VIRT_ADDR_VARIES if the virtual addresses of
  175. X   pure and impure space as loaded can vary, and even their
  176. X   relative order cannot be relied on.
  177. X
  178. X   Otherwise Emacs assumes that text space precedes data space,
  179. X   numerically.  */
  180. X
  181. X/* #define VIRT_ADDR_VARIES */
  182. X
  183. X#define HAVE_ALLOCA
  184. X
  185. X/* If compiling with GCC, let GCC implement alloca.  */
  186. X#if defined(__GNUC__) && !defined(alloca)
  187. X#define alloca(n) __builtin_alloca(n)
  188. X#define HAVE_ALLOCA
  189. X#endif
  190. END-of-m-386bsd.h
  191. echo x - s-386bsd.h
  192. sed 's/^X//' >s-386bsd.h << 'END-of-s-386bsd.h'
  193. X/* Definitions file for GNU Emacs running on 386BSD
  194. X   Copyright (C) 1985, 1986 Free Software Foundation, Inc.
  195. X
  196. XThis file is part of GNU Emacs.
  197. X
  198. XGNU Emacs is free software; you can redistribute it and/or modify
  199. Xit under the terms of the GNU General Public License as published by
  200. Xthe Free Software Foundation; either version 1, or (at your option)
  201. Xany later version.
  202. X
  203. XGNU Emacs is distributed in the hope that it will be useful,
  204. Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
  205. XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  206. XGNU General Public License for more details.
  207. X
  208. XYou should have received a copy of the GNU General Public License
  209. Xalong with GNU Emacs; see the file COPYING.  If not, write to
  210. Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  211. X
  212. X
  213. X/*
  214. X *    Define symbols to identify the version of Unix this is.
  215. X *    Define all the symbols that apply correctly.
  216. X */
  217. X
  218. X#ifndef BSD4_3
  219. X#define BSD4_3
  220. X#endif /* BSD4_3 */
  221. X
  222. X#ifndef BSD
  223. X#define BSD
  224. X#endif /* BSD */
  225. X
  226. X/* SYSTEM_TYPE should indicate the kind of system you are using.
  227. X It sets the Lisp variable system-type.  */
  228. X
  229. X#define SYSTEM_TYPE "386BSD"
  230. X
  231. X/* nomultiplejobs should be defined if your system's shell
  232. X does not have "job control" (the ability to stop a program,
  233. X run some other program, then continue the first one).  */
  234. X
  235. X/* #define NOMULTIPLEJOBS */
  236. X
  237. X/* Do not use interrupt_input = 1 by default, because in 4.3
  238. X   we can make noninterrupt input work properly.  */
  239. X
  240. X#undef INTERRUPT_INPUT
  241. X
  242. X/* First pty name is /dev/ptyp0.  */
  243. X
  244. X#define FIRST_PTY_LETTER 'p'
  245. X/*
  246. X *    Define HAVE_TIMEVAL if the system supports the BSD style clock values.
  247. X *    Look in <sys/time.h> for a timeval structure.
  248. X */
  249. X
  250. X#define HAVE_TIMEVAL
  251. X/*
  252. X *    Define HAVE_SELECT if the system supports the `select' system call.
  253. X */
  254. X
  255. X#define HAVE_SELECT
  256. X
  257. X/*
  258. X *    Define HAVE_PTYS if the system supports pty devices.
  259. X */
  260. X
  261. X#define HAVE_PTYS
  262. X
  263. X/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets.  */
  264. X
  265. X#define HAVE_SOCKETS
  266. X
  267. X/*
  268. X *    Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
  269. X *      The 4.2 opendir, etc., library functions.
  270. X */
  271. X
  272. X/* #define NONSYSTEM_DIR_LIBRARY */
  273. X
  274. X/* Define this symbol if your system has the functions bcopy, etc. */
  275. X
  276. X#define BSTRING
  277. X
  278. X/* subprocesses should be defined if you want to
  279. X   have code for asynchronous subprocesses
  280. X   (as used in M-x compile and M-x shell).
  281. X   This is generally OS dependent, and not supported
  282. X   under most USG systems. */
  283. X
  284. X#define subprocesses
  285. X
  286. X/* If your system uses COFF (Common Object File Format) then define the
  287. X   preprocessor symbol "COFF". */
  288. X
  289. X/* #define COFF */
  290. X
  291. X/* define MAIL_USE_FLOCK if the mailer uses flock
  292. X   to interlock access to /usr/spool/mail/$USER.
  293. X   The alternative is that a lock file named
  294. X   /usr/spool/mail/$USER.lock.  */
  295. X
  296. X#define MAIL_USE_FLOCK
  297. X
  298. X/* Define CLASH_DETECTION if you want lock files to be written
  299. X   so that Emacs can tell instantly when you try to modify
  300. X   a file that someone else has modified in his Emacs.  */
  301. X
  302. X#define CLASH_DETECTION
  303. X
  304. X/* We use the Berkeley (and usg5.2.2) interface to nlist.  */
  305. X
  306. X#define NLIST_STRUCT
  307. X
  308. X/* The file containing the kernel's symbol table is called /386bsd.  */
  309. X
  310. X#define KERNEL_FILE "/386bsd"
  311. X
  312. X/* The symbol in the kernel where the load average is found
  313. X   is named _averunnable. */
  314. X
  315. X#define LDAV_SYMBOL "_averunnable"
  316. X
  317. X/* This macro determines the number of bytes waiting to be written
  318. X   in a FILE buffer. */
  319. X
  320. X#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
  321. X
  322. X/* 386BSD uses GNU C */
  323. X
  324. X#define C_COMPILER gcc -traditional
  325. X
  326. X/* 386BSD stores the termcap database in /usr/share/misc rather than
  327. X   /etc. We use the system termcap library to avoid putting a #ifdef
  328. X   in termcap.c or forcing the user to use TERMCAP. */
  329. X#define LIBS_TERMCAP -ltermcap
  330. END-of-s-386bsd.h
  331. exit
  332.  
  333.  
  334.  
  335. -- 
  336. +------------------------+---------------------------+
  337. | Gary Ward              |  Amdahl Corporation       |
  338. | gpw10@cd.amdahl.com    |  1250 East Arques Avenue  |
  339. | Phone : (408)746-8865  |  P.O. Box 3470 M/S 142    |
  340. |                        |  Sunnyvale, CA 94088-3470 | 
  341. +------------------------+---------------------------+
  342.