home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume32 / ecu / part03 < prev    next >
Encoding:
Text File  |  1992-09-10  |  56.9 KB  |  1,577 lines

  1. Newsgroups: comp.sources.misc
  2. From: wht@n4hgf.mt-park.ga.us (Warren Tucker)
  3. Subject:  v32i038:  ecu - ECU Asynchronous Communications v3.20, Part03/40
  4. Message-ID: <1992Sep11.191929.5736@sparky.imd.sterling.com>
  5. X-Md4-Signature: 5ce87794e0189803dfbd29f778611c49
  6. Date: Fri, 11 Sep 1992 19:19:29 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: wht@n4hgf.mt-park.ga.us (Warren Tucker)
  10. Posting-number: Volume 32, Issue 38
  11. Archive-name: ecu/part03
  12. Environment: SCO,XENIX,ISC,SUNOS,SYSVR4,HDB,Curses
  13. Supersedes: ecu: Volume 21, Issue 53-89
  14.  
  15. ---- Cut Here and feed the following to sh ----
  16. #!/bin/sh
  17. # this is ecu320.03 (part 3 of ecu320)
  18. # do not concatenate these parts, unpack them in order with /bin/sh
  19. # file OLD-HISTORY-1 continued
  20. #
  21. if test ! -r _shar_seq_.tmp; then
  22.     echo 'Please unpack part 1 first!'
  23.     exit 1
  24. fi
  25. (read Scheck
  26.  if test "$Scheck" != 3; then
  27.     echo Please unpack part "$Scheck" next!
  28.     exit 1
  29.  else
  30.     exit 0
  31.  fi
  32. ) < _shar_seq_.tmp || exit 1
  33. if test ! -f _shar_wnt_.tmp; then
  34.     echo 'x - still skipping OLD-HISTORY-1'
  35. else
  36. echo 'x - continuing file OLD-HISTORY-1'
  37. sed 's/^X//' << 'SHAR_EOF' >> 'OLD-HISTORY-1' &&
  38. X
  39. X7.  If you are not using a 43-line screen, the list of commands
  40. X    displayed by the interactive 'help' command is truncated.  I
  41. X    apologize; this problem will be solved Real Soon Now.
  42. X
  43. XChanges since ecu 2.80 patchlevel 1
  44. X
  45. X1.  The built-in help system was reworked.  Interactive commands are
  46. X    now divided into four categories: general, communications-related,
  47. X    transfer-related and procedure-related.  The help command asks for
  48. X    a category and displays the appropriate subset.
  49. X
  50. X2.  The built-in help file (ecuhelp.data) was revised.
  51. X
  52. XChanges since ecu 2.80 patchlevel 2
  53. X
  54. X1.  Patch 3 added a window mode selection to the sz file transfer menu;
  55. X    also, the unacknowledged data quantity (called "window") was
  56. X    added to the sz file transfer display.
  57. X
  58. XChanges since ecu 2.80 patchlevel 3
  59. X
  60. X1.  A problem with passing arguments to an initial procedure was
  61. X    fixed.  Getopt() is now used, which requires that all switch
  62. X    command arguments must precede the non-switch arguments.
  63. X    This was not true in previous revisions of ecu.
  64. X
  65. X2.  A new (non-standard) escape sequence has been added to the
  66. X    expresp procedure command.  \m### causes a ### millisecond delay.
  67. X    Note this adds an ambiguity to the syntax of the send string:
  68. X    you may not follow an \m delay with a literal digit to send.
  69. X    For example, suppose you wish to delay 300 missileconds then
  70. X    send "4A".  \m3004A will delay for 3004 (approximately) milliseconds,
  71. X    then send an "A".  You must, instead, use \m300\034A to achieve
  72. X    the desired result.
  73. X
  74. X    Also, a string of the form ~t[##] or ~m[##] may be prepended to
  75. X    any expect vstring to change the timeout to ## seconds or milliseconds,
  76. X    respectively.  '~t[8]gin:--~m[800]gin:' waits 8 seconds for
  77. X    'gin:' and if not found, sends a carriage return and waits
  78. X    an additional 800 milliseconds.
  79. X
  80. X3.  The method of choosing a shared memory segment key changed.
  81. X    Previously, ftok() was used.  Now, the algorithm is 
  82. X        0xEC000000L | getpid();
  83. X
  84. X4.  The -D switch has been added to cause ecu to terminate
  85. X    unconditionally upon completion of an initial procedure (-p).
  86. X
  87. XChanges since ecu 2.80 patchlevel 4
  88. X
  89. X1.  The malloc library is used, resulting in faster procedure
  90. X    execution.
  91. X
  92. X2.  Restrictions on string operations limiting useful string length
  93. X    to 256 characters have been lifted.  New restrictions limit
  94. X    strings to 5120 characters in length :-).  This required some
  95. X    major redesign and is responsible for the reissue of the entire
  96. X    ECU program rather than merely patches.
  97. X
  98. X3.  A new procedure command, 'gosub' has been added, allowing
  99. X    subroutines within a procedure file.
  100. X
  101. X    #---------
  102. X    # example
  103. X    #---------
  104. X        echo 'main'; gosub SUB; echo 'back to main'
  105. X        return           | return from proc
  106. X
  107. X    SUB
  108. X        echo 'sub'
  109. X        gosub SUB2
  110. X        echo 'back to sub'
  111. X        return           | return from subroutine
  112. X
  113. X
  114. X    SUB2
  115. X        echo 'sub2'
  116. X        return           | return from subroutine
  117. X
  118. X4.  Other minor unreported bugs were fixed.
  119. X
  120. XChanges since ecu 3.00
  121. X
  122. X============= Patch 1:
  123. X> Posting-number: Volume 16, Issue 60
  124. X> Archive-name: ecu3/patch01
  125. X> 
  126. X> This is patch 1 to ECU 3.  It provides speed improvements
  127. X> and fixes for non-ANSI terminal support.  Also provided is an
  128. X> experimental make file for GCC 1.37.1 on UNIX systems.
  129. X
  130. X============= Patch 2:
  131. X> Posting-number: Volume 16, Issue 70
  132. X> Archive-name: ecu3/patch2a
  133. X> 
  134. X> Posting-number: Volume 16, Issue 71
  135. X> Archive-name: ecu3/patch2b
  136. X> 
  137. X> ECU 3.0 PATCH # 2 - Non-ansi/ISC
  138. X> 
  139. X> 1.  Fix non-curses per-file transfer rate report
  140. X>     (it was verrrrry optimistic :-)
  141. X> 
  142. X> 2.  Add experimental support for ISC 2.2
  143. X> 
  144. X> Note: if you are purely an SCO multiscreen user, you may wish to
  145. X> save this patch and not apply it until further patches are issued.
  146. X> By doing so, you will save an unnecessary compilation.
  147. X> When another patch comes along, you must then apply this one so
  148. X> that your source will be in sync.
  149. X
  150. X============= Patch 3:
  151. X> Posting-number: Volume 16, Issue 87
  152. X> Archive-name: ecu3/patch03
  153. X> 
  154. X> Under XENIX,
  155. X> 1. libmalloc.a and/or libc.a are broken such that calloc is
  156. X>    resolved twice, once from each library.
  157. X> 2. memmove() does not exist (in all or less recent versions?)
  158. X> 
  159. X> To get ecu 3 to compile under XENIX, apply this patch with:
  160. X>      patch < thismessage
  161. X> 
  162. X> NOTE there is no test to see if patch 1 & 2 have been applied :-(
  163. X> so make sure you have done so.  Also, I don't have access to XENIX
  164. X> right now, so please forgive if this doesn't fly. The object is to
  165. X> 1. supply -DDUFF to use Duff's device instead of missing memmove()
  166. X> 2. remove #define MALLOC_3X and -lmalloc to avoid bug in libmalloc.a
  167. X
  168. X============= Patch 4:
  169. X> Posting-number: Volume 16, Issue 88
  170. X> Archive-name: ecu3/patch04
  171. X> 
  172. X> ECU 3 PATCH 4 - miscellaneous, 1 serious
  173. X> 
  174. X> 1. fix bug in non-ANSI key handling causing core dump fairly
  175. X>    often (but not on my sys :-<)
  176. X> 
  177. X> 2. duplicate definiton of ECULIBDIR in ecu.h fixed 3.  cosmetic
  178. X>    fix in 'fi' interactive command prompt
  179. X> 
  180. X> 4. comm line flusher lflush() was flushing console tty instead
  181. X> 
  182. X> 5. illegal color name in 'color' procedure command caused
  183. X>    hi_white on hi_white instead or error
  184. X> 
  185. X> 6. prototypes for strchr/strrchr in stdio_lint.h caused problems
  186. X>    on some systems
  187. X> 
  188. X> 7. procedure sz was not reporting proper results if files skipped
  189. X> 
  190. X> 8. miscellaneous cosmetic fixes and maintenance/experimental rearrangements
  191. X
  192. X============= Patch 5:
  193. X> Posting-number: Volume 16, Issue 97
  194. X> Archive-name: ecu3/patch05a
  195. X> 
  196. X> 1. Fixed memory leak + bad free in feval_str().
  197. X> 
  198. X> 2. Some common types of procedure string operations have been made faster
  199. X> by redesign of the realloc_esd() function.
  200. X> 
  201. X> 3. Octal integer constants were implemented; they may be denoted by
  202. X> prefixing them with "0o".  Leading zero octal constants are not supported
  203. X> due to ECUs mutiple use of the same integer constant parser.  I thought 
  204. X> most people would rather %itos("0200") return 200(10) than 128(10).
  205. X> 
  206. X> 4. Many line drivers, particularly FAS, will wait a process closing
  207. X> a tty line until all characters queued for output have been sent.
  208. X> When closing a tty line that has been permanently XOFF'ed by a 
  209. X> dead remote system or a noisy XOFF, this can result in a hang.
  210. X> Now, a SIGALRM/setjmp scheme is used to recover from this condition
  211. X> and flush line output before reattempting the close.  Five
  212. X> seconds are allowed for the draining to occur.
  213. X> 
  214. X> 5. Multiscreen normal and reverse foreground and background colors
  215. X> in effect at the beginning of ecu execution are restored when the
  216. X> program terminates (thanks to staceyc@sco for illuminating the
  217. X> undocumented GIO_IOCTL ioctl; I've wanted to be able to do this for
  218. X> a long time).
  219. X> 
  220. X> 6. lamy@glsys.in-berlin.de reported a core dump immediately after
  221. X> the one-line startup message under XENIX 286.  Others have had the
  222. X> problem too.  I am puzzled -- it is happening in get_home_dir(),
  223. X> which seems rather straightforward.  A patch to avoid the problem
  224. X> is included: get the home directory from the environment variable
  225. X> HOME if possible rather than invoke libpwent.a.
  226. X> 
  227. X> 7. An embarassing nroff problem was reported by slerner@eingedi.
  228. X> Patches are included for the nroff source.  Mr. Lerner also pointed
  229. X> out an obsolete reference to samplproc.man.  The models subdirectory
  230. X> contain many sample, even useful, procedures and samplproc.man
  231. X> was discarded a long time ago.
  232. X> 
  233. X> If you do not have nroff or the spare CPU cycles to make the
  234. X> manual from nroff source, I'll email you one. Just mail me
  235. X> at wht@n4hgf.Mt-Park.GA.US or emory!n4hgf!wht and put
  236. X> "send ecu305 manual" in the subject line.  If I get enough
  237. X> requests, I'll repost it to c.s.m as ecuman305.
  238. X> 
  239. X> 8. A make bug in the trial ISC port was fixed in Make.ecu (thanks to
  240. X> jmd@p1so).
  241. X> 
  242. X> 9. During non-curses file transfer, the cumulative elapsed time
  243. X> is reported once per complete line of 'RRRTRR..' status.
  244. X> 
  245. X> 10. ache@hq.demos.su reported a bug in XENIX utmp handler
  246. X> code.  This is a fix for most XENIX systems, but define OLD_WAY
  247. X> in utmpstat.c if you have problems.
  248. X> 
  249. X> 11. Sometimes upon adding a new phone entry, it would be marked
  250. X> for redial upon creation.  This has been fixed by using calloc()
  251. X> instead malloc().
  252. X> 
  253. X> 12. We seem to be bumping some limits on 286 systems.  I added
  254. X> more code to handle more core dumps reported by lamy@glsys.in-berlin.de:
  255. X> somehow newwin() managed to return zero (probably memory alloc fail).
  256. X> The patch to ecuwinutil.c won't fix the problem, but will at least
  257. X> report it and die gracefully, rather than splatter on the pavement
  258. X> with a core dump.  Please write me with bug reports and crash info:
  259. X> see below.
  260. X> 
  261. X> .--------------------.
  262. X> | NOTES and REQUESTS |
  263. X> `--------------------'
  264. X> 
  265. X> 1. I do not have any XENIX system to test with.  It is a tribute
  266. X> to SCO orthogonality that 35,000+ line program works so well
  267. X> across 2 CPUs and two operating systems of many minor releases
  268. X> and many versions of development systems.  I continue to point
  269. X> this out when I hear SCO-bashers do their thing.  However, since
  270. X> s**t does happen, if you are reporting a problem that results in
  271. X> a core dump, please run the following for me (I would APPRECIATE it):
  272. X> 
  273. X>   % cd where ecu is
  274. X>   % ./ecu
  275. X>   ----- kaboom -----
  276. X>   % ^Jstty sane^J if needed (probably)
  277. X>   % adb ./ecu |& tee to.wht
  278. X>   * $x
  279. X>   * $c
  280. X>   * $r
  281. X>   * $q
  282. X> If you are a really industrious one and have sdb and compiled with -g,
  283. X>   % sdb ./ecu |& tee -a to.wht
  284. X>   % t
  285. X>   % q
  286. X> Then  
  287. X>   % mail -s 'ecu 3.xx core dump' wht@n4hgf.mt-park.ga.us < to.wht
  288. X> 
  289. X> 2. ache@hq.demos.su has made some excellent suggestions which
  290. X> would enhance the line handling/choosing algorithms.  They will
  291. X> require a change in the phone directory.  He suggests I interpret
  292. X> old directory formats, while writing only new ones.  The changes
  293. X> are far reaching and I haven't the time now to plug them in,
  294. X> but kudos to him and I'll try to find A Round Tuit.
  295. X
  296. X============= Patch 6:
  297. X> Posting-number: Volume 17, Issue 11
  298. X> Archive-name: ecu3/patch06
  299. X> 
  300. X> This patch (#6) fixes a bug in patch 5.  Things seem stable now.
  301. X> I was going to wait for possible feedback from ISC porters, but
  302. X> several folks have had this problem (no doubt since ECU won't work
  303. X> without this patch).  This patch was also sent to comp.sources.bugs
  304. X> on 13 February, but patchlevel.h was not updated.  You may get 1 hunk
  305. X> rejected if you have already applied the patch.
  306. X> 
  307. X> You need to remake/reinstall both ecu and ecuungetty.
  308. X> 
  309. X> This man's hat sits on a quick-thinking head:
  310. X> > Organization: DEMOS, Moscow, USSR
  311. X> > Date: Wed, 13 Feb 91 02:15:23 +0300 (MSK)
  312. X> > From: emory!hq.demos.su!ache (Andrew A. Chernov, canton Uri's citizen)
  313. X> > Subject: ECU 3.05 utmpstat
  314. X> > 
  315. X> > Hi, Warren, bad news.
  316. X> > I just applied PATCH 5 for ECU, everything appears OK, but
  317. X> > 'utmpstat' not work at all, I look in...
  318. X> > IMHO it seems, like two strings are misplaced...
  319. X> > (US_LOGIN and US_DIALOUT)
  320. X> > I fix it, and ECU works correctly.
  321. X> > Good Luck.
  322. X
  323. SHAR_EOF
  324. echo 'File OLD-HISTORY-1 is complete' &&
  325. chmod 0644 OLD-HISTORY-1 ||
  326. echo 'restore of OLD-HISTORY-1 failed'
  327. Wc_c="`wc -c < 'OLD-HISTORY-1'`"
  328. test 21763 -eq "$Wc_c" ||
  329.     echo 'OLD-HISTORY-1: original size 21763, current size' "$Wc_c"
  330. rm -f _shar_wnt_.tmp
  331. fi
  332. # ============= OLD-HISTORY-2 ==============
  333. if test -f 'OLD-HISTORY-2' -a X"$1" != X"-c"; then
  334.     echo 'x - skipping OLD-HISTORY-2 (File already exists)'
  335.     rm -f _shar_wnt_.tmp
  336. else
  337. > _shar_wnt_.tmp
  338. echo 'x - extracting OLD-HISTORY-2 (Text)'
  339. sed 's/^X//' << 'SHAR_EOF' > 'OLD-HISTORY-2' &&
  340. X============= Changes for ECU 3.10 =======================================
  341. X
  342. XThis file gives hints about what has changed.  Rereading or skimming
  343. Xthe manual is highly recommended.  My apologies if some changes did
  344. Xnot get reflected in the manual.  Please let me know.
  345. X
  346. X1. Add nice interactive and procedure commands and %nice integer function.
  347. X
  348. X2. Add the %uid and %gid integer function.
  349. X
  350. X3. If ECU starts setuid, always reset the uid to the real uid.
  351. X   Previously this only happened if ECU was setuid to root.
  352. X
  353. X4. Made compatible with Metro Link X11R4 xterm under SCO UNIX/386.
  354. X   To use:
  355. X   a. include -DMETROLINK_X11R4 in CFLAGS of ECU compilation.
  356. X   b. edit the models/nonansikeys file patched by this patch
  357. X      to comment out the SCO ODT xterm key definiton and
  358. X      uncomment the Metro Link X11R4 definition.
  359. X      Follow other instructions you see in the nonansikey file.
  360. X
  361. X5. Fixed miscellaneous typos and misspelled words in models/nonansikeys.
  362. X
  363. X6. Environment variables LINES and COLS override termcap li and co
  364. X   values like terminfo curses does.  This gives you the correct
  365. X   size screen on xterms, but the ecu curses stuff still sees
  366. X   the termcap description un altered, giving you shorter (usually 24 line)
  367. X   dialing and help menus.
  368. X
  369. X7. Support is provided in nonansikeys for Metro Link's MetroX newest
  370. X   xterm (the one that uses pty pseudottys).  (Some of the key
  371. X   bindings are differerent and some .xinitrc and xterm resources
  372. X   are required; see 'models/nonansikeys'.)
  373. X
  374. X8. The -N switch for the procedure commands sx, sy, sz, rx, ry, and
  375. X   rz forces the "no curses" mode for file transfer.  This mode
  376. X   uses brief, tty-style reporting of file transfer progress.
  377. X   The "no curses" mode is automatically invoked if the console
  378. X   is not a pty or multiscreen and has a lower baud rate than the
  379. X   attached communication line.
  380. X
  381. X9. I added a dialer for the "generic Hayes-style 2400" (dialgHA24) and
  382. X   for the USR Courier 2400 (dialgUSR24).  My USR is at least
  383. X   6 years old and I don't even know if they still make them or
  384. X   if it is the same modem.
  385. X
  386. X10. A new config procedure greatly simplifies making and installing.
  387. X
  388. X11. I don't know if this will get it or not, but to try and help
  389. X    our European friends to be able to use alt_[a-z].ep, the keycodes
  390. X    required in the mapkeys file have changed from
  391. X      128 through 153 (0x80 through 0x99)     to
  392. X      229 through 249 (0xE0 through 0xF9).
  393. X    Reread mapkeys/README.
  394. X
  395. X12. Termination of file transfers by SIGINT did not cause termination
  396. X    of procedfure execution in pre-3.10 versions.  In this version, it does.
  397. X
  398. X    The appropriate manual sections have been updated to indicate:
  399. X
  400. X    Integer variable $i0 receives the exit status from the transfer.
  401. X    Note: procedure execution IS terminated by a SIGINT to the spawned
  402. X    file transfer process.  This is different than for versions prior
  403. X    to 3.10.  If $i0 is set to -1, the file transfer program did not
  404. X    begin.
  405. X
  406. X13. kbdtest3 is included to help figure out nonansikey configurations.
  407. X    see models/nonansikeys.
  408. X
  409. X14. SCO UNIX MEMMOVE() AND GCC
  410. X
  411. Xmemmove() is a very, very fast non-overlapping memory copy, but
  412. Xsince it does not save certain registers it uses, calling from
  413. XGCC can be tricky.  GCC does a fabulous job of grinding all it
  414. Xcan out of the available registers; MSC doesn't make very good
  415. Xuse of registers, er, I mean keeps a lot of registers for scratch
  416. Xuse.  I've never seen 386 MSC use dx except as a side effect of
  417. Xmultiply.  I guess that's what somebody (Gates?) meant by "tuning"
  418. Xone compiler to meet many needs being adequate. Enough philosophy,
  419. Xthough.
  420. X
  421. XI am using of -fcall-save-{ax,bx,cx,dx} since in at least one
  422. Xcase (ecufkey.c display_keyset()), rigorous optimization and
  423. Xreally righteous register usage caused a call to strlen() to
  424. Xscrew up since cx is not preserved by strlen.
  425. X
  426. Xstrlen:         push    edi
  427. Xstrlen+0x1:     mov     edi,[esp+0x8]
  428. Xstrlen+0x5:     xor     eax,eax               <-- goodbye ax 
  429. Xstrlen+0x7:     mov     ecx,0xffffffff        <-- goodbye cx
  430. Xstrlen+0xc:     repne   scasb
  431. Xstrlen+0xe:     inc     ecx     
  432. Xstrlen+0xf:     mov     eax,ecx 
  433. Xstrlen+0x11:    not     eax
  434. Xstrlen+0x13:    pop     edi
  435. Xstrlen+0x14:    ret
  436. X
  437. Xmemmove:        push    ebp
  438. Xmemmove+0x1:    mov     ebp,esp
  439. Xmemmove+0x3:    mov     edx,edi               <-- move rather than push
  440. Xmemmove+0x5:    mov     ebx,esi               <-- move rather than push
  441. Xmemmove+0x7:    mov     esi,[ebp+0xc]
  442. Xmemmove+0xa:    mov     edi,[ebp+0x8]
  443. Xmemmove+0xd:    mov     eax,edi               <-- goodbye ax 
  444. Xmemmove+0xf:    mov     ecx,[ebp+0x10]        <-- goodbye cx (OK w/MSC)
  445. Xmemmove+0x12:   jcxz    memmove+0x43
  446. Xmemmove+0x14:   cmp     edi,esi
  447. Xmemmove+0x16:   jbe     memmove+0x2e
  448. Xmemmove+0x18:   mov     eax,esi
  449. Xmemmove+0x1a:   add     eax,ecx
  450. Xmemmove+0x1c:   cmp     edi,eax
  451. Xmemmove+0x1e:   jae     memmove+0x2e
  452. Xmemmove+0x20:   mov     eax,edi
  453. Xmemmove+0x22:   add     esi,ecx
  454. Xmemmove+0x24:   add     edi,ecx
  455. Xmemmove+0x26:   dec     esi
  456. Xmemmove+0x27:   dec     edi
  457. Xmemmove+0x28:   std
  458. Xmemmove+0x29:   rep     movsb
  459. Xmemmove+0x2b:   cld
  460. Xmemmove+0x2c:   jmp     near memmove+0x43
  461. Xmemmove+0x2e:   mov     eax,edi
  462. Xmemmove+0x30:   test    Byte Ptr 0x1f:0x1,al
  463. Xmemmove+0x36:   je      memmove+0x3a
  464. Xmemmove+0x38:   movsb
  465. Xmemmove+0x39:   dec     ecx
  466. Xmemmove+0x3a:   shr     ecx,1
  467. Xmemmove+0x3c:   rep     movsw
  468. Xmemmove+0x3f:   adc     ecx,ecx
  469. Xmemmove+0x41:   rep     movsb
  470. Xmemmove+0x43:   mov     esi,ebx
  471. Xmemmove+0x45:   mov     edi,edx
  472. Xmemmove+0x47:   pop     ebp
  473. Xmemmove+0x48:   ret
  474. Xmemmove+0x49:   nop
  475. Xmemmove+0x4a:   nop
  476. Xmemmove+0x4b:   nop
  477. X
  478. X15.  A documented feature is that upon connecting to a remote
  479. Xdialed through the directory, if a 'fkey' key set from ~/.ecu/keys 
  480. Xmatches the directory name, the key set is automatically loaded.
  481. XThis feature has never worked (I never used it or tested it.)
  482. XRecently I told someone they could use it and they reported it
  483. Xdid not work.  It does now.
  484. X
  485. X16. The example file models/sz_update.ep was treating skipped files
  486. Xas a failed transfer.  This was fixed.
  487. X
  488. X17. Interactive and procedure commands 'pushd' and 'popd' were added.
  489. X
  490. X18.  Adding pushd and popd documentation made ecu.man too long
  491. Xgiving me "word overflow" and a core dump from my nroff.  So,
  492. Xthere are now two documents, ecu.man and exits.man.  The latter
  493. Xis very short and is just a kludge since the former is as long as
  494. Xit can be.
  495. X
  496. X19. Added the procedure rlog command for procedure control of
  497. Xreceiver logging.
  498. X
  499. X20. Added _initial.ep, _connect.ep and _hangup.ep. See "Special
  500. XProcedures" in the manual.
  501. X
  502. X21. The use of #ifdef GCC140 is made to take advantage of a
  503. Xassembly source generation bug fix in gcc 1.40.
  504. X
  505. X22. Running ecu with no pre-existing phone directory and specifying
  506. Xa logical phone number (directory entry) to dial caused erratic
  507. Xbehavior or core dump.  This has been fixed.  Thanks for the report
  508. Xfrom mju@mudos.ann-arbor.mi.us.  He did a good job of testing
  509. Xan alpha version of 3.10.
  510. X
  511. X23. Pressing an invalid function key during interactive command
  512. Xentry used to destroy the string being entered.  This has
  513. Xbeen fixed.
  514. X
  515. X24. The ESCape vs. function key keyboard input discrimination
  516. Xalgorithm has been improved.  Fewer, if any, function keys will now
  517. Xmisinterpreted as ESCape keys followed by "junk."
  518. XREADME.P1           ECU 3.10 Patch 1     Mon Aug 12 03:46:20 EDT 1991
  519. X
  520. XThis describes patch 1 to ECU 3.10, bringing the program to
  521. Xversion 3.11.  Due to the manner in which the program builds its
  522. Xversion strings, patchlevel.h should contain #define PATCHLEVEL
  523. X11.
  524. X
  525. XTo use
  526. X------
  527. X
  528. XTo apply the patch, unshar all of the parts.  This step will
  529. Xcreate patch files and overwrite some files whose diffs were
  530. Xlarger than the new files.
  531. X
  532. Xtype the command
  533. X    sh PATCH1.APPLY
  534. X
  535. Xthen do the
  536. X    Configure
  537. Xsequence and re-make
  538. X
  539. XOnce you are satisfied the patch has been correctly applied,
  540. Xyou may 
  541. X    rm PATCH1.*
  542. Xand
  543. X    make neat
  544. Xto remove the usual crud and peanut hulls left on the floor after
  545. Xa patch operation.
  546. X
  547. XThis patch fixes the following problems:
  548. X----------------------------------------
  549. X
  550. X1.  ISC lock files are placed in /usr/spool/locks.  ECU now has a
  551. Xconfigurable lock file directory whose name is automatically selected
  552. Xdepending upon the machine type.
  553. X
  554. X1.  1.  Several problems with compiling the the makedirs program under
  555. XXENIX were fixed.
  556. X
  557. X3.  The 'w' (wait) subcommand of the dialing directory screen was not
  558. Xasking for both single and multiple entry list weait values, but only
  559. Xthe first.
  560. X
  561. X4.  VT220 and perhaps other terminals insist upon generating the CSI
  562. X(ESCape plus 0x80) character as a function prefix.  To handle the need
  563. Xfor eight bit keryboard support for nonansikeys, I did the following:
  564. X
  565. X   a. fixed the ECU code to honor the full eight bits of keyboard
  566. X      code sequences when processing function key reads.
  567. X
  568. X   b. removed other code that masks the parity bit of various data items.
  569. X
  570. X   c. added code the kbdtest3.c that includes an stty -a listing for
  571. X      the keyboard at the time it is run.  I also specify in clearer
  572. X      terms what parity was in use and that may be required to use
  573. X      the keyboard.
  574. X
  575. X5.  Previously, you had to have a copy of nonansikeys in each user's
  576. X.ecu directory who use non-ANSI consoles.  You may now put a single copy
  577. Xin the ECU library directory (usually /usr/local/lib/ecu).  ECU searches
  578. Xfirst in ~/.ecu then in the library directory.
  579. X
  580. X5a. The manual stated a number of restrictions regarding
  581. Xthe codes which can be transmitted by a keyboard to be supported
  582. Xby the non-ANSI console feature.  I missed updating that manual part
  583. Xwhen I released 3.10.  ECU 3.10 merely requires the code sequence
  584. Xto be free of nulls and less than 33 characters in length.
  585. X
  586. X6.  The models/nonansikeys file has been updated to include an entry for
  587. Xthe latest Metro Link X11R4 server.  The new server has improved default
  588. Xkey bindings and the previously dead KP_5 (unshifted Keypad 5) lives.
  589. X
  590. X7.  In previous revisions of ECU, when editing an existing string on a
  591. Xscreen, the cursor was placed at the end of the line at the commencement
  592. Xof editing.  This was untrue of 3.10 and this patch restores the
  593. Xbehavior.
  594. X
  595. X8.  Baud rates below 300 now get two stop bits.  I doubt anyone is using
  596. X110 baud but if you ever get the hankering, it will work now.
  597. X
  598. X9.  In the respond function of the expect-respond handler, \n sent CR
  599. Xnot NL as documented.
  600. X
  601. X10.  The test for an environment HZ was incorrect causing the
  602. Xsys/param.h value to be used always.
  603. X
  604. X11.  The 'nap' procedure command napped for the wrong amount of time if
  605. Xthe -m option was used.
  606. X
  607. X12. Under some conditions, ecuungetty would find a lock file created by
  608. Xits (parent) ECU and report that the line was in use by another dial out.
  609. XThis has been around for a long time.
  610. X
  611. X13. The command history mechanism got botched up by some last minute
  612. Xchanges to the tty line input editor. 
  613. X
  614. X14. Some work (largely in the dark) has been done to handle
  615. Xdifferences between ISC and SCO tty naming.  The new manual entry says
  616. Xof the -l startup switch:
  617. X
  618. X  The argument to the switch is the base name of the tty (e.g., "tty1a" or
  619. X  "acu0").  On SCO, since ttys are all named consistently according to the
  620. X  "/dev/ttyxx" form, you may omit the "tty" (e.g., "1a" or "4g").
  621. X
  622. XThe new manual entry says of the tty name fierld in the dialing directory:
  623. X
  624. X  A specific line is specified by using the base name of the tty (e.g.,
  625. X  "tty1a" or "acu0").  On SCO, since ttys are all named consistently
  626. X  according to the "/dev/ttyxx" form, you may omit the "tty" (e.g., "1a"
  627. X  or "4g").
  628. X
  629. XThis means than on ISC you must now fully specify the base name
  630. Xof the tty.  On SCO, you now have the -option- of doing the same or
  631. Xyou may continue to use the two character suffix.
  632. X
  633. XI believe that now:
  634. X
  635. X  on SCO, you may use any tty name whose base name begins with "tty".
  636. X  on ISC, add tty names whose base name begins with "acu"
  637. X
  638. X15. Miscellaneous other (nonvisible or debugging) changes were made.
  639. X
  640. X:EDITS: summary:
  641. X----------------
  642. XConfigure                   change FASI_IN_USE to FASI
  643. Xecu.c                       add memstat 
  644. Xecu.c                       jpm@logixwi fix: HZ getenv test wrong sense 
  645. Xecu.c                       soup up -l for ISC vs. SCO 
  646. Xecu.h                       configurable lock directory 
  647. XecuLCK.c                    SCO_TTY_NAMING considerations 
  648. XecuLCK.c                    configurable lock directory 
  649. XecuLCK.c                    race with ecuungetty over lock resolved 
  650. Xecucmd.h                    add memstat 
  651. Xecuicmd.c                   add memstat 
  652. Xecuicmd.c                   turn off memstat after frustrating evening 
  653. Xecuicmhelp.c                when editing string, set cursor to end 
  654. Xecuicmhist.c                new ttygets botched command history handler 
  655. Xeculine.c                   SCO_TTY_NAMING considerations 
  656. Xeculine.c                   baud rates below 300 get two stop bits 
  657. Xeculine.c                   remove unused externs 
  658. Xeculock.c                   US_WEGOTIT handling 
  659. Xeculock.c                   configurable lock directory 
  660. Xecuphone.c                  soup up tty name for ISC vs. SCO 
  661. Xecuphone.c                  w subcommand was not asking both questions 
  662. Xecuphone.c                  when editing string, set cursor to end 
  663. Xecusetup.c                  ISC tty names 
  664. Xecuungetty/ecuungetty.c     US_WEGOIT handling 
  665. Xecuungetty/ecuungetty.c     add debug log event code 
  666. Xecuwinutil.c                when editing string, set cursor to end 
  667. Xexpresp.c                   \n sent CR not NL 
  668. Xexpresp.c                   detect NULL expect string 
  669. Xexpresp.c                   nap min of hzmsec if \m 
  670. Xhdbintf.c                   US_WEGOTIT handling 
  671. Xkbdtest3.c                  add parity reporting 
  672. Xkbdtest3.c                  some terminals reinvent parity bit's use 
  673. Xlint_args.h                 afterlint-creation 
  674. Xlogevent.c                  use static logname 
  675. Xmakedirs.c                  need smart_fork for XENIX 
  676. Xmkdirs.c                    how did compile succeed without signal.h? 
  677. Xmkdirs.c                    no need for sys/wait.h + XENIX doesn't have it 
  678. Xmodels/nonansikeys          add new Metro Link server entry
  679. Xnonansikey.c                allow any code as first in key sequence 
  680. Xnonansikey.c                look for nonansikeys in ECULIBDIR too 
  681. Xpcmd.c                      add nap -1 return and proctrace 
  682. Xpcmd.c                      nap -m test wrong sense ... old bug! 
  683. Xutmpstat.c                  US_WEGOTIT handling 
  684. Xutmpstatus.h                add US_WEGOTIT 
  685. Xz/Make.src                  neat used wrong rm args
  686. Xzgcc                        thanks for the -p1 suggestion to sef@kithrup.com
  687. X
  688. XREADME.P2           ECU 3.10 Patch 2        Tue Aug 13 16:29:11 EDT 1991
  689. X
  690. XThis describes patch 2 to ECU 3.10, bringing the program to
  691. Xversion 3.12. 
  692. X
  693. XThe majority of this patch deals with the way SCO and ISC misimplement
  694. Xthe nap() system call.  A lingering problem with the interactive
  695. Xcommand history handler is also fixed (pressing erroneous function keys
  696. Xcaused the display to become garbaged).
  697. X
  698. XISC and SCO UNIX nap() misbehave.  This kludge doesn't return the
  699. Xproper value (the actual time slept), but at least it does not make
  700. Xa mockery of the manual page.  It says:
  701. X
  702. X     NAP(S)               UNIX System V            NAP(S)
  703. X
  704. X     Name
  705. X      nap -    suspends execution for a short interval
  706. X
  707. X     Syntax
  708. X      long nap(period)
  709. X      long period;
  710. X
  711. X     Description
  712. X      The current process is suspended from    execution for at least
  713. X      the number of    milliseconds specified by period, or until a
  714. X      signal is received.
  715. X
  716. X     Return Value
  717. X      On successful    completion, a long integer indicating the
  718. X      number of milliseconds actually slept    is returned. If    the
  719. X      process received a signal while napping, the return value
  720. X      will be -1, and errno    will be    set to EINTR.
  721. X
  722. X     See Also
  723. X      sleep(S)
  724. X
  725. X     Notes
  726. X      This function    is driven by the system    clock, which in    most
  727. X      cases    has a granularity of tens of milliseconds.  This
  728. X      function must    be linked with the linker option -lx.
  729. X
  730. XIt appears nap() under UNIX 3.2.x has departed virtually entirely from
  731. Xthe manual page.  I'm beginning to look rather silly in several
  732. Xmilleus since I keep telling people SCO UNIX is a viable upgrade from
  733. XXENIX.  But process control people need some kind of timing capability
  734. Xless than one second and we can't do it with nap or select.
  735. X
  736. Xnap(msec) is supposed to nap *at least* msec milliseconds.  However,
  737. Xif msec is specified less than 1000/HZ + 1, it will not nap at all.
  738. XThis was true for 3.2.0 and 3.2.1.
  739. X
  740. XIt is supposed to return the number of milliseconds it actually
  741. Xslept.  Instead, it appears to "save up" the values and return them in
  742. Xlots of 1000. This behavior is true for 3.2.2.
  743. X
  744. XAs it is nap() is nearly useless.  I believe select() suffers
  745. Xfrom the same deficiency (< 1000 msec timeout becomes 1000 msec) but
  746. XI haven't "proven" it yet.
  747. X
  748. XREADME.P3           ECU 3.10 Patch 3        Tue Aug 27 03:36:04 EDT 1991
  749. X
  750. XThis describes patch 3 to ECU 3.10, bringing the program to
  751. Xversion 3.13. 
  752. X
  753. XOverview
  754. X--------
  755. X
  756. XThe patch fixes some problems with the previous release, adds new
  757. Xfunctionality and adds support for SunOS 4.1 and ISC System V
  758. XRelease 4.  I have tested it fairly well on a Sparc 1+ under
  759. XX11R4 (MIT Sun server and xterm at PL18) and SunOS 4.1.  I did my
  760. Xbest to integrate patches supplied by Lothar Hirschbiegel
  761. X(aega!lh).  Lothar has ISC SVR4 and his changes worked for him,
  762. Xbut I had to hack them since his patches were against the
  763. X"official" 3.12 and I applied them to sources already half-ported
  764. Xto the Sun.  I hope they go well, but write if they don't.  I want
  765. Xto hear of any success you might have with other SVR4 systems, too.
  766. X
  767. XSystem V Release 4
  768. X------------------
  769. X
  770. X> I cannot offer much information on this, since Lothar sent little more than
  771. X> patches and I have no access to a system for testing. 
  772. X> This is what I have:
  773. X> I've just finished porting ecu3.12 to SVR4. I have added my changes
  774. X> as a diff file, maybe this is of interest for you.
  775. X> The following points were added/changed:
  776. X> 
  777. X> 1. I have included a configuration option for SVR4 in config.c
  778. X> 2. ecu works fine with "ttymon" under SVR4. This means you don't need
  779. X>    FAS or something like this - bidirectional access to the serial ports
  780. X>    with the stock asy drivers is ok.
  781. X> 3. Because of some strange(?) behaviour in SVR4 curses I had to use
  782. X>    some terrible kludges to make it work clean. It's working as it is,
  783. X>    but there is obvilously room for improvement...
  784. X> 4. SVR4 has the same set of hardware handshake ioctl's as SCO does.
  785. X>    It's named differently (RTSXOFF and CTSXON), but it seems to work exactly
  786. X>    the same way. I have enabled the "RTS" option for SVR4 - hopefully this
  787. X>    is a standard feature (termiox) in *all* SVR4 versions, not just in
  788. X>    my ISC release... :-)
  789. X> 5. I'm still working on ecusz/ecurz. Outgoing transfer is doing fine, but
  790. X>    incoming transfer locks up the connection sometimes.
  791. X>    As soon as I have finished this, I could send you the cdiffs too.
  792. X
  793. XSunOS
  794. X-----
  795. X
  796. XI brought this up in relatively short order.  I may have gotten
  797. Xwhat I paid for :-), but it seems stable.  The System V support
  798. Xunder SunOS was pleasingly similar to the SVR3 environment ECU came
  799. Xfrom.  This release works on my Sparc 1+ with SunOS 4.1.1 and X11R4.
  800. XSome xterm VT100.Translations overrides are necessary to enable use of
  801. Xcertain keys unrecognized by the default xterm configuration.
  802. XDetails are provided in the updated models/nonansikeys.  If the
  803. Xrecommended changes, you can do what I did to figure out how to
  804. Xget this guy going:
  805. X
  806. X  1. run xev and press the various function keys to see the
  807. Xnames you need to specify in the xterm translations.  
  808. X  2. edit the translations in nonansikeys example and put them in
  809. Xyour .Xdefaults file
  810. X  3. run kbdtest3 to get a kbdtest3.out file
  811. X  4. put this file's output into your ~/.ecu/nonansikeys file
  812. X(near the top, ahead of other xterm defs so it will be found first).
  813. X  5. try it
  814. X  6. when it works, send me the kbdtest3.out file along with the
  815. XVT100.Translations overrides you casme up with and a description of
  816. Xthe X environment you used.
  817. X
  818. XThere is also a new entry named 'sun' in models/nonansikeys for the
  819. Xconsole.
  820. X
  821. XNote on 'nonansikeys'
  822. X---------------------
  823. X
  824. XThis file was named when support was added to the original
  825. XSCO-only version to support keyboard/screens other than the
  826. Xnative multiscreen console.  Since the TERM name for multiscreens
  827. Xis "ansi", it seemed reasonable to name the file nonansikeys.  It
  828. Xnow should probably be called 'nonSCOmultiscreenskeys', but that
  829. Xname is too long for System V :-).  Before too many more
  830. Xrevisions, even SCO multiscreen key definitions will be read from
  831. Xnonansikeys and maybe then will be a good time to rename the
  832. Xfile.  Anyway, this file and a good termcap definition takes you
  833. Xa long way to supporting ecu on a wide variety of System V{,-ish}
  834. Xplatforms.
  835. X
  836. XFixes
  837. X-----
  838. X
  839. X1.  The ANSI SD (scroll down) sequence was broken for consoles
  840. Xother than SCO multiscreens.  It scrolled down n * COLS lines
  841. Xinstead of n lines.
  842. X
  843. X2.  Editing the null phone directory entry (pressing 'e' in an
  844. Xempty directory, editing and exiting) caused a core dump.  Now
  845. Xyou are prevented from editing a non-existent entry.
  846. X
  847. X3.  Procedure commands with switch arguments longer than 8
  848. Xcharacters caused stack corruption (unpredictable behavior
  849. Xincluding core dump).  There is no call for switches this long,
  850. Xbut if present, the program should not explode.  Now, switches
  851. Xlonger thasn 8 characters (including the hyphen) are silently
  852. Xtruncated.  Should commands ever be added which could conceivably
  853. Xevoke switch arguments that might approach the limit, either the
  854. Xlimit will be extended or error reporting will be added, or both,
  855. Xas appropriate.
  856. X
  857. X4.  # comments to the right of nonansikey key definition lines
  858. Xerroneously included the # in the definition.  This may not have
  859. Xbeen a bug in 3.12.  I may have added it during 3.13 development,
  860. Xbut it is gone now in any case.
  861. X
  862. X5.  Previously, if the console line baud rate was not at least 4
  863. Xtimes the tty line rate (roughly), the "no curses" mode was
  864. Xforced during file transfer and could not be overridden.  Since
  865. Xvarious video driver implimentations express verious pseudo-"baud
  866. Xrate" settings, this was more often a problem than a feature.  If
  867. Xthe change causes you trouble, write me (or trying using Home pc
  868. Xsz -N in lieu of Home pc sz, etc.).
  869. X
  870. X6.  Previously, an effort was made to editorialize on your choice
  871. Xof a tty device name.  This is no longer done.  On SCO, you
  872. Xshould use the lower case (direct) names, like tty1a, to get the
  873. Xexpected lock file names, but trying to second guess all the
  874. Xvendor and third-party names was an unnecessary and
  875. Xcounter-productive stumpling block.  If you want to go for
  876. X/dev/swap, go ahead (I don't expect the ioctls to work -- or your
  877. Xsystem :-> ).
  878. X
  879. X7.  Andrew A. Chernov (ache@hq.demos.su) said:
  880. X
  881. X1) HDB dialers may return connect speed as return code (!= 0)
  882. X [ and the CONNECT string built by hdbintf.c prints this code -- wht]
  883. X [his patch used - wht]
  884. X2) Using HDB Dialcodes file for phone numbers translation now
  885. X   (\D,\T escape sequence)
  886. X [his patch used - wht]
  887. X
  888. XIn other mail he wrote:
  889. X
  890. XI just found  little bugs:
  891. X1) XENIX standard cc doesn't understand prototypes with names:
  892. X"FILE *" is ok, but "FILE *fp" is bad. (patched sea/lint_args.h)
  893. X [fixed - wht]
  894. X2) 'makedirs' program NEED last '/' in path name to make directory.
  895. XAll Make.src patched to add '/' at the end of dirs.
  896. X [fixed n a different way; makedirs now works as advertised - wht]
  897. X3) Some HDB dialers looks in argv[0] and change some parameters
  898. X(f.e. speed, etc.), so name "ECUdial" is invalid, and need change to
  899. Xdve->dialprog. WARNING: this patch required my previous patch
  900. X(use 'token' instead of 'stripped_num')
  901. X [his patch used - wht]
  902. X
  903. X8. Jan-Piet Mens <logixwi.uucp!jpm> reported problems
  904. Xwith VT-220 support due to it's necessity of passing characters
  905. Xwith the sign bit set.  As of now, characters are read by ecu and kept
  906. X8-bit intact until they have been passed through the key mapping filter.
  907. XKeys actually input to the program or sent over the line are
  908. Xlimited to 7 bits for now (sorry to my international friends) since
  909. Xcharacters with the sign-bit have internal significance to ECU.
  910. XThis is a primary example of "American's Disease" (7-bit ASCII) and I'll get
  911. Xit out of here as soon as I get over "Warren's Disease" (laziness).
  912. X
  913. XHe also reported:
  914. X> In README.P1, you write that the "nonansikeys" file may be put in
  915. X> ECULIBDIR.  This is incorrect: it is searched for in
  916. X> ECULIBDIR/.ecu [Line 193 nonansikey.c]
  917. X
  918. XAcknowledgments
  919. X---------------
  920. X
  921. XI've already mentioned Lothar's work in a matter-of-fact manner,
  922. Xbut here is the place for extreme words of appreciation. SVR4 is
  923. Xvery important and kudos to him for the leg up.
  924. X
  925. XRobert E.  Laughlin, Naval Ocean Systems Center (NOSC), bel@trout.nosc.mil,
  926. Xreported various successes and failures.  We had a good and continuing
  927. Xdialog.  His interest, suggestions and moral support did more for me than my
  928. Xsupport of ECU did for him.
  929. X
  930. XAndrew Chernov, of Relcom fame, made important suggestions and
  931. Xfixes for XENIX support and for the product as a whole.  He made
  932. Xsome important suggestions for an older revision as well, some of
  933. Xwhich I put in and some not (Variously, I was too lazy, busy or
  934. Xthe code had gone too far away from what he was patching from).
  935. XHis work is laudable and important for many reasons far exceeding
  936. Xhis support of this little program.  Keep him in your thoughts
  937. Xthrough these strange and wonderous times.
  938. X
  939. XIt was good to hear from these folks for their comments asnd fixes:
  940. X
  941. X Andy Hall <relay.EU.net!ncduk!andyh>
  942. X Dave Hammond <dsix2!daveh
  943. X Greg Wilkins <sir-alan!gregw>
  944. X Michael P. Deignan <anomaly.sbs.com!mpd>
  945. X Michael Traub <rtf.bt.co.uk!traub>
  946. X cmcl2.NYU.EDU!panix!tbetz (Tom Betz)
  947. X Jan-Piet Mens <logixwi.uucp!jpm>
  948. X mudos.ann-arbor.mi.us!mju (Marc Unangst)
  949. X lll-winken.llnl.gov!abhg!tao!tempest!whitemp
  950. X ucsd!jadpc.cts.com!jdeitch
  951. X
  952. XThis file is harder to write than all of the code changes.  Not
  953. Xonly is it hard to remember what all bugs were reported by whom
  954. Xand what changes were fixed by whom, I hope I haven't missed
  955. Xcrediting anyone.  if I did, please forgive me.
  956. X
  957. XKeep dem cards and letters coming.
  958. X
  959. X
  960. XREADME.P4           ECU 3.10 Patch 4       Wed Aug 28 09:43:44 EDT 1991
  961. X
  962. XThis describes patch 4 to ECU 3.10, bringing the program to
  963. Xversion 3.14.
  964. X
  965. XThe majority of this patch deals with good work done by Paul
  966. XSlootman (slootman@dri.nl) on the SVR4 port.  From what he
  967. Xencountered, I am very very disappointed in some of the more anal
  968. XANSI C implementations out there.  Trigraphs suck and we all knew
  969. Xthat, but having to cast a constant in a comparison with
  970. Xstrlen???  (Excuse me -- that is a trigraph -- I must learn to
  971. Xsay \?\?\?).
  972. X
  973. XOh well, there are a few other kinds of fixes in here too: ISC
  974. Xshould be better off.  Some of the conditionally compiled code
  975. Xthat was running for SCO only should have been in for ISC too.
  976. X
  977. XI thought I had fixed the bad search for nonansikeys in
  978. XECULIBDIR/.ecu/ instead of ECULIBDIR/, but it is fixed now.
  979. X
  980. XTo use:
  981. X       patch -p < PATCH4.01
  982. X       Configure
  983. X       make
  984. X       su root (may not be necessary on Sun or SVR4 if you
  985. X               have write access to the installed directories)
  986. X       make install
  987. X
  988. XREADME.P6           ECU 3.10 Patch 6     Wed Sep  4 00:41:23 EDT 1991
  989. X
  990. XThis describes patch 5 to ECU 3.15, bringing the program to
  991. Xversion 3.15.
  992. X
  993. XFiles in Patch 5:
  994. XREADME.P5
  995. XPATCH5.01
  996. Xfasi/fas.h
  997. Xckermit/ckutio-ecu.dif
  998. Xmemmove/README
  999. Xmemmove/memmove.s
  1000. Xmemmove/memmove286.asm
  1001. Xmemmove/memmove386.asm
  1002. Xtimetest/Makefile
  1003. Xtimetest/naptest.c
  1004. Xtimetest/naptest2.c
  1005. Xtimetest/naptest3.c
  1006. Xtimetest/seltest.c
  1007. X
  1008. XFirst, a note of apology to Sun users.  I used the -mm nroff macros
  1009. Xto write the manuals.  Sun provides -ms and -me, but not -mm.
  1010. XI'm looking for some PD replacements, but haven't succeeded yet.
  1011. XI'll be glad to mail an updated manual to anyone who asks.  I'm
  1012. Xalso looking for a friendly ftp site to hold updates, hence manuals.
  1013. X
  1014. X1. Improvements in the SVR4 port have been made, but now
  1015. XSVR4 almost certainly means an AT&T/Intel/ISC 386 port,
  1016. X                                              ^^^
  1017. Xsince we expect to find /usr/include/sys/at_ansi.h and
  1018. X/usr/include/sys/sys/kd.h files for console color capability.
  1019. X(Color is not yet supported on Sun -- only monochrome xterms
  1020. Xand the console without color manipulation).
  1021. X
  1022. XIf you have trouble with compiling ecutty.c for SVR4 (complaints
  1023. Xabout not finding either of these header files), temporarily remove the
  1024. XSVR4 condition for inclusion of them and for using the CONS_GET code
  1025. Xnear the bottom of the source.
  1026. X
  1027. X2.  Many improvements were made in the area of system independence.
  1028. XThe build procedure configures the location of HDB Devices,
  1029. XDialcodes and Dialers files among the various environments:
  1030. XSCO   /usr/lib/uucp
  1031. XISC   /usr/lib/uucp
  1032. XSun   /etc/uucp
  1033. XSVR4  /etc/uucp
  1034. X
  1035. X3. A new feature of Configure is the inclusion of local configuration
  1036. Xin the Makefiles it builds.  If you build a file named "config.local"
  1037. Xin the base source directory, it's contents will be placed ahead of
  1038. Xall other make statements in each Makefile.
  1039. X
  1040. XExample customization include:
  1041. XCFLAGS_EXTRA  = -Dwhatever
  1042. XGCC_CFLAGS_EXTRA = -fsoft-float  #just an example :-)
  1043. XCC_CGLAGS_EXTRA = -p
  1044. XSYMBOLIC = -g             # if you want sdb/dbx/gdb symbols in programs
  1045. XBINTIME = /bin/time       # if you want stats on each make step
  1046. XLDFLAGS_EXTRA  = -ljuicier-malloc
  1047. X
  1048. XJudicious use of this may help you avoid changing Make.src files
  1049. Xthus making patch complain about future patches, but 
  1050. X
  1051. X4. A patch from Andrew Chernov that fell out of the last version
  1052. Xwas reapplied:  Many SCO-style dialer programs do not care
  1053. Xwhat is in argument 0 (the command name) when they are executed,
  1054. Xbut some do.  Before this patch, the argument passed was "ECUdial"
  1055. Xsince the gendial dialers *can* make use of it.  This usage
  1056. Xconflicted with some of Andrew's dialers which need the actual
  1057. Xname passed.  So, starting with this edition, if you invoke
  1058. Xa dialer program, its complete pathname will appear in argv[0].
  1059. XIf you want the old behavior, add a file to the base directory
  1060. Xcalled config.local and place in it the line:
  1061. X
  1062. X  CFLAGS_EXTRA = -DECUdial
  1063. X3. The usefulness of _rc.ep has been enhanced by adding the
  1064. X'setline' procedure command.    This command is only valid during the
  1065. Xexecution of _rc.ep.  It allows you to override the selection of
  1066. Xa default line as if you had used the -l switch.  In fact, using
  1067. Xthe commabnd overrides -l.
  1068. X
  1069. XUsage: setline <filename>
  1070. X
  1071. XThis command is an exact analog of the -l command line switch.
  1072. X<filename> is used on the setup screen (if it is presented)
  1073. Xas the default filename. If you do not edit this name, ECU will
  1074. Xattempt to open the line when you press End or ^D. 
  1075. X
  1076. X<filename> has the format of a complete pathanme in /dev or simple
  1077. Xtty name. 
  1078. X
  1079. XExample:
  1080. X  setline '/dev/tty1a'
  1081. X  setline 'tty1a'
  1082. X  setline 'cua0'
  1083. X
  1084. X5. Similarly, using the 'baud' and 'parity' procedure commands in
  1085. X_rc.ep serve as an exact analog of the -b, -e and -e command line switches.
  1086. XUsing 'baud' and 'parity' in rc_ep override the equivalent
  1087. Xcommand line switches.
  1088. X
  1089. X6.  On the Sun, STREAMS termios is used in lieu of termio.  The code
  1090. Xused for draining the line output queue ("wait for all transmitted
  1091. Xdata to be sent over the line") has been improved, making
  1092. Xexpect-respond, file transfer and other highly interactive operations
  1093. Xmore reliable.
  1094. X
  1095. X7.  The following files normally found in a personal ~/.ecu
  1096. Xdirectory may now have a systedm default in ECULIBDIR:
  1097. X
  1098. X   colors
  1099. X   keys
  1100. X   nonansikeys
  1101. X
  1102. X8. Unreported bugs in the format of the keys and nonansikeys files have
  1103. Xbben fixed.  Specifically, whitespace and comments are allowed after keyset
  1104. Xor terminal names.
  1105. X
  1106. X9. On ISC 2.2 systems, the console was left in standout or bold
  1107. Xmode at exit from ECU.  I believe this problem is now fixed.
  1108. X
  1109. X10. The GCC compilation flags for 386 versions have been updated to use
  1110. X-fcall-used-bx rather than -fcall-used-{ax,bx,cs,dx].
  1111. X
  1112. XIt turns out the only problem ECU had with strenuously optimized GCC
  1113. Xoptions was that SCO's memmove clobbers the bx register, which is
  1114. Xsupposed to be reserved for use as a register variable by all
  1115. Xcompilers, MSC or otherwise.
  1116. X
  1117. XIf you use the new memmove routines supplied with this patch, you may
  1118. Xomit this switch as well.  It is probably not worth fooling with any
  1119. Xof that unless you are just interested in the problem.
  1120. X
  1121. X11. I forgot to include the version 4F kermit diff file.  It's included
  1122. Xin here.
  1123. X
  1124. X12. In patch 2, I reported nap() in SCO UNIX systems to be faulty in varying
  1125. Xmanners depending on x in the 3.2.x version number.  ISC 2.2.1 nap also
  1126. Xmisbehaves in a similar manner. 
  1127. X
  1128. XSCO very promptly supplied me with an /etc/conf/pack.d/kernel/os.o for
  1129. Xrelinking the kernel which fixes the problem somewhat, but not
  1130. Xcompletely.  Watch this space.  Some testing programs can be found in
  1131. Xtimetest/ as of this patch.
  1132. X
  1133. X13.  I've thought for some time SCO select might also be buggy.  I finally
  1134. Xwrote some test programs and proved it.  SCO select may appear to work
  1135. Xcorrectly for a few iterations, but rapidly degenerates into rounding
  1136. Xall timeout specifications to the nearest second.  Run timetest/seltest
  1137. Xfor a visual feel of what's going on.
  1138. X
  1139. XThe #define WORKING_SELECT is now supploied by the Configure procedure
  1140. Xfor systems that have a usable select.  See the updated README file 
  1141. Xnote 3 and ecuutil.c Nap() for details.
  1142. X
  1143. X
  1144. XREADME.P5           ECU 3.10 Patch 5     Wed Sep  4 00:41:23 EDT 1991
  1145. X
  1146. XThis describes patch 6 to ECU 3.16, bringing the program to
  1147. Xversion 3.16.
  1148. X
  1149. XTwo quick fixes here:
  1150. XThe configuration procedure screws up when you cc on SVR4, Sun or ISC
  1151. X1. I forgot to put -DWORKING_SELECT in for cc on these machines.
  1152. X2. A '(' got changed to a '*' somewhere in the process.
  1153. X
  1154. XBad QA.  Sorry.
  1155. SHAR_EOF
  1156. chmod 0644 OLD-HISTORY-2 ||
  1157. echo 'restore of OLD-HISTORY-2 failed'
  1158. Wc_c="`wc -c < 'OLD-HISTORY-2'`"
  1159. test 33749 -eq "$Wc_c" ||
  1160.     echo 'OLD-HISTORY-2: original size 33749, current size' "$Wc_c"
  1161. rm -f _shar_wnt_.tmp
  1162. fi
  1163. # ============= ESOTERIC ==============
  1164. if test -f 'ESOTERIC' -a X"$1" != X"-c"; then
  1165.     echo 'x - skipping ESOTERIC (File already exists)'
  1166.     rm -f _shar_wnt_.tmp
  1167. else
  1168. > _shar_wnt_.tmp
  1169. echo 'x - extracting ESOTERIC (Text)'
  1170. sed 's/^X//' << 'SHAR_EOF' > 'ESOTERIC' &&
  1171. XThis interesting article appeared last summer:  much of the wisdom
  1172. Xapplys to the ECU procedure language :-)
  1173. X
  1174. X> From: guy@auspex.auspex.com (Guy Harris)
  1175. X> Newsgroups: comp.unix.questions
  1176. X> Subject: Re: Funny kill -9 behaviour
  1177. X> Message-ID: <3920@auspex.auspex.com>
  1178. X> Date: 18 Aug 90 21:27:07 GMT
  1179. X> References: <909@sagpd1.UUCP>
  1180. X> Organization: Auspex Systems, Santa Clara
  1181. X> Lines: 16
  1182. X> 
  1183. X> >What I want to know is why in the hay does this happen?
  1184. X> 
  1185. X> Because the C shell is flakier than a snowstorm.  To quote the BUGS
  1186. X> section of the SunOS 4.0.3 manual page (this quote is also in the S5R4
  1187. X> "csh" manual page):
  1188. X> 
  1189. X>      Although robust enough for general use, adventures into  the
  1190. X>      esoteric  periphery  of  the  C  shell may reveal unexpected
  1191. X>      quirks.
  1192. X> 
  1193. X> which translates as "the C shell is flakier than a snowstorm."
  1194. SHAR_EOF
  1195. chmod 0644 ESOTERIC ||
  1196. echo 'restore of ESOTERIC failed'
  1197. Wc_c="`wc -c < 'ESOTERIC'`"
  1198. test 835 -eq "$Wc_c" ||
  1199.     echo 'ESOTERIC: original size 835, current size' "$Wc_c"
  1200. rm -f _shar_wnt_.tmp
  1201. fi
  1202. # ============= Configure ==============
  1203. if test -f 'Configure' -a X"$1" != X"-c"; then
  1204.     echo 'x - skipping Configure (File already exists)'
  1205.     rm -f _shar_wnt_.tmp
  1206. else
  1207. > _shar_wnt_.tmp
  1208. echo 'x - extracting Configure (Text)'
  1209. sed 's/^X//' << 'SHAR_EOF' > 'Configure' &&
  1210. X:
  1211. X#!/bin/sh
  1212. X#+---------------------------------------------------------------------
  1213. X# ECU Configure
  1214. X#
  1215. X# PEDANTIC not recommended unless you want to do extensive
  1216. X# vendor-supplied header file hacking.
  1217. X#----------------------------------------------------------------------
  1218. X#+:EDITS:*/
  1219. X#:09-10-1992-13:58-wht@n4hgf-ECU release 3.20
  1220. X#:08-22-1992-15:37-wht@n4hgf-ECU release 3.20 BETA
  1221. X#:07-09-1992-18:09-wht@n4hgf-ecunumrev a bad idea
  1222. X#:07-07-1992-16:30-wht@gyro-add ecunumrev to config
  1223. X#:08-25-1991-05:11-wht@n4hgf2-added Sun n4hgf2 WHT automation
  1224. X#:08-06-1991-05:05-wht@n4hgf-change FASI_IN_USE to FASI
  1225. X#:07-12-1991-14:05-wht@n4hgf-ensure config.c compiles properly
  1226. X#:04-29-1991-02:39-wht@n4hgf-document/clean
  1227. X
  1228. X# --> add any of the following (99% of everybody will want to leave alone)
  1229. X# -DFASI     if you have installed and want to exploit the features
  1230. X#            of my FAS instrumentation extensions
  1231. X# -DMORSE if you have installed and want to use the n4hgf morse driver
  1232. X# -DPEDANTIC if you want to use -ansi -pedantic with gcc (not
  1233. X#            necessary or recommended unless you anticipate heavy
  1234. X#            code modification)
  1235. X# -DMETROLINK_X11R4_PTS if you have early 'pts-using' Metro Link
  1236. X#            xterms
  1237. XCFLAGS=
  1238. X
  1239. X# a bit of self indulgence for me (ignore it or be inspired)
  1240. XSYSTEM=
  1241. X[ -f /etc/systemid ] && SYSTEM=`cat /etc/systemid`
  1242. X[ "$SYSTEM" = "n4hgf" ] && CFLAGS='-DWHT'
  1243. X[ -f /etc/hostname.le0 ] && SYSTEM=`cat /etc/hostname.le0`
  1244. X[ "$SYSTEM" = "n4hgf2" ] && CFLAGS='-DWHT'
  1245. X
  1246. Xecho Please wait while I compile the config program.
  1247. Xrm -f ./config
  1248. Xcc $CFLAGS config.c -o config > /tmp/config.cc.log 2>&1
  1249. X[ -x ./config ] && rm -f /tmp/config.cc.log
  1250. X[ -x ./config ] || echo '/tmp/config.cc.log has compile errors'
  1251. X./config
  1252. X
  1253. X#end of Configure
  1254. SHAR_EOF
  1255. chmod 0755 Configure ||
  1256. echo 'restore of Configure failed'
  1257. Wc_c="`wc -c < 'Configure'`"
  1258. test 1752 -eq "$Wc_c" ||
  1259.     echo 'Configure: original size 1752, current size' "$Wc_c"
  1260. rm -f _shar_wnt_.tmp
  1261. fi
  1262. # ============= Make.src ==============
  1263. if test -f 'Make.src' -a X"$1" != X"-c"; then
  1264.     echo 'x - skipping Make.src (File already exists)'
  1265.     rm -f _shar_wnt_.tmp
  1266. else
  1267. > _shar_wnt_.tmp
  1268. echo 'x - extracting Make.src (Text)'
  1269. sed 's/^X//' << 'SHAR_EOF' > 'Make.src' &&
  1270. X#+------------------------------------------------------------------- 
  1271. X# Make.src - master Makefile source for ECU and related programs
  1272. X# If THIS line is the third in the file you are reading, refer to
  1273. X# the files README and Configure.
  1274. X# wht@n4hgf.Mt-Park.GA.US
  1275. X#--------------------------------------------------------------------
  1276. X#+:EDITS:*/
  1277. X#:09-10-1992-13:58-wht@n4hgf-ECU release 3.20
  1278. X#:08-22-1992-15:37-wht@n4hgf-ECU release 3.20 BETA
  1279. X#:07-17-1992-18:23-wht@n4hgf-new module nap.c
  1280. X#:07-07-1992-20:04-wht@n4hgf-new installation mechanism
  1281. X#:05-17-1992-18:50-wht@n4hgf-add cpio
  1282. X#:02-10-1992-05:47-wht@n4hgf-mcs avail on some systems when non-COFF produced
  1283. X#:09-03-1991-23:47-wht@n4hgf2-add timetest directory
  1284. X#:09-02-1991-19:25-wht@n4hgf2-ckutio dif and fas.h left out of distribution
  1285. X#:09-01-1991-16:22-wht@n4hgf2-generalize HDB config location
  1286. X#:08-23-1991-13:35-wht@n4hgf-sun porting (3.13)
  1287. X#:07-25-1991-12:55-wht@n4hgf-ECU release 3.10
  1288. X#:04-21-1991-12:43-wht@n4hgf-convert to Make.src
  1289. X
  1290. XPROGRAM = ecu
  1291. XINSTALLABLE = $(LBIN)/$(PROGRAM)
  1292. X
  1293. XECUSHARNAME=ecu320
  1294. XMANSHARNAME=ecuman320
  1295. X
  1296. XLIBFUNCKEYMAP = $(ECULIBDIR)/funckeymap
  1297. X
  1298. XSHELL = /bin/sh
  1299. X
  1300. X.SUFFIXES:
  1301. X.SUFFIXES: .o .c .h .l
  1302. X.c.o:;    $(BINTIME) $(CC) -c $(CFLAGS) $*.c 
  1303. X
  1304. X
  1305. XSRC    = \
  1306. X    bamboozle.c\
  1307. X    cmdtbl.c\
  1308. X    ecu.c\
  1309. X    ecuLCK.c\
  1310. X    ecuchdir.c\
  1311. X    ecudump.c\
  1312. X    ecufinsert.c\
  1313. X    ecufkey.c\
  1314. X    ecufork.c\
  1315. X    ecuDCE.c\
  1316. X    ecugrabbag.c\
  1317. X    eculine.c\
  1318. X    eculock.c\
  1319. X    ecunumrev.c\
  1320. X    ecuicmaux.c\
  1321. X    ecuicmhelp.c\
  1322. X    ecuicmhist.c\
  1323. X    ecuicmd.c\
  1324. X    ecupde.c\
  1325. X    ecuphdir.c\
  1326. X    ecuphrase.c\
  1327. X    ecurcvr.c\
  1328. X    ecuscrdump.c\
  1329. X    ecusetup.c\
  1330. X    ecushm.c\
  1331. X    ecusighdl.c\
  1332. X    ecutcap.c\
  1333. X    ecutime.c\
  1334. X    ecutty.c\
  1335. X    ecuuclc.c\
  1336. X    ecuusage.c\
  1337. X    ecuutil.c\
  1338. X    ecuwinutil.c\
  1339. X    ecuxfer.c\
  1340. X    esdutil.c\
  1341. X    fasiintf.c\
  1342. X    expresp.c\
  1343. X    feval.c\
  1344. X    gint.c\
  1345. X    gstr.c\
  1346. X    hdbintf.c\
  1347. X    logevent.c\
  1348. X    nap.c \
  1349. X    funckeymap.c\
  1350. X    pcmd.c\
  1351. X    pcmdif.c\
  1352. X    pcmdfile.c\
  1353. X    pcmdtty.c\
  1354. X    pcmdwhile.c\
  1355. X    pcmdxfer.c\
  1356. X    poutput.c\
  1357. X    pprintf.c\
  1358. X    proc.c\
  1359. X    proc_error.c\
  1360. X    procframe.c\
  1361. X    regexp.c\
  1362. X    ttynaming.c\
  1363. X    utmpstat.c\
  1364. X    var.c
  1365. X
  1366. XOBJ    = \
  1367. X    bamboozle.o\
  1368. X    cmdtbl.o\
  1369. X    ecu.o\
  1370. X    ecuLCK.o\
  1371. X    ecudump.o\
  1372. X    ecuchdir.o\
  1373. X    ecufinsert.o\
  1374. X    ecufkey.o\
  1375. X    ecufork.o\
  1376. X    ecuDCE.o\
  1377. X    eculine.o\
  1378. X    eculock.o\
  1379. X    ecunumrev.o\
  1380. X    ecuicmaux.o\
  1381. X    ecuicmhelp.o\
  1382. X    ecuicmhist.o\
  1383. X    ecuicmd.o\
  1384. X    ecugrabbag.o\
  1385. X    ecupde.o\
  1386. X    ecuphdir.o\
  1387. X    ecuphrase.o\
  1388. X    ecurcvr.o\
  1389. X    ecuscrdump.o\
  1390. X    ecusetup.o\
  1391. X    ecushm.o\
  1392. X    ecusighdl.o\
  1393. X    ecutcap.o\
  1394. X    ecutime.o\
  1395. X    ecutty.o\
  1396. X    ecuuclc.o\
  1397. X    ecuusage.o\
  1398. X    ecuutil.o\
  1399. X    ecuwinutil.o\
  1400. X    ecuxfer.o\
  1401. X    esdutil.o\
  1402. X    fasiintf.o\
  1403. X    expresp.o\
  1404. X    feval.o\
  1405. X    gint.o\
  1406. X    gstr.o\
  1407. X    hdbintf.o\
  1408. X    logevent.o\
  1409. X    lstat.o\
  1410. X    nap.o \
  1411. X    mkdirs.o\
  1412. X    funckeymap.o\
  1413. X    pcmd.o\
  1414. X    pcmdif.o\
  1415. X    pcmdfile.o\
  1416. X    pcmdtty.o\
  1417. X    pcmdwhile.o\
  1418. X    pcmdxfer.o\
  1419. X    poutput.o\
  1420. X    pprintf.o\
  1421. X    proc.o\
  1422. X    proc_error.o\
  1423. X    procframe.o\
  1424. X    regexp.o\
  1425. X    ttynaming.o\
  1426. X    utmpstat.o\
  1427. X    var.o
  1428. X
  1429. XSHARFLS = \
  1430. X    README \
  1431. X    README.* \
  1432. X    HISTORY \
  1433. X    OLD-HISTORY-* \
  1434. X    ESOTERIC \
  1435. X    Configure \
  1436. X    Make.src */Make.src \
  1437. X    *.[ch] \
  1438. X    bperr/bperr.c \
  1439. X    help/{*.[ch],ecuhelp.src} \
  1440. X    ecuungetty/*.[ch] \
  1441. X    z/*.[ch] \
  1442. X    sea/{*.[ch],*.{doc,imp}} \
  1443. X    gendial/{README,install_dialer,*.[ch]} \
  1444. X    fasi/{Makefile,Master,Node,PATCHLEVEL} \
  1445. X    fasi/{README,README.FASI,RELEASENOTES} \
  1446. X    fasi/{Space.c,System,digi-pc8.h,fas.c,fas.h,idfasi} \
  1447. X    ecufriend/*.[ch] \
  1448. X    mapkey/README mapkey/keys.usa.ecu \
  1449. X    xsel386/* \
  1450. X    memmove/{README,*.{s,asm}} \
  1451. X    timetest/{Makefile,*.c} \
  1452. X    doc/{README,Makefile,*.txt} models/* zgcc mkoldproto.l'
  1453. X
  1454. XMAKEDIRS_OBJ =\
  1455. X    makedirs.o\
  1456. X    mkdirs.o\
  1457. X    lstat.o
  1458. X
  1459. Xall: $(PROGRAM) .make.help .make.ug .make.z .make.s kbdtest3 makedirs
  1460. X
  1461. X$(PROGRAM): $(OBJ)
  1462. X    echo 'char *makedate="@(#)'ecu `date` $(SYSTEM)'";'  >makedate.c
  1463. X    $(CC) -c $(CFLAGS) makedate.c; rm makedate.c
  1464. X    rm -f $@; if [ -f $@ ]; then mv $@ $@~; fi
  1465. X    $(BINTIME) $(CC) -o $@ $(LDFLAGS) makedate.o $(OBJ) $(LIBS)
  1466. X    rm makedate.o
  1467. X
  1468. X$(OBJ): Makefile
  1469. X
  1470. X.make.help:
  1471. X    cd help; $(MAKE) -$(MAKEFLAGS)
  1472. X
  1473. X.make.z:
  1474. X    cd z; $(MAKE) -$(MAKEFLAGS)
  1475. X
  1476. X.make.s:
  1477. X    cd sea; $(MAKE) -$(MAKEFLAGS)
  1478. X
  1479. X.make.ug:
  1480. X    if [ $(USE_ECUUNGETTY) = yes ]; then \
  1481. X        cd ecuungetty; $(MAKE) -$(MAKEFLAGS); \
  1482. X    fi
  1483. X
  1484. Xbperr/bperr: bperr/bperr.c
  1485. X    cd bperr; $(MAKE) -$(MAKEFLAGS) bperr
  1486. X
  1487. Xproc_error.c: ecuerror.h
  1488. X    $(MAKE) -$(MAKEFLAGS) bperr/bperr
  1489. X    bperr/bperr
  1490. X
  1491. Xkbdtest3: kbdtest3.c
  1492. X    $(CC) -o $@ $(CFLAGS) kbdtest3.c
  1493. X
  1494. X$(OBJ): ecushm.h
  1495. X
  1496. Xecu.fls: Makefile
  1497. X    ls $(SRC) >ecu.fls
  1498. X
  1499. X# Not recommended
  1500. Xprotos: ecu.fls afterlint mkoldproto
  1501. X    echo ' ' > protos.h
  1502. X    csh ./zgcc ecu.fls protos.h .
  1503. X
  1504. X# Not recommended
  1505. Xallprotos:
  1506. X    $(MAKE) -$(MAKEFLAGS) protos
  1507. X    cd z; $(MAKE) -$(MAKEFLAGS) protos
  1508. X    cd sea; $(MAKE) -$(MAKEFLAGS) protos
  1509. X
  1510. Xmakedirs: $(MAKEDIRS_OBJ)
  1511. X    $(CC) -o $@ $(LDFLAGS) $(MAKEDIRS_OBJ) $(LIBS)
  1512. X
  1513. X# install ecu
  1514. Xiecu: makedirs ecu
  1515. X    @echo Installing ECU in $(LBIN) and $(ECULIBDIR) ... please wait
  1516. X    @if [ ! -d $(LBIN) ]; then \
  1517. X        echo '\012'Attempting to make $(LBIN); \
  1518. X        ./makedirs -m 755 $(LBIN); \
  1519. X        ls -ld $(LBIN); \
  1520. X    fi
  1521. X    @rm -f $(INSTALLABLE) $(INSTALLABLE)~
  1522. X    @if [ -f $(INSTALLABLE) ]; then \
  1523. X        echo '\012'Cannot remove $(INSTALLABLE) - moving to $(INSTALLABLE)~ \
  1524. X        mv $(INSTALLABLE) $(INSTALLABLE)~; \
  1525. X    fi
  1526. X    @cp $(PROGRAM) $(INSTALLABLE)
  1527. X    @strip $(INSTALLABLE)
  1528. X    @-if [ -x /usr/bin/mcs ]; then \
  1529. X        /usr/bin/mcs -d $(INSTALLABLE) || echo mcs present but not COFF? ; \
  1530. X    fi
  1531. X    @chown bin $(INSTALLABLE)
  1532. X    @chgrp bin $(INSTALLABLE)
  1533. X    @chmod 711 $(INSTALLABLE)
  1534. X    @echo '\012'Installed
  1535. X    @ls -l $(INSTALLABLE)
  1536. X    @if [ ! -d $(ECULIBDIR) ]; then \
  1537. X        echo '\012'Attempting to make $(ECULIBDIR); \
  1538. X        ./makedirs -m 755 $(ECULIBDIR); \
  1539. X        ls -ld $(ECULIBDIR); \
  1540. X    fi
  1541. X    @-if [ -f $(LIBFUNCKEYMAP) ]; then \
  1542. X        echo '\012'Saving your old $(LIBFUNCKEYMAP); \
  1543. X        for i in  2 1; \
  1544. X        do \
  1545. X            j=`expr $$i + 1`; \
  1546. X            mv $(LIBFUNCKEYMAP)-$$i $(LIBFUNCKEYMAP)-$$j 2>/dev/null; \
  1547. X        done; \
  1548. X        mv $(LIBFUNCKEYMAP) $(LIBFUNCKEYMAP)-1; \
  1549. X        ls -l $(LIBFUNCKEYMAP)*; \
  1550. X    fi
  1551. X    @cp models/funckeymap $(ECULIBDIR)
  1552. X    @chown bin $(LIBFUNCKEYMAP)
  1553. X    @chgrp bin $(LIBFUNCKEYMAP)
  1554. X    @chmod 644 $(LIBFUNCKEYMAP)
  1555. X    @echo '\012'Installed
  1556. X    @ls -l $(LIBFUNCKEYMAP)
  1557. X
  1558. X# install everything
  1559. Xinstall: all makedirs #run as root
  1560. X    @echo '\012'Starting full installation of ECU ... please wait
  1561. X    @make iecu
  1562. X    @if [ $(USE_ECUUNGETTY) = yes ]; then \
  1563. X        cd ecuungetty; $(MAKE) -$(MAKEFLAGS) install; \
  1564. X    fi
  1565. X    cd z; $(MAKE) -$(MAKEFLAGS) install
  1566. X    cd sea; $(MAKE) -$(MAKEFLAGS) install
  1567. SHAR_EOF
  1568. true || echo 'restore of Make.src failed'
  1569. fi
  1570. echo 'End of ecu320 part 3'
  1571. echo 'File Make.src is continued in part 4'
  1572. echo 4 > _shar_seq_.tmp
  1573. exit 0
  1574.  
  1575. exit 0 # Just in case...
  1576.