From f605e04aec4ff608c045a40ae8df1bb6bae21aa5 Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Wed, 1 Feb 2017 14:26:16 +0200 Subject: [PATCH 1/5] Cleanup README files Rename README to BUILDING and fold in README.imake so all build instructions are now in a single file. Add README.md for a short intro on GitHub. --- README => BUILDING | 115 +++++++++++++++++++++++++++-------------------------- Imakefile | 11 +++-- Makefile.in | 6 +-- Makefile.std | 6 +-- Makefile.vms | 6 +-- Ported | 2 +- README.imake | 9 ----- README.md | 17 ++++++++ 8 files changed, 90 insertions(+), 82 deletions(-) rename README => BUILDING (68%) delete mode 100644 README.imake create mode 100644 README.md diff --git a/README b/BUILDING similarity index 68% rename from README rename to BUILDING index 77693cd..f19f849 100644 --- a/README +++ b/BUILDING @@ -1,32 +1,44 @@ -This is tcsh version 6.20.00. Tcsh is a version of the Berkeley -C-Shell, with the addition of: a command line editor, command and file -name completion, listing, etc. and a bunch of small additions to the +Tcsh is an enhanced but completely compatible version of the Berkeley +C-Shell, with the addition of a command line editor, command and file +name completion, listing, etc., and a bunch of small additions to the shell itself. Tcsh has been ported to most unix variants, and can be tinkered to work in unix systems that it has not ported yet. See the Ported file for a more complete list of ported systems and in the config directory for a configuration file that matches your system. + Tcsh also runs under VMS/POSIX and OS/2+emx; the OS/2 port is not complete yet. -Feel free to use it. These changes to csh may only be included in a -commercial product if the inclusion or exclusion does not change the +Feel free to use it. These changes to csh may only be included in +a commercial product if the inclusion or exclusion does not change the purchase price, level of support, etc. Please respect the individual authors by giving credit where credit is due (in other words, don't claim that you wrote portions that you haven't, and don't delete the -names of the authors from the source code or documentation). +names of the authors from the source code or documentation). To install tcsh: -0) Try running "./configure". If that doesn't work, goto step 1. +1) Try running "./configure". If that doesn't work, goto step 2. Run "./configure --help" to see possible options. After running - configure, goto step 3. + configure, goto step 5. + +2) If you have imake running on your machine, you may try building with + it. Note that imake is not supported for all the platforms yet, so + this might not work on your machine. If that is the case please let + us know, and goto step 3. If you can send a patch that fixes the + problem we would appreciate it. + + a) Modify configurable parameters in imake.config to your liking. + b) xmkmf; make depend -1) Otherwise copy Makefile.std to Makefile. Look at the Makefile and + Goto step 5. + +3) Otherwise copy Makefile.std to Makefile. Look at the Makefile and make sure that you are using the right compilation flags. -2) Copy the appropriate for your machine and OS config file from the +4) Copy the appropriate for your machine and OS config file from the config subdirectory into config.h. Consult the file "Ported" for settings known to work on various machines. If you are trying to compile tcsh on a machine for which there is no config file yet, @@ -34,35 +46,36 @@ To install tcsh: the supplied ones. If you get tcsh working on a new machine, I'd appreciate a copy of the config file plus additional information about the architecture/OS. If you are creating a new config file, - look very hard at BSDJOBS and BSDTIMES if you are running - a non-BSD machine. For vanila SysV, these would all be #undef-ed, - but others may vary (such as A/UX or HPUX). On a pyramid, compile - in the UCB universe even if you are running under the ATT universe - usually; it will work anyway, and you get job control for free. + look very hard at BSDJOBS and BSDTIMES if you are running a non-BSD + machine. For vanila SysV, these would all be #undef-ed, but others + may vary (such as A/UX or HPUX). On a pyramid, compile in the UCB + universe even if you are running under the ATT universe usually; it + will work anyway, and you get job control for free. -3) Look at config_f.h, and enable or disable any features you want. +5) Look at config_f.h, and enable or disable any features you want. It is configured the way I like it, but you may disagree. -4) Look at host.defs to make sure that you have the right defines to set - the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and - "VENDOR" correctly. If you need to make changes, PLEASE SEND THEM +6) Look at host.defs to make sure that you have the right defines to + set the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and + "VENDOR" correctly. If you need to make changes, PLEASE SEND THEM BACK TO ME. -5) You may want to adjust the DESTBIN and DESTMAN entries in - the Makefile. These are the directories that tcsh, and the tcsh.1 - man entry will be placed in when you do a "make install" and "make - install.man" respectively. If you decide to install tcsh somewhere - other than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL +7) You may want to adjust the DESTBIN and DESTMAN entries in Makefile. + These are the directories that tcsh, and the tcsh.1 man entry will + be placed in when you do a "make install" and "make install.man" + respectively. If you decide to install tcsh somewhere other + than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL "/your/installation/directory/tcsh" in pathnames.h. -6) make +8) make -7) Read the documentation while you are waiting. The file tcsh.man +9) Read the documentation while you are waiting. The file tcsh.man is in standard [nt]roff -man format. If you like, you can run the - tcsh.man2html script (requires Perl) to generate an HTML version of - the manpage which you can read with Mosaic, lynx or other HTML browser. + tcsh.man2html script (requires Perl) to generate an HTML version + of the manpage which you can read with Mosaic, lynx or other HTML + browser. -8) Test tcsh by typing ./tcsh to see that it has compiled correctly. +10) Test tcsh by typing ./tcsh to see that it has compiled correctly. The history command should give a time stamp on every entry. Typing normal characters should echo each exactly once. Control-A should put the cursor at the beginning of the input line, but after @@ -80,29 +93,19 @@ To install tcsh: passwd appears on the screen, you have lost /dev/tty. Otherwise everything is fine. -9) Once satisfied that tcsh is working correctly, complete the installation - by typing "make install" to install the binary, and "make install.man" to - install the documentation. Don't forget to look at complete.tcsh for - useful completions... - -10) Enjoy. - -11) PLEASE file any bug reports (and fixes), code for new features at: +11) Once satisfied that tcsh is working correctly, complete the + installation by typing "make install" to install the binary, and + "make install.man" to install the documentation. Don't forget to + look at complete.tcsh for useful completions... - http://bugs.gw.com/ - - Comments, questions, etc. (even flames) are welcome via email to: - - The tcsh bugs mailing list - tcsh-bugs@mx.gw.com - -Various: +12) Enjoy. *************************************************************************** -On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory +On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory manipulation library has to be installed. This library is available for anonymous ftp from prep.ai.mit.edu:/pub/gnu/dirent.tar.Z + If the network is not installed, then there is a gethostname() routine is tc.os.c @@ -130,24 +133,23 @@ error message to that effect. If you don't like the message: Or: Comment the error printing out in tc.alloc.c Or: Compile -DSYSMALLOC - *************************************************************************** From: Scott Krotz -Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com). +Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com). Unfortunately the minix sed is broken, so you'll have to find a way to make tc.const.h, sh.err.h, ed.defns.h which are automatically generated. -The easiest way to create them is to make a copy from unix, copying +The easiest way to create them is to make a copy from unix, copying minix to config.h, and then 'make sh.err.h tc.const.h ed.defns.h' The OS/dependent files are in mi.termios.h, mi.wait.h, mi.varargs.h -You will get some warnings, but dont worry about them, just ignore -them. After tcsh has compiled and the gcc binary is converted to a -minix binary, remember to chmem it to give it more memory - it will -need it! How much you need depends on how many aliases you have, etc.. -Add at least 50000 to it. +You will get some warnings, but dont worry about them, just ignore them. +After tcsh has compiled and the gcc binary is converted to a minix +binary, remember to chmem it to give it more memory - it will need it! +How much you need depends on how many aliases you have, etc.. Add at +least 50000 to it. One last thing. You might have to make some links for include files so that they are in the directories that tcsh is expecting while compiling. @@ -193,12 +195,11 @@ I can make the binary available to anyone who wants it (for example people who can't get access to a cross-compiling environment, and who don't yet have gcc running under minix). - *************************************************************************** -If your compiler cannot handle long symbol names, add +If your compiler cannot handle long symbol names, add -#include "snames.h" +#include "snames.h" to your config.h file diff --git a/Imakefile b/Imakefile index 5dc0db7..be2bebe 100644 --- a/Imakefile +++ b/Imakefile @@ -520,12 +520,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ tc.prompt.${SUF} tc.sched.${SUF} tc.sig.${SUF} tc.str.${SUF} \ tc.vers.${SUF} tc.who.${SUF} -MISCF = Makefile.std Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ - WishList config_f.h eight-bit.me glob.3 patchlevel.h \ - pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ - README.imake complete.tcsh vmsreadme.txt Makefile.vms termcap.vms \ - snames.h host.defs gethost.c tcsh.man2html Makefile.in configure.ac \ - Makefile.win32 aclocal.m4 +MISCF = Makefile.std BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md \ + FAQ WishList config_f.h eight-bit.me glob.3 patchlevel.h pathnames.h \ + tcsh.man Ported src.desc Imakefile imake.config complete.tcsh \ + Makefile.vms termcap.vms snames.h host.defs gethost.c tcsh.man2html \ + Makefile.in configure.ac Makefile.win32 aclocal.m4 CONFSRCS=config/[a-z]* diff --git a/Makefile.in b/Makefile.in index caf8d9c..210b7de 100644 --- a/Makefile.in +++ b/Makefile.in @@ -405,11 +405,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ tc.vers.${SUF} tc.who.${SUF} PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 -AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ +AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ WishList config_f.h eight-bit.me glob.3 patchlevel.h \ pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ - README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ - host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ + complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ + gethost.c tcsh.man2html configure.ac configure config.h.in \ tests/testsuite.at aclocal.m4 TESTFILES= tests/aliases.at tests/arguments.at tests/commands.at \ tests/expr.at tests/lexical.at tests/mb-eucjp.at \ diff --git a/Makefile.std b/Makefile.std index ffd33b1..3466d4c 100644 --- a/Makefile.std +++ b/Makefile.std @@ -315,11 +315,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ tc.vers.${SUF} tc.who.${SUF} PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 -AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ +AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ WishList config_f.h eight-bit.me glob.3 patchlevel.h \ pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ - README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ - host.defs gethost.c tcsh.man2html configure.ac configure config.h.in \ + complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ + gethost.c tcsh.man2html configure.ac configure config.h.in \ aclocal.m4 VHSRCS=${PVSRCS} ${AVSRCS} diff --git a/Makefile.vms b/Makefile.vms index d47f9ce..bc24114 100644 --- a/Makefile.vms +++ b/Makefile.vms @@ -293,11 +293,11 @@ TCOBJS= tc.alloc.${SUF} tc.bind.${SUF} tc.const.${SUF} tc.defs.${SUF} \ tc.vers.${SUF} tc.who.${SUF} PVSRCS= Makefile.std Makefile.vms Makefile.in Makefile.win32 -AVSRCS= Fixes MAKEDIFFS MAKESHAR NewThings README FAQ \ +AVSRCS= BUILDING Fixes MAKEDIFFS MAKESHAR NewThings README.md FAQ \ WishList config_f.h eight-bit.me glob.3 patchlevel.h \ pathnames.h tcsh.man Ported src.desc Imakefile imake.config \ - README.imake complete.tcsh vmsreadme.txt termcap.vms snames.h \ - host.defs gethost.c tcsh.man2html configure.ac aclocal.m4 + complete.tcsh vmsreadme.txt termcap.vms snames.h host.defs \ + gethost.c tcsh.man2html configure.ac aclocal.m4 VHSRCS=${PVSRCS} ${AVSRCS} diff --git a/Ported b/Ported index ca1ac3b..f1151c7 100644 --- a/Ported +++ b/Ported @@ -338,7 +338,7 @@ CFLAGS : normal LIBES : -ltermcap OS : bsd 4.3reno CONFIG : bsdreno -NOTES : ttyname() is buggy. calls closedir() twice. See README +NOTES : ttyname() is buggy. calls closedir() twice. See BUILDING ENVIRON : n/a VERSION : 6.00.04 diff --git a/README.imake b/README.imake deleted file mode 100644 index dfe2e2f..0000000 --- a/README.imake +++ /dev/null @@ -1,9 +0,0 @@ - -If you have imake running on your machine, you may skip steps 1 and 2 -described in the README file and try instead the process described here. -Note that imake is not supported for all the platforms yet, so this -might not work on your machine. If that is the case please let us know. -If you can send a patch that fixes the problem we would appreciate it. - -1. edit imake.config and modify the configurable parameters to your liking. -2. 'xmkmf; make depend; make' diff --git a/README.md b/README.md new file mode 100644 index 0000000..43a92bb --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Tcsh - C shell with file name completion and command line editing + +The Tcsh source code is available on GitHub as a read-only mirror at: + + http://github.com/tcsh-org/tcsh + +Instructions for compiling Tcsh can be found in [BUILDING]. + +PLEASE file any bug reports (and fixes), code for new features at: + + http://bugs.gw.com/ + +Comments, questions, etc. (even flames) are welcome via email to +the Tcsh Bugs mailing list: + + tcsh-bugs@mx.gw.com + -- 2.9.3 From 709e97df63dab42dc7cc474f54b621f732228b25 Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Wed, 1 Feb 2017 15:45:10 +0200 Subject: [PATCH 2/5] Improve formatting --- README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 43a92bb..fcbdbfc 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,21 @@ -# Tcsh - C shell with file name completion and command line editing +# Tcsh -The Tcsh source code is available on GitHub as a read-only mirror at: +*C shell with file name completion and command line editing* - http://github.com/tcsh-org/tcsh +The Tcsh source code is available on GitHub as a read-only repo +mirror at: -Instructions for compiling Tcsh can be found in [BUILDING]. +> http://github.com/tcsh-org/tcsh -PLEASE file any bug reports (and fixes), code for new features at: +Instructions for compiling Tcsh can be found in +[BUILDING](blob/master/BUILDING). - http://bugs.gw.com/ +PLEASE file any bug reports, fixes, and code for new features at: + +> http://bugs.gw.com/ Comments, questions, etc. (even flames) are welcome via email to the Tcsh Bugs mailing list: - tcsh-bugs@mx.gw.com +> tcsh-bugs@mx.gw.com -- 2.9.3 From e784b20c10a214a944953c25601918c7ab0c1f69 Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Wed, 1 Feb 2017 16:01:43 +0200 Subject: [PATCH 3/5] Add build status --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fcbdbfc..6ff9b7a 100644 --- a/README.md +++ b/README.md @@ -19,3 +19,4 @@ the Tcsh Bugs mailing list: > tcsh-bugs@mx.gw.com +[![Build Status](https://travis-ci.org/tcsh-org/tcsh.svg?branch=master)](https://travis-ci.org/tcsh-org/tcsh) -- 2.9.3 From 1f2066458f442cc956138c24c79110f36a30cf0d Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Wed, 1 Feb 2017 16:34:17 +0200 Subject: [PATCH 4/5] Learning curve --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 6ff9b7a..466c22b 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,7 @@ mirror at: > http://github.com/tcsh-org/tcsh -Instructions for compiling Tcsh can be found in -[BUILDING](blob/master/BUILDING). +Instructions for compiling Tcsh can be found in [BUILDING]. PLEASE file any bug reports, fixes, and code for new features at: -- 2.9.3 From 19a63ad9f28fd9cb7e92bd397f128f5de7619887 Mon Sep 17 00:00:00 2001 From: Kimmo Suominen Date: Wed, 1 Feb 2017 23:58:37 +0200 Subject: [PATCH 5/5] Fix linking. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 466c22b..f273f8f 100644 --- a/README.md +++ b/README.md @@ -18,4 +18,8 @@ the Tcsh Bugs mailing list: > tcsh-bugs@mx.gw.com -[![Build Status](https://travis-ci.org/tcsh-org/tcsh.svg?branch=master)](https://travis-ci.org/tcsh-org/tcsh) +[![Build Status][status]][travis] + +[BUILDING]: BUILDING +[status]: https://travis-ci.org/tcsh-org/tcsh.svg?branch=master +[travis]: https://travis-ci.org/tcsh-org/tcsh -- 2.9.3