home *** CD-ROM | disk | FTP | other *** search
- Shell Version 2.0 INSTALL April 1992
-
- MS-DOS SHELL - Copyright (c) 1990,1,2 Data Logic Limited and Charles Forsyth
-
- This code is based on (in part) the shell program written by Charles
- Forsyth and is subject to the following copyright restrictions:
-
- 1. Redistribution and use in source and binary forms are permitted
- provided that the above copyright notice is duplicated in the
- source form and the copyright notice in file sh6.c is displayed
- on entry to the program.
-
- 2. The sources (or parts thereof) or objects generated from the
- sources (or parts of sources) cannot be sold under any circumstances.
-
- $Header: c:/usr/src/shell/RCS/install 2.0 1992/04/13 17:40:33 Ian_Stewartson Exp $
-
- $Log: install $
- Revision 2.0 1992/04/13 17:40:33 Ian_Stewartson
- MS-Shell 2.0 Baseline release
-
-
-
- ________________________________________________________________________________
-
- To rebuild and install the shell, you should follow the following the steps:
-
- 1) If you have the binary only version, skip steps 2 through 5.
-
- 2) Load the include files in the include directory into the standard location
- (\msc\include or equivalent). Read CHANGES file for the additional
- definitions which are required in the standard Microsoft C5 & C6 include
- files and edit them in to the appropriate files.
-
- We have standardised our MSDOS and Unix include files such that the same
- include file exists our Unix system and MSDOS systems. This makes porting
- a lot easier. If you don't want to edit the standard include files, you
- will have to generate an new include file for the shell and include it as
- the first include in all the C sources for the additional library functions
- and the Shell itself
-
- 3) Modify the library function open so that the O_NOINHERIT flag is passed to
- MSDOS by the library. This is not strictly necessary. I did it using
- CodeView to see where the library function masks the bottom three bits,
- noted the bytes around this location, extracted the open function from the
- library, patched the mask to be 0x83 instead of 0x03, and then replaced
- the function in the library (Also see the Patch.Lib file).
-
- 4) Compile the library files in the directory lib in large model mode and add
- the objects to your large model library
-
- cl -c -AL -Olt *.c
- <appropriate library commands>
-
- Note: system.c and swap.asm are currently only support large model
- programs. system.c can be loaded in your library to replace
- the standard Microsoft version.
-
- swap.obj must be the first module on the link line so that it
- is loaded directly after the psp in memory.
-
- cl -AL -o demo swap.obj demo.obj
-
- for example (cf sh0.asm in the shell).
-
- 5) Build the shell, either using make or
-
- For MSDOS:
-
- cl -c -AL -Olt *.c
- masm /Ml sh0.asm
- link sh0+sh1+sh2+sh3+sh4+sh5+sh6+sh7+sh8+sh9+sh10+sh11/noi/noe/stack:0x8000, sh.exe;
-
- Note that the order is important. SH0.OBJ must be the first object
- file in the load line.
-
- For OS/2:
- cl -o sh -AL -Olt -DOS2 *.c sh.def -F 8000
-
- 6) Install the shell executable in its correct location.
-
- 7) Modify the initialisation file sh.ini for your edit key preferences and
- install it in the same directory as the executable.
-
- 8) Modify the scripts as appropriate for your installation and install
- them in the correct directories.
-
- /profile.sh - your profile (NOT MINE) in your ${HOME} directory.
- /etc/profile.sh - your /etc profile (NOT MINE). This must be /etc on
- the same disk drive as you start the shell on.
- Ie. if you are in c:/bin when you start the
- shell, this must be in c:/etc/profile.sh. If you
- are in f:/tools/sh200 when you start the shell,
- this must be in f:/etc/profile.sh.
- sh.rc - your ${ENV} file (NOT MINE). Anywhere as long as
- ${ENV} in either ${HOME}/profile or /etc/profile
- declare the variable.
-
- Note: This file is usuful for selecting the swap
- mode on startup.
-
- extend.lst - your Extended command line processing file (NOT MINE).
- Anywhere as long as ${EXTENDED_LINE} in either
- ${HOME}/profile or /etc/profile declares the file.
-
- 9) Type "sh -0" and see what happens.
-
- 10) If you have problems, check that the environment variables are set
- correctly. Use the set command under the MSDOS command.com and in the
- shell.
-
- Remember that some commands require DOS format file names and environment
- variables. So check the setting of these variables (using the shell's
- msdos command) and the entries in ${EXTENDED_LINE}.
-
-