home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / me34src.zip / me3 / README < prev    next >
Text File  |  1995-01-14  |  11KB  |  277 lines

  1.                                 -*-text-*-
  2.  
  3. The is the README for ME3.  It contains source for:
  4.     ME3 (the Mutt Editor v3.4)
  5.     MC2 (the Mutt Compiler v2.6)
  6.     a Compute Server (v1.0)
  7.     various libraries
  8.     Mutt extensions to ME3 (v1.4)
  9.  
  10. Released:
  11.   3.4: May 1994  X11 R5 support, Borland C Makefiles.
  12.   3.0: June 1993
  13.   2.6: January 30, 1993 (more GNU compatible, tweaks and some bug fixes)
  14.   2.5: August 30, 1992 (Many extensions now compiled into the editor)
  15.   2.4: August 9, 1992 (regular expression bug fixes, a PC screen width
  16.        bug fix)
  17.   2.3  May 10, 1992 (Atari port, minor enhancements)
  18.   2.2: April 12, 1992 (MS-DOS and OS2 ports, bug fixes)
  19.   2.0: February 29, 1992 (beta)
  20.  
  21.  
  22. This release is targeted at Unix, MS-DOS and Atari.  I've tried to write
  23. the code as portablly as possible (in C and ANSI C) so hopefully it
  24. should be "easy" to port to other platforms (that support C).
  25.  
  26. This stuff is released as GNU Ware - use, share and enjoy.
  27.  
  28.  
  29.  
  30.                  What is ME3?
  31.                  ---- -- ----
  32.  
  33.    ME3 is a small, portable, extendable [GNU] Emacs' like editor that is
  34. known to compile and run on HP-UX (Series 800, 700 and 300), Sun (BSD
  35. and SysV), BSD Unix (Apollo, DEC, etc), IBM AIX, OSF/POSIX (HP and DEC),
  36. MS-DOS/PC-DOS (IBM PCs and compatibles) and Atari (TOS and MiNT).
  37. "Pure" SysV Unix is not supported.  ME3 is very customizable via a
  38. compiled language (provided) with lots of example programs:  a C mode,
  39. paren matching, a visual towers of hanoi, incremental searching,
  40. programmers calculator, mark rings, multi file search (and replace),
  41. picture mode (from GNU Emacs), gomoku (from GNU Emacs) and lots more.
  42. Other features include 8 bit character support and the (Unix only)
  43. ability to have concurrent processes (such as make) running in a buffer.
  44.  
  45.  
  46.  
  47.               How to Compile ME
  48.               --- -- ------- --
  49.  
  50. Compiling
  51. ---------
  52.  
  53. Type "make" and follow the directions for HP-UX, Apollo Domain/OS, IBM
  54. AIX, SysV Suns and BSD Suns and MS-DOS (Borland C++).
  55.  
  56. MS-DOS and Borland C++ using Borland's make: make -f makefile.bc
  57.  
  58. Until I get a configure program figured out, you may need to edit a few
  59.   configuration files:
  60.  
  61.   Edit util/os.h so it matches your OS.  You DON'T need to do this if
  62.     you are on HP-UX, IBM AIX, Apollo Domain/OS or Borland C++ (MS-DOS).
  63.  
  64.   Edit me/Makefile so that it matches your OS and config.h.
  65.     You don't need to change this for most Unix's.
  66.     For X11, change TERMINAL, TERMLIB, X11_includes, IO and KEYMAP
  67.  
  68.   Edit me/config.h so that it matches what you want ME to support.
  69.     You shouldn't need to do this - it self configures.  But it might be
  70.       interesting.
  71.  
  72.   Edit ./Makefile.
  73.     To set the compiler, options and where to install things.
  74.  
  75.   Type "make" in this directory and it will compile all the
  76.     subdirectories.
  77.  
  78. Notes:
  79.   I've run the Makefiles (and tested the results) on:
  80.       HP-UX 9.0  series 700 (Ansi C "-Aa -O" and "-O")
  81.       HP-UX 8.0  series 300, 800 (K&R "-O" and Ansi C "-Aa -O")
  82.       HP-UX 7.05 series 300 (K&R "-O")
  83.       HP-UX 7.0  series 800 (K&R "-O" and Ansi C "-Aa -O")
  84.       HP OSF/1 1.0 Operating System A.01.00 ("" - DON'T use -O)
  85.       Apollo 68k SR10.4 BSD (psudeo Ansi C "-O" and Ansi C "-O -Aansi").
  86.     The compiles will complain (lots) about varargs and select.  You
  87.     can ignore these.  I'm pretty sure the varargs complaints are
  88.     groundless (ie I've run it a long time without problems).  If
  89.     you get tired of the messages, you can put "-U__STDC__" in the
  90.     compile flags.
  91.       Sun SparcStation 2, SunOS Release 4.1.1 ("-O"), set BSD_OS (os.h).
  92.       Sun SparcStation 10, SunOS Release 5.2. ("-O" or "-O -Xa").  Set
  93.     SYSV_OS to 1 (util/os.h) and in ./Makefile set "LDFLAGS =
  94.     -lsocket" and "RANLIB = echo".
  95.       Sun Solaris 5.3:  same as 5.2.
  96.       IBM RS/6000, PowerStation 320H:
  97.     AIX 3.2 ("-O" or ANSI C "CC=c89").  Everything is configured,
  98.       just run make.  You might want to change TERMLIB to -lcurses
  99.       (me/Makefile) to use the terminfo database instead of
  100.       /etc/termcap - terminfo is more complete.
  101.         AIX Version 3.1 ("-O").  Set TERMLIB to -lcurses (me/Makefile).
  102.       DEC 3100 OSF/1 ("-O").  Not much testing done.
  103.       DECstation 5000/200 Ultrix V4.2 ("-O").  You may need to set
  104.     FOPEN_BINARY (me/config.h).  On this version of Ultrix, "rb" is
  105.     OK.
  106.     They should run on other Unix boxes but I can't test everything.
  107.       Let me know if you find problems.
  108.  
  109.   Unixes that kinda work:
  110.     UNIX_System_V 4.1.0 V4ES i386 x86at (a 486 running a SYS V unix).
  111.       To get this to compile:
  112.         - change the #includes of time.h to sys/time.h (./me/process.c,
  113.       ./me/unixio.c, ./comserver/comserver.c).
  114.     - in comserver/compile and me/compile, add "-lsocket -lnsl" to
  115.       the cc line so the socket code will link.
  116.     - or just turn off the compute server (in me/config.h) and
  117.       don't worry about the socket code.  See why below.
  118.       Problem areas:
  119.         - getcwd() (called from util/canonize.c) gets an access error.
  120.       Maybe its the way my system is set up.  To get around this,
  121.       you have to run me setuid root.  Not a very good idea.
  122.     - Some of the termcaps don't seem right.  Use a "xterm" TERM var
  123.       for xterms, "vt100" doesn't work.
  124.     - The compute server doesn't work very well with SYS V signals -
  125.       ME will get a signal (from the compute server) while signals
  126.       turned off and dump (not a problem with BSD like signals).
  127.       Maybe linking in /usr/ucblib/libucb.a would work (BSD
  128.       signals).  Nope - seemed to fix the signal problem but broke
  129.       the LED lib and filename completion.  I really shouldn't use
  130.       signals for interprocess communication.
  131.  
  132.   Unixes not supported:
  133.     Apollo SysV (probably any "real" Sys V Unix)
  134.       Sockets are not supported so you need to turn off the compute
  135.         server (in config.h) and don't compile the comserver directory.
  136.       unixio.c has compile problems:
  137.         Change #include <time.h> to <sys/time.h> (why?).
  138.         termio.h doesn't seem to be supported so try USE_BSDIO.
  139.     select() needs to be updated to use the "new" structures.  I
  140.       would do this but its yet another #ifdef and I'm getting tired
  141.       of them.
  142.       Other than that, the other directories seem to compile and work.
  143.       Your best bet is just to compile under BSD.
  144.       If you fix this stuff, send the the changes so I can add them to
  145.         my copies.
  146.       
  147.  
  148.   MS-DOS:
  149.     John Burnell has ported ME to PC-DOS:
  150.       Compiler: JPI Topspeed C  ("__TSC__").
  151.       ME:
  152.     Use the large memory model (1 meg code and data).  Remember to
  153.       compile the libraries that way also.
  154.     Use FASTVIDEO (me/config.h)
  155.     Build files (see me/compile):
  156.       terminal=
  157.       termlib=
  158.       io=misc/pcio.c
  159.       keymap=misc/pckmap.c
  160.       fileio=fileio.c
  161.       process=
  162.       fastvideo=misc/pcfv.c
  163.       Other programs:
  164.     The other programs can use the small code, large data model.
  165.     The compute server is not supported.
  166.  
  167.     Compiler: Turbo C (1.0)
  168.       CFLAGS:
  169.         -ml (large memory model)
  170.     -D__STDC__ (force ANSI C)
  171.     -A  (disable non-ANSI keywords; probably not needed)
  172.     -d  (merge duplicate strings)
  173.     -I <util> <ed> <mc2>
  174.       ME:
  175.     Use the large memory model (1 meg code and data).  Remember to
  176.       compile the libraries that way also.
  177.     Use FASTVIDEO (me/config.h)
  178.     Turn off COMPUTE_SERVER (me/config.h)
  179.     Build files (see me/compile):
  180.       terminal=
  181.       termlib=
  182.       io=misc/pcio.c
  183.       keymap=misc/pckmap.c
  184.       fileio=fileio.c
  185.       process=
  186.       fastvideo=misc/pcfv.c
  187.       Other programs:
  188.     The other programs can use the small code, large data model.
  189.     The compute server is not supported.
  190.     Compiler: Borland C++ 2.0
  191.       CFLAGS:
  192.         -ml    (Large memory model)
  193.     -A    (ANSI C.  If using ASM code, change this to -A-).
  194.     -O
  195.     -d    (Merge duplicate strings)
  196.     -f-    (No floating point)
  197.     -N    (Check for stack overflow, probably not needed)
  198.     -P-c    (Default file extension is ".c")
  199.     -w-pia  (Don't complain about "if (a = b) ...")
  200.     -I <util> <ed> <mc2>
  201.       The rest is the same as Turbo C.
  202.     
  203.     MS-DOS Notes:
  204.       The util directory:
  205.     fxpand.c and canonize.c uses some OS C calls that may not be in
  206.       other Cs.  If this is the case for your compiler, check out
  207.       util/misc/ibmdir.c and util/misc/ibmdir.h to see if they will
  208.       work.  If so, move all files in util/misc/ to util/ and add
  209.       them to the utils library.
  210.  
  211.   OS/2 (port by John Burnell):
  212.     Compiler: JPI Topspeed C  ("__TSC__").
  213.     OS/2 1.3 on a FAT drive, not sure whether it will support HPSF
  214.       filenames (probably not since it uses the MSDOS code to parse
  215.       filenames, although it may cope with long filenames).  Certainly
  216.       it does nothing with EAs at present.
  217.     To compile it, configure the system for MSDOZ (util/os.h), except
  218.       replace the DOS files with the corresponding OS/2 ones viz:
  219.     ./util        replace ibmdir.c with os2dir.c
  220.     ./me/misc    replace pcfile.c with os2filio.c
  221.             replace pcio.c with os2io.c
  222.             don't use pcfv.c
  223.  
  224.  
  225.   Atari ST TOS and MiNT (port and Makefiles by Jwahar R. Bammi):
  226.     Read ./Makefile for more info.
  227.  
  228.  
  229.   I'd like to keep a list of systems that have compiled and run ME and
  230.     those systems that don't.  Please send me info if your system is not
  231.     listed.  Also send bug reports/fixes.
  232.  
  233.  
  234.               How to Install ME
  235.               --- -- ------- --
  236.  
  237. Do one of:
  238.   - Edit ./Makefile and "make install".  You may need be root.
  239.   - 
  240.     Copy me/me3 and mc/mc2 to /usr/local/bin or to a directory in your
  241.       $PATH.
  242.     Copy mutt/package/*.mco to /usr/local/me2 or where you specified
  243.       in config.h.  Or leave them where they are and use the ME3
  244.       environment variable (which is what I do).  See "load" in
  245.       me/doc/me3.doc for more about this var.
  246.     If you want the online help system to work, copy doc/*.doc and
  247.       doc/web.idx to the same place as the .mco files.
  248.  
  249. As a quick test, run me, hit Escape x load <return> ganoi <return> and
  250. use 4 disks.  If you get the towers of hanoi, things are probably
  251. working pretty good.
  252.  
  253. Read all the documentation (see doc/Contents for a list).  You can do
  254. this within ME by running the help system.  Run help (M-x help
  255. <return>), select "Quick Reference" and start there.  To find out how to
  256. browse, press "?"  or just move the cursor to a topic you'd like more
  257. info about and press <return>.
  258.  
  259.  
  260.               Converting from ME2 to ME3
  261.               ---------- ---- --- -- ---
  262.  
  263. ME3 is backwards compatible with ME2 at the finger and source level.
  264. The keyboard interface is the same (except for a few more GNU
  265. keybindings) and Mutt source code should still compile and work.  Mutt
  266. code compiled for ME2 will NOT work if compiled with MC2's "-t" (token
  267. file) option.  Either recompile with me3.tok or, if you want to use the
  268. code with both ME2 and ME3 (for example, your myme.mut file), don't use
  269. the "-t" option.
  270.  
  271.  
  272. Author
  273. ------
  274. Craig Durland       (503) 715-3354
  275. 3419 SW Knollbrook, Corvallis, OR 97333
  276. craig@cv.hp.com
  277.