update dev300-m58
[ooovba.git] / dmake / readme / public / msdos.txt
blob72664843a644e68e28eacd37e148d7fbc921509f
1 MSDOS specific information for dmake.  This information is provided in the
2 hope that it makes it easier to install and recompile dmake under MSDOS.
3 I will be happy to hear of erroneous information and will make every effort
4 to correct it.
6 NOTE:  If you are seeking information for Win32 compiles please refer to
7        the file "readme/winnt".
10 1. ENVIRONMENT VARIABLE SETTINGS
12 There are many environment variable settings available for MSDOS.  Each
13 option is described below.
15    OS            - msdos
17    OSRELEASE     - borland              # Borland compilers
18                  - microsft             # Microsoft compilers
19                  - zortech              # zortech compilers (unsupported)
21    OSENVIRONMENT - tcc20                # Borland Turbo C 2.0
22                  - bcc30                # Borland C++ V3.0 MSDOS compile
23                  - bcc40                # Borland C++ V4.0 MSDOS compile
24                  - bcc45                # Borland C++ V4.5 MSDOS compile
25                  - bcc50                # Borland C++ V5.0 MSDOS compile
27                  - msc51                # Microsoft 5.1 Compiler MSDOS compile
28                  - msc60                # Microsoft 6.0 Compiler MSDOS compile
30    MSC_VER       - 5.1                  # Microsoft Compiler version 
31                  - 6.0                  # Microsoft Compiler version 
34 2. IMPLEMENTATION NOTES
36 Bootstrapping the binary:
37 -------------------------
38    A make.bat file is provided to bootstrap the binary.  The file contains
39    several targets for bootstrapping.  Invoking the batch file with no
40    arguments lists the possibilities shown below.
42       INDEX:  You must specify one of:
43          tccswp   - Turbo C 2.0 compile of swapping dmake.
44          bcc30swp - Borland C++ 3.0 compile of swapping dmake.
45          bcc40swp - Borland C++ 4.0 compile of swapping dmake.
46          bcc45swp - Borland C++ 4.5 compile of swapping dmake.
47          bcc50swp - Borland C++ 5.0 compile of swapping dmake.
49          msc51    - Microsoft C 5.1 compile.
50          msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake.
51          msc60    - Microsoft C 6.0 compile.
52          msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake.
54    Based on the compiler you have installed and whether or not you
55    want the swapping version of dmake, you should select the appropriate
56    target and issue 'make.bat target'.
58    The batch file runs a second batch script that comes with the distribution
59    which compiles the sources using the appropriate compiler and flags.  The
60    MSC Versions of the batch files should not require any further user
61    intervention during the build.  The Borland versions, as a final step,
62    invoke tlink with two response files.  The second of these response files,
63    named in msdos/borland/{bcc*,tcc20}/mk*.bat, contains absolute path names to
64    Borland's libraries.  You likely need to edit these before getting a
65    successful binary linked.  The reason for this is that not all of us
66    install the Borland compiler in the same place.
68    Note that the file msdos/exec.uue is a uuencoded version of a BCC++
69    compiled exec.obj (from exec.asm).  If you do not have an assembler
70    either microsoft MASM or Borland TASM (or some other), you can uudecode
71    this file and put it into src/objects/exec.obj.  The build will then
72    link against it to build your binary.
75 Using dmake to Make itself:
76 ---------------------------
77    See the file "readme/install" for information on building dmake by using
78    dmake itself.  Once successfully built using the presupplied scripts it
79    should be straight forward to rebuild dmake.
82 Memory Requirements and Swapping:
83 ---------------------------------
84    The swapping code currently only swaps to DISK, there are hooks
85    in the code to accomodate XMS and EMS, but have not been used (and
86    probably never will).
88    It appears that a ramdisk seems to work just fine.  If anyone
89    wishes to fill in the hooks please do so and send us the differences.
92 ^C and stopping a make:
93 -----------------------
94    Thanks to the efforts of Len Reed, appears to now work.  I have been unable
95    to hang my machine if it's swapped out and I hit ^C a couple thousand times.
98 Other notes:
99 ------------
100    dmake does not care if you are running command.com or some other command
101    interpretter, you must however specify the proper values of the environment
102    variables SHELL, SHELLFLAGS, GROUPSHELL, and GROUPFLAGS in order for things
103    to work correctly.  Read the man page FIRST, if you still have trouble
104    then send email.
106    Group recipes under DOS that use command.com as the command interpretter
107    require you to set the GROUPSUFFIX macro.
109    As shipped the startup.mk files for the DOS version try to figure out what
110    command interpretter you are using and set things up appropriately.
111    Two command interpretters are supported in the shipped startup.mk file,
112    command.com, and the MKS Korn shell.
114    The dos version of dmake contains one builtin command.  noop which
115    simply ignores the remainder of the line and always retuns success,
117    dmake supports the MKS argument passing conventions.  The facility is
118    enabled by setting .MKSARGS:=1.  It is set by default in the startup.mk file
119    if an MKS Korn shell is detected as being the active command interpretter.
121    At this time there are no plans to support the other popular UNIX like
122    argument passing conventions available under DOS.  We recommend you get
123    a copy of the MKS Toolkit from Mortice Kern Systems in Waterloo, Ontario,
124    Canada [http://www.mks.com/].