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