"Fossies" - the Fresh Open Source Software Archive

Member "tcsh-6.22.03/BUILDING" (18 Nov 2020, 9216 Bytes) of package /linux/misc/tcsh-6.22.03.tar.gz:

As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "BUILDING": 6.22.02_vs_6.22.03.

    1 Tcsh is an enhanced but completely compatible version of the Berkeley
    2 C-Shell, with the addition of a command line editor, command and file
    3 name completion, listing, etc., and a bunch of small additions to the
    4 shell itself.
    6 Tcsh has been ported to most unix variants, and can be tinkered to work
    7 in unix systems that it has not ported yet. See the Ported file for
    8 a more complete list of ported systems and in the config directory for
    9 a configuration file that matches your system.
   11 Tcsh also runs under VMS/POSIX and OS/2+emx; the OS/2 port is not
   12 complete yet.
   14 Feel free to use it.  These changes to csh may only be included in
   15 a commercial product if the inclusion or exclusion does not change the
   16 purchase price, level of support, etc.  Please respect the individual
   17 authors by giving credit where credit is due (in other words, don't
   18 claim that you wrote portions that you haven't, and don't delete the
   19 names of the authors from the source code or documentation).
   21 To install tcsh:
   23 1)  Try running "./configure".  If that doesn't work, goto step 2.
   24     Run "./configure --help" to see possible options.  After running
   25     configure, goto step 5.
   27     a)	On Debian you'll want to have development libraries installed.
   28 	Try the following:
   29 	apt-get install \
   30 	build-essential \
   31 	libncurses-dev \
   32 	;
   34 2)  If you have imake running on your machine, you may try building with
   35     it.  Note that imake is not supported for all the platforms yet, so
   36     this might not work on your machine.  If that is the case please let
   37     us know, and goto step 3.  If you can send a patch that fixes the
   38     problem we would appreciate it.
   40     a)	Modify configurable parameters in imake.config to your liking.
   41     b)	xmkmf; make depend
   43     Goto step 5.
   45 3)  Otherwise copy Makefile.std to Makefile. Look at the Makefile and
   46     make sure that you are using the right compilation flags.
   48 4)  Copy the appropriate for your machine and OS config file from the
   49     config subdirectory into config.h.  Consult the file "Ported" for
   50     settings known to work on various machines.  If you are trying to
   51     compile tcsh on a machine for which there is no config file yet,
   52     you will need to create a config file using as a template one of
   53     the supplied ones.  If you get tcsh working on a new machine, I'd
   54     appreciate a copy of the config file plus additional information
   55     about the architecture/OS.  If you are creating a new config file,
   56     look very hard at BSDJOBS and BSDTIMES if you are running a non-BSD
   57     machine.  For vanila SysV, these would all be #undef-ed, but others
   58     may vary (such as A/UX or HPUX).  On a pyramid, compile in the UCB
   59     universe even if you are running under the ATT universe usually; it
   60     will work anyway, and you get job control for free.
   62 5)  Look at config_f.h, and enable or disable any features you want.
   63     It is configured the way I like it, but you may disagree.
   65 6)  Look at host.defs to make sure that you have the right defines to
   66     set the environment variables "HOSTTYPE", "MACHTYPE", "OSTYPE" and
   67     "VENDOR" correctly.  If you need to make changes, PLEASE SEND THEM
   68     BACK TO ME.
   70 7)  You may want to adjust the DESTBIN and DESTMAN entries in Makefile.
   71     These are the directories that tcsh, and the tcsh.1 man entry will
   72     be placed in when you do a "make install" and "make install.man"
   73     respectively.  If you decide to install tcsh somewhere other
   74     than in /usr/local/bin/tcsh, you should #define _PATH_TCSHELL
   75     "/your/installation/directory/tcsh" in pathnames.h.
   77 8)  make
   79 9)  Read the documentation while you are waiting.  The file tcsh.man
   80     is in standard [nt]roff -man format. If you like, you can run the
   81     tcsh.man2html script (requires Perl) to generate an HTML version
   82     of the manpage which you can read with Mosaic, lynx or other HTML
   83     browser.
   85 10) Test tcsh by typing ./tcsh to see that it has compiled correctly.
   86     The history command should give a time stamp on every entry.
   87     Typing normal characters should echo each exactly once.  Control-A
   88     should put the cursor at the beginning of the input line, but after
   89     the prompt.  Typing characters after that should insert them into
   90     the line.  If you have job control make sure that stopping and
   91     restarting jobs works. Make sure you can ^C in the middle of the
   92     input line.  Also make sure that pipelines work correctly and there
   93     are no races. Try 'echo | cat | cat | cat | cat | more' a couple of
   94     times. If you have job control, try this command in the background
   95     and bring it in the foreground when it stops for tty output.  Also
   96     make sure that the ioctl() modes are preserved.  Get into vi, enter
   97     and exit input mode and suspend it, background it and foreground it
   98     again. After all that, lastly make sure that the tty process group
   99     manipulation is happening correctly. Try ftp to some host. If your
  100     passwd appears on the screen, you have lost /dev/tty. Otherwise
  101     everything is fine.
  103 11) Once satisfied that tcsh is working correctly, complete the
  104     installation by typing "make install" to install the binary, and
  105     "make install.man" to install the documentation. Don't forget to
  106     look at complete.tcsh for useful completions, dot.login for a sample
  107     ~/.login file, and dot.tcshrc for a sample ~/.tcshrc file...
  109 12) Enjoy.
  111 ***************************************************************************
  113 On sysv versions < 3.0 (not hpux) Doug Gwyn's public domain directory
  114 manipulation library has to be installed. This library is available
  115 for anonymous ftp from prep.ai.mit.edu:/pub/gnu/dirent.tar.Z
  117 If the network is not installed, then there is a gethostname()
  118 routine is tc.os.c
  120 ***************************************************************************
  122 On BSDreno, in ttyname() closedir() is called twice and so the same
  123 pointer gets free'd twice. tcsh's malloc is picky and it prints an
  124 error message to that effect. If you don't like the message:
  126 1. Apply the following patch:
  128 *** /usr/src/lib/libc/gen/ttyname.c.orig	Fri Jun  1 17:17:15 1990
  129 --- /usr/src/lib/libc/gen/ttyname.c	Tue Oct 29 16:33:12 1991
  130 ***************
  131 *** 51,57 ****
  132   		if (stat(buf, &sb2) < 0 || sb1.st_dev != sb2.st_dev ||
  133   		    sb1.st_ino != sb2.st_ino)
  134   			continue;
  135 - 		closedir(dp);
  136   		rval = buf;
  137   		break;
  138   	}
  139 --- 51,56 ----
  141 Or: Comment the error printing out in tc.alloc.c
  142 Or: Compile -DSYSMALLOC
  144 ***************************************************************************
  146 From: Scott Krotz <krotz@honey.rtsg.mot.com>
  148 Tcsh has been ported to minix by Scott Krotz (krotz@honey.rtsg.mot.com).
  149 Unfortunately the minix sed is broken, so you'll have to find a way to
  150 make tc.const.h, sh.err.h, ed.defns.h which are automatically generated.
  151 The easiest way to create them is to make a copy from unix, copying
  152 minix to config.h, and then 'make sh.err.h tc.const.h ed.defns.h'
  154 The OS/dependent files are in mi.termios.h, mi.wait.h, mi.varargs.h
  156 You will get some warnings, but dont worry about them, just ignore them.
  157 After tcsh has compiled and the gcc binary is converted to a minix
  158 binary, remember to chmem it to give it more memory - it will need it!
  159 How much you need depends on how many aliases you have, etc..  Add at
  160 least 50000 to it.
  162 One last thing.  You might have to make some links for include files so
  163 that they are in the directories that tcsh is expecting while compiling.
  164 I forget if I had to do this or not, but it should be fairly easy to sort
  165 out.  If it cant find any include files this is probably the reason.
  167 If you have any problems, please tell me.  I can be contacted through
  168 e-mail at:
  170 krotz@honey.rtsg.mot.com
  172 I also read comp.os.minix on a regular basis, so a note there will get
  173 my attention also.
  175 Have fun!
  177 ps.  The termios functions are provided by Magnus Doell and Bruce Evans.
  178      Thanks, guys!
  181 From: Bob Byrnes <byrnes@ee.cornell.edu>
  183 This is for minix 1.5 (straight out of the box from P-H) plus the i386
  184 patches from Bruce Evans.
  186 I cross-compiled on a Sun using gcc 2.1 with a target of i386-bsd
  187 (using the minix include files instead of the bsd versions), and then
  188 linked the resulting object files with similarly compiled crtso.o and
  189 libc.a on vax (little endian) using a hacked version of ld which I put
  190 together to generate minix executables instead of bsd a.out format.
  191 What a kludge ...
  193 I compiled with -O2 -Wall ...  So far I haven't noticed any problems
  194 with the optimizer.
  196 In case anyone is contemplating compiling tcsh with bcc (Bruce Evan's
  197 i386 compiler that comes with the minix386 upgrade package), don't bother.
  198 It is some serious bugs that kill tcsh when compiled for 16-bit characters.
  199 I can provide more details of bugs that I noticed for brave souls who want
  200 to try, but it would be hard (and why bother if you can get gcc?).
  202 I can make the binary available to anyone who wants it (for example people
  203 who can't get access to a cross-compiling environment, and who don't yet
  204 have gcc running under minix).
  206 ***************************************************************************
  208 If your compiler cannot handle long symbol names, add
  210 #include "snames.h"
  212 to your config.h file
  214 	     -- Christos Zoulas
  215 		christos@zoulas.com