[comp.sources.misc] v15i094: dmake version 3.6 patch 1

dvadura@watdragon.waterloo.edu (Dennis Vadura) (12/17/90)

Posting-number: Volume 15, Issue 94
Submitted-by: Dennis Vadura <dvadura@watdragon.waterloo.edu>
Archive-name: dmake-3.6/patch05

#!/bin/sh
# this is part 5 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file dm36.p1 continued
#
CurArch=5
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
sed 's/^X//' << 'SHAR_EOF' >> dm36.p1
XX  # batch file which will issue the appropriate instructions.
XX! tcc tccswp msc msc60 mscswp msc60swp:; make.bat $@
XX--- 12,44 ----
XX  	@echo "   make bsd43vf       - Generic BSD 4.3 that needs vfprintf"
XX  	@echo "   make sysvr3        - Generic SysV R3 UNIX"
XX  	@echo "   make sysvr1        - Generic SysV R1 UNIX"
XX  	@echo "   make dynix         - Sequent DYNIX system"
XX  	@echo "   make ultrix        - Ultrix 3.0 system"
XX  	@echo "   make mips          - Any MIPS box"
XX+ 	@echo "   make 386ix         - 386/ix (SysV R3) [NOTE: not tested]"
XX+ 	@echo "   make xenix	     - 386 Xenix box"
XX+ 	@echo "   make tos           - Atari-ST TOS using GCC as compiler"
XX  	@echo "   make tcc           - DOS with tcc 2.0"
XX  	@echo "   make tccswp        - swapping DOS version with tcc 2.0"
XX! 	@echo "   make msc40         - DOS with MSC 4.0"
XX! 	@echo "   make msc50         - DOS with MSC 5.0"
XX! 	@echo "   make msc51         - DOS with MSC 5.1"
XX  	@echo "   make msc60         - DOS with MSC 6.0"
XX! 	@echo "   make msc40swp      - swapping DOS version with MSC 4.0"
XX! 	@echo "   make msc50swp      - swapping DOS version with MSC 5.0"
XX! 	@echo "   make msc51swp      - swapping DOS version with MSC 5.1"
XX  	@echo "   make msc60swp      - swapping DOS version with MSC 6.0"
XX  
XX  bsd43uw :; /bin/sh -x < unix/bsd43/uw/make.sh
XX  bsd43vf dynix mips        :; /bin/sh -x < unix/bsd43/vf/make.sh
XX  sysvr1 sysvr3 bsd43 386ix :; /bin/sh -x < unix/$@/make.sh
XX! ultrix xenix: sysvr3;
XX! tos :; sh -x tos/make.sh
XX  
XX  # DOS with some form of make and sh
XX  # Note if you do not have a 'make and/or sh' program under MSDOS then
XX  # typing 'make' in the dmake distribution directory will invoke the make.bat
XX  # batch file which will issue the appropriate instructions.
XX! DOS_VER = tcc    msc40    msc50    msc51    msc60 \
XX! 	  tccswp msc40swp msc50swp msc51swp msc60swp
XX! $(DOS_VER) :; make.bat $@
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/make.c	Sat Oct  6 12:03:58 1990
XX--- make.c	Mon Oct 29 14:27:50 1990
XX***************
XX*** 206,211 ****
XX--- 206,219 ----
XX        thp = how->hw_next;
XX        (void) Infer_recipe( cp, how, NIL(DFASET), setdirroot );
XX  
XX+       /* Change directory only if the previous .SETDIR is a different
XX+       /* directory from the current one.  ie. all cells with the same .SETDIR
XX+       /* attribute are assumed to come from the same directory. */
XX+       if( cp->ce_attr & A_SETDIR )
XX+ 	 if( (setdirroot == NIL(CELL) || setdirroot->ce_dir != cp->ce_dir) &&
XX+ 	     (push += Push_dir(cp, (((cp->ce_attr|Glob_attr)&A_IGNORE) != 0))) )
XX+ 	    setdirroot = cp;
XX+ 
XX        /* If we inferred a new set of prerequisites then make
XX         * them before the current list represented by the current how pointer */
XX        if( thp != how->hw_next )
XX***************
XX*** 457,463 ****
XX  stop_making_it:
XX     if( m_at != NIL(HASH) ) _drop_mac( m_at );
XX  
XX!    if( push )  Pop_dir(FALSE);
XX  
XX     if( inf    != NIL(char) ) FREE( inf    );
XX     if( all    != NIL(char) ) FREE( all    );
XX--- 465,471 ----
XX  stop_making_it:
XX     if( m_at != NIL(HASH) ) _drop_mac( m_at );
XX  
XX!    while( push-- )  Pop_dir(FALSE);
XX  
XX     if( inf    != NIL(char) ) FREE( inf    );
XX     if( all    != NIL(char) ) FREE( all    );
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/make.bat	Sat Oct  6 12:04:32 1990
XX--- make.bat	Thu Oct 25 20:08:28 1990
XX***************
XX*** 7,18 ****
XX  echo Running make.bat script to make a %1 copy of dmake.
XX  
XX  if %0%1 == %0 goto error
XX! if %1 == msc goto makemsc
XX! if %1 == msc60 goto makemsc60
XX! if %1 == mscswp goto makemscswp
XX! if %1 == msc60swp goto makemsc60swp
XX! if %1 == tcc goto maketcc
XX! if %1 == tccswp goto maketccswp
XX  
XX  rem label the possible DOS variations for dmake here.
XX  :error
XX--- 7,22 ----
XX  echo Running make.bat script to make a %1 copy of dmake.
XX  
XX  if %0%1 == %0 goto error
XX! if %1 == tcc goto mktcc
XX! if %1 == tccswp goto mktccswp
XX! if %1 == msc40 goto mkmsc40
XX! if %1 == msc40swp goto mkmsc40swp
XX! if %1 == msc50 goto mkmsc50
XX! if %1 == msc50swp goto mkmsc50swp
XX! if %1 == msc51 goto mkmsc51
XX! if %1 == msc51swp goto mkmsc51swp
XX! if %1 == msc60 goto mkmsc60
XX! if %1 == msc60swp goto mkmsc60swp
XX  
XX  rem label the possible DOS variations for dmake here.
XX  :error
XX***************
XX*** 19,51 ****
XX  echo INDEX:  You must specify one of:
XX  echo    tcc      - Turbo C 2.0, compile.
XX  echo    tccswp   - Turbo C 2.0 compile of swapping dmake.
XX! echo    msc      - Microsoft C 4.0 to 5.1, compile.
XX  echo    msc60    - Microsoft C 6.0 compile.
XX! echo    mscswp   - Microsoft C 4.0 to 5.1, MASM 5.1 compile of swapping dmake.
XX  echo    msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake.
XX  goto end
XX  
XX! rem This is the script that makes dmake using Microsoft C 4.0 or higher.
XX! :makemsc
XX! msdos\mscdos\mk.bat
XX  goto end
XX  
XX! rem This is the script that makes dmake using Microsoft C 4.0 or higher.
XX! :makemsc60
XX! msdos\mscdos\mk60.bat
XX  goto end
XX  
XX! :makemscswp
XX! msdos\mscdos\mkswp.bat
XX  goto end
XX  
XX! :makemscswp
XX  msdos\mscdos\mk60swp.bat
XX  goto end
XX  
XX  rem This is the script that makes dmake using Turbo C 2.0 or higher.
XX! rem This is the script that makes dmake using Turbo C 2.0 or higher.
XX! :maketcc
XX  cls
XX  echo WARNING:
XX  echo    The default response files:
XX--- 23,76 ----
XX  echo INDEX:  You must specify one of:
XX  echo    tcc      - Turbo C 2.0, compile.
XX  echo    tccswp   - Turbo C 2.0 compile of swapping dmake.
XX! echo    msc40    - Microsoft C 4.0 compile.
XX! echo    msc50    - Microsoft C 5.0 compile.
XX! echo    msc51    - Microsoft C 5.1 compile.
XX  echo    msc60    - Microsoft C 6.0 compile.
XX! echo    msc40swp - Microsoft C 4.0, MASM 5.1 compile of swapping dmake.
XX! echo    msc50swp - Microsoft C 5.0, MASM 5.1 compile of swapping dmake.
XX! echo    msc51swp - Microsoft C 5.1, MASM 5.1 compile of swapping dmake.
XX  echo    msc60swp - Microsoft C 6.0, MASM 5.1 compile of swapping dmake.
XX  goto end
XX  
XX! rem This is the script that makes dmake using Microsoft C 4.0
XX! :mkmsc40
XX! msdos\mscdos\mk40.bat
XX  goto end
XX  
XX! :mkmsc40swp
XX! msdos\mscdos\mk40swp.bat
XX  goto end
XX  
XX! rem This is the script that makes dmake using Microsoft C 5.0
XX! :mkmsc50
XX! msdos\mscdos\mk50.bat
XX  goto end
XX  
XX! :mkmsc50swp
XX! msdos\mscdos\mk50swp.bat
XX! goto end
XX! 
XX! rem This is the script that makes dmake using Microsoft C 5.1
XX! :mkmsc51
XX! msdos\mscdos\mk51.bat
XX! goto end
XX! 
XX! :mkmsc51swp
XX! msdos\mscdos\mk51swp.bat
XX! goto end
XX! 
XX! rem This is the script that makes dmake using Microsoft C 6.0
XX! :mkmsc60
XX! msdos\mscdos\mk60.bat
XX! goto end
XX! 
XX! :mkmsc60swp
XX  msdos\mscdos\mk60swp.bat
XX  goto end
XX  
XX  rem This is the script that makes dmake using Turbo C 2.0 or higher.
XX! :mktcc
XX  cls
XX  echo WARNING:
XX  echo    The default response files:
XX***************
XX*** 61,67 ****
XX  msdos\tccdos\mk.bat
XX  goto end
XX  
XX! :maketccswp
XX  cls
XX  echo WARNING:
XX  echo    The default response files:
XX--- 86,92 ----
XX  msdos\tccdos\mk.bat
XX  goto end
XX  
XX! :mktccswp
XX  cls
XX  echo WARNING:
XX  echo    The default response files:
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/getinp.c	Sat Oct  6 12:03:42 1990
XX--- getinp.c	Sun Oct 28 14:33:48 1990
XX***************
XX*** 1,4 ****
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/getinp.c,v 1.1 90/10/06 12:03:43 dvadura Exp $
XX  -- SYNOPSIS -- handle reading of input.
XX  -- 
XX  -- DESCRIPTION
XX--- 1,4 ----
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/getinp.c,v 1.1 90/10/06 12:03:43 dvadura Exp Locker: dvadura $
XX  -- SYNOPSIS -- handle reading of input.
XX  -- 
XX  -- DESCRIPTION
XX***************
XX*** 111,116 ****
XX--- 111,137 ----
XX  	 character. */
XX  
XX        q = p+strlen(p)-2;
XX+       /* ignore each RETURN at the end of a line before any further
XX+        * processing */
XX+       if( q[0] == '\r' && q[1] == '\n' ) {
XX+ 	 q[0] = '\n';
XX+ 	 q[1] = '\0';
XX+ 	 q--;
XX+       }
XX+       /* you also have to deal with END_OF_FILE chars to process raw
XX+        * DOS-Files. Normally they are the last chars in file, but after
XX+        * working on these file with vi, there is an additional NEWLINE
XX+        * after the last END_OF_FILE. So if the second last char in the
XX+        * actual line is END_OF_FILE, you can skip the last char. Then
XX+        * you can search the line back until you find no more END_OF_FILE
XX+        * and nuke each you found by string termination. */
XX+       if( q[0] == '\032' )
XX+ 	 q--;
XX+       while( q[1] == '\032' ) {
XX+ 	 q[1] = '\0';
XX+ 	 q--;
XX+       }
XX+ 
XX        if( ignore ) {
XX  	 if( q[0] != CONTINUATION_CHAR || q[1] != '\n' )  ignore = FALSE;
XX  	 *p = '\0';
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/expand.c	Sat Oct  6 12:03:40 1990
XX--- expand.c	Tue Oct 23 09:19:27 1990
XX***************
XX*** 1,4 ****
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/expand.c,v 1.1 90/10/06 12:03:40 dvadura Exp $
XX  -- SYNOPSIS -- macro expansion code.
XX  -- 
XX  -- DESCRIPTION
XX--- 1,4 ----
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/expand.c,v 1.1 90/10/06 12:03:40 dvadura Exp Locker: dvadura $
XX  -- SYNOPSIS -- macro expansion code.
XX  -- 
XX  -- DESCRIPTION
XX***************
XX*** 80,85 ****
XX--- 80,92 ----
XX  #include "alloc.h"
XX  #include "db.h"
XX  
XX+ /* Microsoft BRAINDAMAGE ALERT!!!!
XX+  * This #ifdef is here only to satisfy stupid bugs in MSC5.0 and MSC5.1
XX+  * it isn't needed for anything else.  It turns loop optimization off. */
XX+ #if defined(_MSC_VER)
XX+ #include "optoff.h"
XX+ #endif
XX+ 
XX  static	char*	_scan_token ANSI((char*, char**));
XX  static	char*	_scan_macro ANSI((char*, char**));
XX  static	char*	_scan_brace ANSI((char*, char**, int*));
XX***************
XX*** 208,214 ****
XX  }
XX  
XX  
XX- 
XX  void
XX  Map_esc( tok )/*
XX  ================
XX--- 215,220 ----
XX***************
XX*** 644,650 ****
XX     FREE( macro_name );
XX     DB_RETURN( result );
XX  }
XX- 
XX  
XX  
XX  static char*
XX--- 650,655 ----
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/dump.c	Sat Oct  6 12:03:38 1990
XX--- dump.c	Sat Oct 27 19:45:57 1990
XX***************
XX*** 34,41 ****
XX   * 
XX  */
XX  
XX- #include "db.h"
XX  #include "extern.h"
XX  
XX  #define M_TEST	(M_PRECIOUS | M_VAR_MASK)
XX  
XX--- 34,41 ----
XX   * 
XX  */
XX  
XX  #include "extern.h"
XX+ #include "db.h"
XX  
XX  #define M_TEST	(M_PRECIOUS | M_VAR_MASK)
XX  
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/dmake.c	Sat Oct  6 12:03:36 1990
XX--- dmake.c	Mon Oct 22 16:53:35 1990
XX***************
XX*** 1,4 ****
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/dmake.c,v 1.1 90/10/06 12:03:35 dvadura Exp $
XX  -- SYNOPSIS -- The main program.
XX  -- 
XX  -- DESCRIPTION
XX--- 1,4 ----
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/dmake.c,v 1.1 90/10/06 12:03:35 dvadura Exp Locker: dvadura $
XX  -- SYNOPSIS -- The main program.
XX  -- 
XX  -- DESCRIPTION
XX***************
XX*** 341,347 ****
XX  
XX     TALLOC( Start_dir.ce_name, 1, HASH );
XX     Start_dir.CE_NAME = ".SETDIR";
XX!    Push_dir( &Start_dir, Glob_attr & A_IGNORE );
XX  
XX     if( m_export ) {
XX        int i;
XX--- 341,347 ----
XX  
XX     TALLOC( Start_dir.ce_name, 1, HASH );
XX     Start_dir.CE_NAME = ".SETDIR";
XX!    Push_dir( &Start_dir, (int)(Glob_attr & A_IGNORE ));
XX  
XX     if( m_export ) {
XX        int i;
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/common/stdmacs.h	Sat Oct  6 12:04:48 1990
XX--- common/stdmacs.h	Sun Oct 28 13:37:08 1990
XX***************
XX*** 1,4 ****
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/common/RCS/stdmacs.h,v 1.1 90/10/06 12:04:47 dvadura Exp $
XX  -- SYNOPSIS -- general use macros.
XX  -- 
XX  -- DESCRIPTION
XX--- 1,4 ----
XX! /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/common/RCS/stdmacs.h,v 1.1 90/10/06 12:04:47 dvadura Exp Locker: dvadura $
XX  -- SYNOPSIS -- general use macros.
XX  -- 
XX  -- DESCRIPTION
XX***************
XX*** 45,51 ****
XX--- 45,54 ----
XX  #endif
XX  
XX  #define	NIL(p)	((p*)NULL)
XX+ 
XX+ #if !defined(atarist)
XX  #define	offsetof(type,id) ((size_t)&((type*)NULL)->id)
XX+ #endif
XX  
XX  #define	FALSE	0
XX  #define	TRUE	1
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/common/db.h	Sat Oct  6 12:04:40 1990
XX--- common/db.h	Thu Oct 25 20:08:27 1990
XX***************
XX*** 42,48 ****
XX  
XX  #ifdef DBUG
XX  
XX- #  include <stdio.h>
XX  #  include <dbug.h>
XX  
XX  #  define DB_ENTER(a1)                DBUG_ENTER(a1)
XX--- 42,47 ----
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/common/alloc.h	Sat Oct  6 12:04:38 1990
XX--- common/alloc.h	Sun Oct 28 13:36:13 1990
XX***************
XX*** 42,48 ****
XX   * properly.
XX   */
XX  
XX! #if !defined(_TYPES_) && !defined(M_XENIX)
XX  #if defined(MSDOS) || defined(__MSDOS__)
XX  typedef unsigned size_t;
XX  #else
XX--- 42,48 ----
XX   * properly.
XX   */
XX  
XX! #if !defined(_TYPES_) && !defined(M_XENIX) && !defined(atarist)
XX  #if defined(MSDOS) || defined(__MSDOS__)
XX  typedef unsigned size_t;
XX  #else
XX*** /u2/dvadura/src/generic/dmake/src-patchlvl1/_install	Fri Oct  5 09:33:28 1990
XX--- _install	Tue Oct 30 13:25:59 1990
XX***************
XX*** 20,31 ****
XX  	dynix      - Sequent Symmetry dynix
XX  	ultrix	   - Ultrix 3.0 system
XX  	mips       - Any MIPS box
XX!         tcc        - DOS with tcc 2.0"
XX!         tccswp     - swapping DOS version with tcc 2.0"
XX!         msc        - DOS with MSC 4.0 to 5.1"
XX!         msc60      - DOS with MSC 6.0"
XX!         mscswp     - swapping DOS version with MSC 4.0 to 5.1"
XX!         msc60swp   - swapping DOS version with MSC 6.0"
XX  
XX  The file 'makefile' understands these targets and runs the appropriate script
XX  to create the correct version.
XX--- 20,36 ----
XX  	dynix      - Sequent Symmetry dynix
XX  	ultrix	   - Ultrix 3.0 system
XX  	mips       - Any MIPS box
XX! 	tos        - Atari-ST using GCC as compiler
XX!         tcc        - DOS with tcc 2.0
XX!         tccswp     - swapping DOS version with tcc 2.0
XX!         msc40      - DOS with MSC 4.0
XX!         msc50      - DOS with MSC 5.0
XX!         msc51      - DOS with MSC 5.1
XX!         msc60      - DOS with MSC 6.0
XX!         msc40swp   - swapping DOS version with MSC 4.0
XX!         msc50swp   - swapping DOS version with MSC 5.0
XX!         msc51swp   - swapping DOS version with MSC 5.1
XX!         msc60swp   - swapping DOS version with MSC 6.0
XX  
XX  The file 'makefile' understands these targets and runs the appropriate script
XX  to create the correct version.
XX***************
XX*** 35,44 ****
XX  			dmake 		[source for all common functions]
XX  			  |
XX  			  |
XX! 		     -----------
XX! 		     |	       |
XX! 		    unix     msdos	[source for OS specific functions]
XX! 		     |         |
XX    ----------------------     -------------
XX    |         |          |     |           |
XX  386ix     bsd43    sysvr3  tccdos     mscdos	[source for OSRELEASE specific
XX--- 40,49 ----
XX  			dmake 		[source for all common functions]
XX  			  |
XX  			  |
XX! 	    --------------------
XX! 	    |	     |	       |
XX! 	   unix     tos      msdos	[source for OS specific functions]
XX! 	    |	               |
XX    ----------------------     -------------
XX    |         |          |     |           |
XX  386ix     bsd43    sysvr3  tccdos     mscdos	[source for OSRELEASE specific
XX***************
XX*** 45,51 ****
XX  	    |					 functions]
XX  	--------
XX  	|      |
XX!        uw      vf
XX  
XX  
XX  Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
XX--- 50,56 ----
XX  	    |					 functions]
XX  	--------
XX  	|      |
XX!        uw      vf   [source for OSENVIRONMENT specific functions]
XX  
XX  
XX  Each of the directories (eg. bsd43, mscdos, tccdos, and sysvr3) contain source
XX***************
XX*** 66,72 ****
XX  	are running a SHELL other than command.com, you may have to perform
XX  	some extra work to invoke the batch file.
XX  	
XX! 	Make sure you read the _readme.dos file before attempting to make the
XX  	MSDOS version, as it contains important configuration and limitation
XX  	information.)
XX  
XX--- 71,77 ----
XX  	are running a SHELL other than command.com, you may have to perform
XX  	some extra work to invoke the batch file.
XX  	
XX! 	Make sure you read the readme/msdos file before attempting to make the
XX  	MSDOS version, as it contains important configuration and limitation
XX  	information.)
XX  
XSHAR_EOF
Xchmod 0640 _patches || echo "restore of _patches fails"
Xset `wc -c _patches`;Sum=$1
Xif test "$Sum" != "101721"
Xthen echo original size 101721, current size $Sum;fi
X
X# Now run patch to fix up the files
Xpatch -p0 < _patches
Xexit 0
SHAR_EOF
chmod 0640 dm36.p1 || echo "restore of dm36.p1 fails"
rm -f s2_seq_.tmp
echo "You have unpacked the last part"
exit 0