home *** CD-ROM | disk | FTP | other *** search
/ MS DOS Archives 1 / MS-DOS_Archives_Volume_One_Walnut_Creek.iso / msdos / gnuish / make358.arc / patches2 < prev    next >
Text File  |  1990-09-22  |  20KB  |  752 lines

  1. *** e:\tmp/RCSt1005284    Mon Sep 10 01:12:34 1990
  2. --- makefile    Sun Sep 09 17:57:54 1990
  3. ***************
  4. *** 1,4 ****
  5. ! # Copyright (C) 1988, 1989 Free Software Foundation, Inc.
  6.   # This file is part of GNU Make.
  7.   # 
  8.   # GNU Make is free software; you can redistribute it and/or modify
  9. --- 1,4 ----
  10. ! ## Copyright (C) 1988, 1989 Free Software Foundation, Inc.
  11.   # This file is part of GNU Make.
  12.   # 
  13.   # GNU Make is free software; you can redistribute it and/or modify
  14. ***************
  15. *** 28,39 ****
  16.   # MORE IMPORTANT:
  17.   # This port comes with ABSOLUTELY NO WARRANTY.
  18.   #
  19. ! # $Header: e:/gnu/make/RCS/makefile.'v 3.58.0.10 90/07/24 10:19:16 tho Exp $
  20.   
  21.   #
  22.   #    Makefile for GNU Make
  23.   #
  24.   
  25.   BINDIR    = c:/bin
  26.   INSTALL    = cp
  27.   
  28. --- 28,40 ----
  29.   # MORE IMPORTANT:
  30.   # This port comes with ABSOLUTELY NO WARRANTY.
  31.   #
  32. ! # $Header: e:/gnu/make/RCS/makefile.'v 3.58.0.11 90/08/27 02:57:13 tho Exp $
  33.   
  34.   #
  35.   #    Makefile for GNU Make
  36.   #
  37.   
  38. + VPATH    = d:/usr/lib;d:/usr/include
  39.   BINDIR    = c:/bin
  40.   INSTALL    = cp
  41.   
  42. ***************
  43. *** 49,75 ****
  44.   
  45.   # Compiler configuration:
  46.   
  47. ! defines = -DUSG -DNO_LDAV -DNO_FLOAT
  48.   
  49.   ifeq ($(BUILD),debug)
  50. ! CFLAGS    = $(defines) -FPa -AL -Od -Zi -W4 -DSTDC_HEADERS
  51.   CRIPPLED_CFLAGS = $(CFLAGS)
  52. ! LDFLAGS = /st:0x8000/map/co
  53.   else
  54. ! CFLAGS    = $(defines) -FPa -AL -Ox -W4 -DSTDC_HEADERS
  55. ! CRIPPLED_CFLAGS = $(defines) -FPa -AL -Od -W4 -DSTDC_HEADERS
  56. ! LDFLAGS = /st:0x8000/map/e
  57.   endif
  58.   
  59.   # Files:
  60.   
  61.   # MS-DOS specific files (not in the GNU distribution)
  62. ! DOSOBJ    = msd_dir.obj zipscan.obj
  63. ! DOSSRC    = msd_dir.c zipscan.c
  64.   DOSINC    = msd_dir.h
  65. ! SWAPOBJ    = swap.obj spawn.obj
  66. ! SWAPSRC    = swap.c spawn.c
  67. ! SWAPINC    =
  68.   
  69.   # If you don't want archive support, comment these out.
  70.   AROBJ    = ar.obj
  71. --- 50,77 ----
  72.   
  73.   # Compiler configuration:
  74.   
  75. ! defines = -DUSG -DNO_LDAV -DNO_FLOAT -DSTDC_HEADERS -DSMART_SHELL -DUSE_XMS
  76.   
  77.   ifeq ($(BUILD),debug)
  78. ! CFLAGS    = $(defines) -FPa -AL -Od -Zi -W4
  79.   CRIPPLED_CFLAGS = $(CFLAGS)
  80. ! LDFLAGS = /st:0x8000/map/noe/co
  81.   else
  82. ! CFLAGS    = $(defines) -FPa -AL -Ox -W4
  83. ! CRIPPLED_CFLAGS = $(defines) -FPa -AL -Od -W4
  84. ! LDFLAGS = /st:0x8000/map/noe/e
  85.   endif
  86.   
  87.   # Files:
  88.   
  89.   # MS-DOS specific files (not in the GNU distribution)
  90. ! DOSOBJ    = msd_dir.obj _cwild.obj zipscan.obj
  91. ! DOSSRC    = msd_dir.c _cwild.c zipscan.c
  92.   DOSINC    = msd_dir.h
  93. ! SWAPLIB    = swaplibl.lib
  94. ! SWAPOBJ    = swap.obj
  95. ! SWAPSRC    = swap.c
  96. ! SWAPINC    = swaplib.h
  97.   
  98.   # If you don't want archive support, comment these out.
  99.   AROBJ    = ar.obj
  100. ***************
  101. *** 83,98 ****
  102.   DISTSRC    = $(DISTOBJ:.obj=.c) remote-s.c version.c
  103.   DISTINC    = commands.h dep.h file.h job.h make.h rule.h variable.h
  104.   
  105. ! # Preserve the odering of object files!
  106.   # swap spawn ...
  107.   OBJS    = $(SWAPOBJ) $(DISTOBJ) $(AROBJ) $(DOSOBJ)
  108. ! SRCS    = $(SWAPSRC) $(DISTSRC) $(ARSRC) $(DOSSRC)
  109. ! INCS    = $(SWAPINC) $(DISTINC) $(ARINC) $(DOSINC)
  110.   
  111.   # Files for backup and patches:
  112.   RCSFILES= $(patsubst %, RCS/%'v, $(SRCS) $(INCS)) RCS/makefile.'v
  113.   MISC    = projects ChangeLog makepat mkpatch readme.dos make.dos
  114. - install: $(BINDIR)/make.exe
  115.   DISTFILES = $(patsubst %, dist/%, $(DISTSRC) $(ARSRC) $(DISTINC) $(ARINC))
  116.   DOSFILES = $(patsubst %, dos/%, $(SRCS) $(INCS) makefile)
  117.   
  118. --- 85,99 ----
  119.   DISTSRC    = $(DISTOBJ:.obj=.c) remote-s.c version.c
  120.   DISTINC    = commands.h dep.h file.h job.h make.h rule.h variable.h
  121.   
  122. ! # Preserve the ordering of object files!
  123.   # swap spawn ...
  124.   OBJS    = $(SWAPOBJ) $(DISTOBJ) $(AROBJ) $(DOSOBJ)
  125. ! SRCS    = $(DISTSRC) $(ARSRC) $(DOSSRC)
  126. ! INCS    = $(DISTINC) $(ARINC) $(DOSINC)
  127.   
  128.   # Files for backup and patches:
  129.   RCSFILES= $(patsubst %, RCS/%'v, $(SRCS) $(INCS)) RCS/makefile.'v
  130.   MISC    = projects ChangeLog makepat mkpatch readme.dos make.dos
  131.   DISTFILES = $(patsubst %, dist/%, $(DISTSRC) $(ARSRC) $(DISTINC) $(ARINC))
  132.   DOSFILES = $(patsubst %, dos/%, $(SRCS) $(INCS) makefile)
  133.   
  134. ***************
  135. *** 111,130 ****
  136.   
  137.   gnumake.exe: $(OBJS) version.c
  138.       $(CC) $(CFLAGS) -c version.c
  139. !     $(LINK) $(LDFLAGS) $(OBJS) version, $@;
  140.   
  141.   # Well, here optimization is dangerous... (inline assembler etc.)
  142.   swap.obj: swap.c
  143. !     $(CC) $(CRIPPLED_CFLAGS) -c $*.c
  144.   
  145.   # MSC 6.0 bombs with `-Ox'
  146. ! main.obj : main.c make.h commands.h dep.h file.h variable.h job.h
  147. !     $(CC) $(CRIPPLED_CFLAGS) -c $*.c
  148. ! # debugging
  149. ! swap.exe: swap.c spawn.c
  150. !     $(CC) $(CRIPPLED_CFLAGS) -DTEST -Zi -Fe$@ swap.c spawn.c
  151. !     rm -f swap.obj spawn.obj
  152.   
  153.   
  154.   # Standard utilities:
  155. --- 112,126 ----
  156.   
  157.   gnumake.exe: $(OBJS) version.c
  158.       $(CC) $(CFLAGS) -c version.c
  159. !     $(LINK) $(LDFLAGS) $(OBJS) version setargv,$@,gnumake.map,$(SWAPLIB),
  160.   
  161.   # Well, here optimization is dangerous... (inline assembler etc.)
  162.   swap.obj: swap.c
  163. !     $(CC) $(CRIPPLED_CFLAGS) -c $<
  164.   
  165.   # MSC 6.0 bombs with `-Ox'
  166. ! main.obj : main.c make.h commands.h dep.h file.h variable.h job.h $(SWAPINC)
  167. !     $(CC) $(CRIPPLED_CFLAGS) -c $<
  168.   
  169.   
  170.   # Standard utilities:
  171. ***************
  172. *** 175,190 ****
  173.   
  174.   # Dependencies:
  175.   
  176. ! ar.obj: make.h file.h 
  177.   commands.obj: make.h dep.h commands.h file.h variable.h job.h
  178.   default.obj: make.h rule.h dep.h file.h commands.h variable.h
  179.   dir.obj: make.h msd_dir.h
  180.   expand.obj: make.h commands.h file.h variable.h
  181.   file.obj: make.h commands.h dep.h file.h variable.h
  182. ! function.obj: make.h variable.h dep.h commands.h job.h
  183.   glob.obj: msd_dir.h
  184.   implicit.obj: make.h rule.h dep.h file.h
  185. ! job.obj: make.h commands.h job.h file.h variable.h
  186.   load.obj: make.h commands.h job.h
  187.   misc.obj: make.h dep.h
  188.   msd_dir.obj: msd_dir.h
  189. --- 171,186 ----
  190.   
  191.   # Dependencies:
  192.   
  193. ! ar.obj: make.h file.h
  194.   commands.obj: make.h dep.h commands.h file.h variable.h job.h
  195.   default.obj: make.h rule.h dep.h file.h commands.h variable.h
  196.   dir.obj: make.h msd_dir.h
  197.   expand.obj: make.h commands.h file.h variable.h
  198.   file.obj: make.h commands.h dep.h file.h variable.h
  199. ! function.obj: make.h variable.h dep.h commands.h job.h $(SWAPINC)
  200.   glob.obj: msd_dir.h
  201.   implicit.obj: make.h rule.h dep.h file.h
  202. ! job.obj: make.h commands.h job.h file.h variable.h $(SWAPINC)
  203.   load.obj: make.h commands.h job.h
  204.   misc.obj: make.h dep.h
  205.   msd_dir.obj: msd_dir.h
  206. *** e:\tmp/RCSt1005284    Mon Sep 10 01:12:38 1990
  207. --- commands.c    Tue Sep 04 03:15:12 1990
  208. ***************
  209. *** 30,36 ****
  210.    * MORE IMPORTANT:
  211.    * This port comes with ABSOLUTELY NO WARRANTY.
  212.    *
  213. !  * $Header: e:/gnu/make/RCS/commands.c'v 3.58.0.3 90/07/18 22:23:13 tho Exp $
  214.    */
  215.   
  216.   #include "make.h"
  217. --- 30,36 ----
  218.    * MORE IMPORTANT:
  219.    * This port comes with ABSOLUTELY NO WARRANTY.
  220.    *
  221. !  * $Header: e:/gnu/make/RCS/commands.c'v 3.58.0.4 90/08/27 01:24:46 tho Exp $
  222.    */
  223.   
  224.   #include "make.h"
  225. ***************
  226. *** 41,47 ****
  227.   #include "job.h"
  228.   
  229.   #ifdef MSDOS            /* really ? */
  230. ! #define    sigmask(signal)        signal
  231.   #endif /* MSDOS */
  232.   
  233.   #ifndef    sigmask
  234. --- 41,47 ----
  235.   #include "job.h"
  236.   
  237.   #ifdef MSDOS            /* really ? */
  238. ! #define    sigmask(signal)        1
  239.   #endif /* MSDOS */
  240.   
  241.   #ifndef    sigmask
  242. ***************
  243. *** 357,368 ****
  244.     new_job (file);
  245.   }
  246.   
  247. - #ifdef MSDOS
  248. - #define    PROPAGATED_SIGNAL_MASK    (sigmask (SIGINT))
  249. - #else /* not MSDOS */
  250.   #define    PROPAGATED_SIGNAL_MASK \
  251.     (sigmask (SIGTERM) | sigmask (SIGINT) | sigmask (SIGHUP) | sigmask (SIGQUIT))
  252. - #endif /* not MSDOS */
  253.   
  254.   /* Handle fatal signals.  */
  255.   
  256. --- 357,364 ----
  257. *** e:\tmp/RCSt1005284    Mon Sep 10 01:12:54 1990
  258. --- function.c    Sun Sep 09 21:59:06 1990
  259. ***************
  260. *** 45,67 ****
  261.   #include <io.h>
  262.   #include <time.h>
  263.   #include <process.h>
  264.   
  265.   extern int last_child_pid;
  266.   extern int last_child_status;
  267. - extern int swap_and_spawnvpe (char *device, char *cmd, char **argv,
  268. -                   char **envvec);
  269. - extern char *mktmpname (char *prefix);
  270. - struct stringlist
  271. -   {
  272. -     char **list;    /* Nil-terminated list of strings.  */
  273. -     unsigned int idx;    /* Index into above.  */
  274. -     unsigned int max;    /* Number of pointers allocated.  */
  275. -   };
  276. - extern struct stringlist *swapping_device;
  277.   #endif /* MSDOS */
  278.   
  279.   #ifndef MSDOS
  280. --- 45,54 ----
  281.   #include <io.h>
  282.   #include <time.h>
  283.   #include <process.h>
  284. + #include <swaplib.h>
  285.   
  286.   extern int last_child_pid;
  287.   extern int last_child_status;
  288.   #endif /* MSDOS */
  289.   
  290.   #ifndef MSDOS
  291. ***************
  292. *** 363,369 ****
  293.     extern char **construct_command_argv ();
  294.     char **argv;
  295.     int save_stdout;
  296. !   char *pipe_file = mktmpname ("pi");
  297.     int pipe_fds;
  298.     char *buffer = (char *) xmalloc (201);
  299.     unsigned int maxlen = 200;
  300. --- 350,356 ----
  301.     extern char **construct_command_argv ();
  302.     char **argv;
  303.     int save_stdout;
  304. !   char *pipe_file = swap_mktmpname ("pi");
  305.     int pipe_fds;
  306.     char *buffer = (char *) xmalloc (201);
  307.     unsigned int maxlen = 200;
  308. ***************
  309. *** 418,426 ****
  310.   
  311.             last_child_pid = pid = abs ((int) clock());    /* reasonably random */
  312.   
  313. !     last_child_status =
  314. !       swap_and_spawnvpe (swapping_device ? swapping_device->list[0] : NULL,
  315. !                 argv[0], argv, environ);
  316.   
  317.       dup2 (save_stdout, 1);            /* reset stdout */
  318.       if (lseek (pipe_fds, 0L, SEEK_SET) == -1L)
  319. --- 405,411 ----
  320.   
  321.             last_child_pid = pid = abs ((int) clock());    /* reasonably random */
  322.   
  323. !     last_child_status = swap_spawnvpe (argv[0], argv, environ);
  324.   
  325.       dup2 (save_stdout, 1);            /* reset stdout */
  326.       if (lseek (pipe_fds, 0L, SEEK_SET) == -1L)
  327. *** e:\tmp/RCSt1005284    Mon Sep 10 01:13:16 1990
  328. --- job.c    Sun Sep 09 21:54:06 1990
  329. ***************
  330. *** 30,36 ****
  331.    * MORE IMPORTANT:
  332.    * This port comes with ABSOLUTELY NO WARRANTY.
  333.    *
  334. !  * $Header: e:/gnu/make/RCS/job.c'v 3.58.0.6 90/07/22 14:31:11 tho Exp $
  335.    */
  336.   
  337.   #include "make.h"
  338. --- 30,36 ----
  339.    * MORE IMPORTANT:
  340.    * This port comes with ABSOLUTELY NO WARRANTY.
  341.    *
  342. !  * $Header: e:/gnu/make/RCS/job.c'v 3.58.0.7 90/08/27 01:24:50 tho Exp $
  343.    */
  344.   
  345.   #include "make.h"
  346. ***************
  347. *** 56,76 ****
  348.   #include <process.h>
  349.   #include <io.h>
  350.   
  351.   int last_child_pid = 0;            /* no child started yet ... */
  352.   int last_child_status = 0;
  353.   
  354. - struct stringlist
  355. -   {
  356. -     char **list;    /* Nil-terminated list of strings.  */
  357. -     unsigned int idx;    /* Index into above.  */
  358. -     unsigned int max;    /* Number of pointers allocated.  */
  359. -   };
  360. - extern struct stringlist *swapping_device;
  361. - extern int swap_and_spawnvpe (char *device, char *cmd, char **argv,
  362. -                   char **envvec);
  363.   #endif /* MSDOS */
  364.   
  365.   #if    defined(USG) && !defined(HAVE_VFORK)
  366. --- 56,66 ----
  367.   #include <process.h>
  368.   #include <io.h>
  369.   
  370. + #include <swaplib.h>
  371.   int last_child_pid = 0;            /* no child started yet ... */
  372.   int last_child_status = 0;
  373.   
  374.   #endif /* MSDOS */
  375.   
  376.   #if    defined(USG) && !defined(HAVE_VFORK)
  377. ***************
  378. *** 657,670 ****
  379.     /* LAST_CHILD_STATUS and LAST_CHILD_PID will be used by our
  380.        (faked) wait for MS-DOS to bury this 'child' */
  381.   
  382. !   last_child_status
  383. !     = swap_and_spawnvpe (swapping_device ? swapping_device->list[0] : NULL,
  384. !             argv[0], argv, child->environment);
  385.   
  386.     last_child_pid = child->pid;
  387.   
  388.     if (last_child_status == -1)
  389. !     pfatal_with_name ("vm_spawnvp");
  390.   
  391.     child->file->command_state = cs_running;    /* in *some* sense ...  */
  392.   
  393. --- 647,658 ----
  394.     /* LAST_CHILD_STATUS and LAST_CHILD_PID will be used by our
  395.        (faked) wait for MS-DOS to bury this 'child' */
  396.   
  397. !   last_child_status = swap_spawnvpe (argv[0], argv, child->environment);
  398.   
  399.     last_child_pid = child->pid;
  400.   
  401.     if (last_child_status == -1)
  402. !     pfatal_with_name (argv[0]);
  403.   
  404.     child->file->command_state = cs_running;    /* in *some* sense ...  */
  405.   
  406. ***************
  407. *** 1348,1363 ****
  408.   
  409.   #ifdef MSDOS
  410.   
  411. ! /* fake a wait ... */
  412.   
  413.   int
  414.   wait (WAIT_T *status)
  415.    {
  416. !    int temp = last_child_pid;        /* the last child we spawned */
  417. !    *status = last_child_status << 8;    /* it's return code (not a signal) */
  418. !    last_child_pid = 0;            /* the only child ... */
  419. !    return temp;
  420.    }
  421.   
  422.   #endif    /* MSDOS */
  423.   
  424. --- 1336,1427 ----
  425.   
  426.   #ifdef MSDOS
  427.   
  428. ! /* Here we fake a wait () ... */
  429.   
  430.   int
  431.   wait (WAIT_T *status)
  432.    {
  433. !    int pid = last_child_pid;
  434. !    /* Swap the high and low byte of the STATUS word:
  435. !       error codes > 256  (e.g. those generated by spawn_child ())
  436. !       will be interpreted as signals and cause the target to be
  437. !       deleted.  In any case, we mask off the coredump bit.  */
  438. !    *status = (last_child_status << 8) + ((last_child_status >> 8) & 0x7f);
  439. !    /* This was the only child .... */
  440. !    last_child_pid = 0;
  441. !    return pid;
  442.    }
  443. + /* Interface to swaplib.  */
  444. + #define DELIMITER ":"
  445. + static char *smart_programs (void);
  446. + int
  447. + swap_smart_p (char *name)
  448. + {
  449. +   char *list = smart_programs ();
  450. +   char *tok;
  451. +   tok = strtok (list, DELIMITER);
  452. +   while (tok && strcmp (tok, name))
  453. +     tok = strtok (NULL, DELIMITER);
  454. +   free (list);
  455. +   return (tok != NULL);
  456. + }
  457. + char *
  458. + smart_programs (void)
  459. + {
  460. +   struct variable *smart
  461. +     = lookup_variable ("LONGARGS", sizeof ("LONGARGS") - 1);
  462. +   char *string;
  463. +   if (smart && smart->value)
  464. +     {
  465. +       string = (char *) xmalloc (strlen (smart->value) + 1);
  466. +       strcpy (string, smart->value);
  467. +     }
  468. +   else
  469. +     {
  470. +       string = (char *) xmalloc (1);
  471. +       strcpy (string, "");
  472. +     }
  473. +   return string;
  474. + }
  475. + enum swap_swapping_mode
  476. + swap_set_swapping_mode (char *cmd, char **argv)
  477. + {
  478. +   /* Default to XMS.  */
  479. +   enum swap_swapping_mode mode = xms;
  480. +   struct variable *swapping
  481. +     = lookup_variable ("SWAPPING", sizeof ("SWAPPING") - 1);
  482. +   if (!swapping || !(swapping->value))
  483. +     return mode;
  484. +   if (strcmp ("xms", swapping->value) == 0)
  485. +     mode = xms;
  486. +   else if (strcmp ("ems", swapping->value) == 0)
  487. +     mode = ems;
  488. +   else if (strcmp ("disk", swapping->value) == 0)
  489. +     mode = disk;
  490. +   else if (strcmp ("none", swapping->value) == 0)
  491. +     mode = none;
  492. +   return mode;
  493. + }
  494.   
  495.   #endif    /* MSDOS */
  496.   
  497. *** e:\tmp/RCSt1005284    Mon Sep 10 01:13:32 1990
  498. --- main.c    Sun Sep 09 17:38:40 1990
  499. ***************
  500. *** 29,35 ****
  501.    * MORE IMPORTANT:
  502.    * This port comes with ABSOLUTELY NO WARRANTY.
  503.    *
  504. !  * $Header: e:/gnu/make/RCS/main.c'v 3.58.0.6 90/07/22 18:55:19 tho Exp $
  505.    */
  506.   
  507.   #include "make.h"
  508. --- 29,35 ----
  509.    * MORE IMPORTANT:
  510.    * This port comes with ABSOLUTELY NO WARRANTY.
  511.    *
  512. !  * $Header: e:/gnu/make/RCS/main.c'v 3.58.0.7 90/08/27 01:25:08 tho Exp $
  513.    */
  514.   
  515.   #include "make.h"
  516. ***************
  517. *** 43,52 ****
  518.   
  519.   #ifdef MSDOS
  520.   #include <process.h>
  521.   extern char *msdos_version_string;
  522. - extern int swap_and_spawnvpe (char *device, char *cmd, char **argv,
  523. -                   char **envvec);
  524. - extern char *msdos_format_filename (char *name);
  525.   #endif /* MSDOS */
  526.   
  527.   extern char *version_string;
  528. --- 43,50 ----
  529.   
  530.   #ifdef MSDOS
  531.   #include <process.h>
  532. + #include <swaplib.h>
  533.   extern char *msdos_version_string;
  534.   #endif /* MSDOS */
  535.   
  536.   extern char *version_string;
  537. ***************
  538. *** 244,256 ****
  539.   
  540.   static struct stringlist *new_files = 0;
  541.   
  542. - #ifdef MSDOS
  543. - /* String describing the swapping mode to be used.
  544. -    (one of "xms, ems, disk, none") */
  545. -  
  546. - struct stringlist *swapping_device = NULL;
  547. - #endif /* MSDOS */
  548.   /* The table of command switches.  */
  549.   
  550.   static struct command_switch switches[] =
  551. --- 242,247 ----
  552. ***************
  553. *** 279,287 ****
  554.       { 'v', flag, (char *) &print_version_flag, 0, 0, 0, 0 },
  555.       { 'w', flag, (char *) &print_directory_flag, 1, 1, 0, 0 },
  556.       { 'W', string, (char *) &new_files, 0, 0, 0, 0 },
  557. - #ifdef MSDOS
  558. -     { 'x', string, (char *) &swapping_device, 0, 0, 0, 0 },
  559. - #endif /* MSDOS */
  560.       { '\0', ignore, 0, 0, 0, 0 }
  561.     };
  562.   
  563. --- 270,275 ----
  564. ***************
  565. *** 410,419 ****
  566.   
  567.     /* Figure out where this program lives.  */
  568.   
  569. - #ifdef MSDOS            /* cosmetics */
  570. -   msdos_format_filename (argv[0]);
  571. - #endif /* MSDOS */
  572.     if (argv[0] == 0)
  573.       argv[0] = "";
  574.     if (argv[0][0] == '\0')
  575. --- 398,403 ----
  576. ***************
  577. *** 435,445 ****
  578.   #endif
  579.     if (getwd (current_directory) == 0)
  580.       {
  581. - #ifdef MSDOS
  582. -       error ("getwd: %s", msdos_format_filename (current_directory));
  583. - #else /* not MSDOS */
  584.         error ("getwd: %s", current_directory);
  585. - #endif /* not MSDOS */
  586.         current_directory[0] = '\0';
  587.       }
  588.   #ifdef    USG
  589. --- 419,425 ----
  590. ***************
  591. *** 909,916 ****
  592.           break;
  593.             }
  594.   #ifdef MSDOS        /* MSC'c execve () will fail with our spawn(). */
  595. !       exit (swap_and_spawnvpe (swapping_device
  596. !         ? swapping_device->list[0] : NULL, argv[0], argv, environ));
  597.   #else /* not MSDOS */
  598.         exec_command (argv, environ,
  599.               allocated_variable_expand ("$(PATH)"),
  600. --- 889,895 ----
  601.           break;
  602.             }
  603.   #ifdef MSDOS        /* MSC'c execve () will fail with our spawn(). */
  604. !       exit (swap_spawnvpe (argv[0], argv, environ));
  605.   #else /* not MSDOS */
  606.         exec_command (argv, environ,
  607.               allocated_variable_expand ("$(PATH)"),
  608. ***************
  609. *** 1326,1332 ****
  610.   
  611.   #ifdef MSDOS
  612.     printf ("%sMS-DOS port (C) 1990 by Thorsten Ohl <td12@ddagsi3.bitnet>\n\
  613. ! %sthis is an alpha version, compiled %s.\n\n",
  614.         precede, precede, msdos_version_string);
  615.   #endif /* MSDOS */
  616.   
  617. --- 1305,1311 ----
  618.   
  619.   #ifdef MSDOS
  620.     printf ("%sMS-DOS port (C) 1990 by Thorsten Ohl <td12@ddagsi3.bitnet>\n\
  621. ! %sthis is a beta version, compiled %s.\n\n",
  622.         precede, precede, msdos_version_string);
  623.   #endif /* MSDOS */
  624.   
  625. ***************
  626. *** 1439,1454 ****
  627.     block_children ();
  628.   #endif
  629.     if (getwd (pwdbuf) == 0)
  630. - #ifdef MSDOS
  631. -     printf ("an unknown directory (getwd: %s)\n",
  632. -         msdos_format_filename (pwdbuf));
  633. -   else
  634. -     printf ("directory `%s'\n", msdos_format_filename (pwdbuf));
  635. - #else /* not MSDOS */
  636.       printf ("an unknown directory (getwd: %s)\n", pwdbuf);
  637.     else
  638.       printf ("directory `%s'\n", pwdbuf);
  639. - #endif /* not MSDOS */
  640.   #ifdef    USG
  641.     unblock_children ();
  642.   #endif
  643. --- 1418,1426 ----
  644. *** e:\tmp/RCSt1005284    Mon Sep 10 01:13:40 1990
  645. --- misc.c    Tue Sep 04 03:19:04 1990
  646. ***************
  647. *** 29,35 ****
  648.    * MORE IMPORTANT:
  649.    * This port comes with ABSOLUTELY NO WARRANTY.
  650.    *
  651. !  * $Header: e:/gnu/make/RCS/misc.c'v 3.58.0.2 90/07/18 23:08:20 tho Exp $
  652.    */
  653.   
  654.   #include "make.h"
  655. --- 29,35 ----
  656.    * MORE IMPORTANT:
  657.    * This port comes with ABSOLUTELY NO WARRANTY.
  658.    *
  659. !  * $Header: e:/gnu/make/RCS/misc.c'v 3.58.0.3 90/08/27 01:25:01 tho Exp $
  660.    */
  661.   
  662.   #include "make.h"
  663. ***************
  664. *** 467,487 ****
  665.     return dep->name == 0 ? dep->file->name : dep->name;
  666.   }
  667.   #endif
  668. - #ifdef MSDOS
  669. - #include <ctype.h>
  670. - /* Filenames returned by MS-DOS system calls are formatted very ugly:
  671. -    all uppercase and backslashes.  Perform some cosmetics.  */
  672. - char *
  673. - msdos_format_filename (char *name)
  674. - {
  675. -   char *p = name;
  676. -   while (*p = (*p == '\\') ? '/' : tolower (*p))
  677. -     p++;
  678. -   return name;
  679. - }
  680. - #endif /* MSDOS */
  681. --- 467,469 ----
  682. *** e:\tmp/RCSt1005284    Mon Sep 10 01:14:24 1990
  683. --- make.h    Tue Sep 04 03:15:14 1990
  684. ***************
  685. *** 29,35 ****
  686.    * MORE IMPORTANT:
  687.    * This port comes with ABSOLUTELY NO WARRANTY.
  688.    *
  689. !  * $Header: e:/gnu/make/RCS/make.h'v 3.58.0.2 90/07/17 03:32:52 tho Exp $
  690.    */
  691.   
  692.   #include <signal.h>
  693. --- 29,35 ----
  694.    * MORE IMPORTANT:
  695.    * This port comes with ABSOLUTELY NO WARRANTY.
  696.    *
  697. !  * $Header: e:/gnu/make/RCS/make.h'v 3.58.0.3 90/08/27 01:25:24 tho Exp $
  698.    */
  699.   
  700.   #include <signal.h>
  701. ***************
  702. *** 271,277 ****
  703. --- 271,282 ----
  704.   
  705.   #ifdef    USG
  706.   extern char *getcwd ();
  707. + #ifdef MSDOS
  708. + extern char *msdos_format_filename (char *name);
  709. + #define    getwd(buf)    msdos_format_filename (getcwd (buf, MAXPATHLEN - 2))
  710. + #else /* not MSDOS */
  711.   #define    getwd(buf)    getcwd (buf, MAXPATHLEN - 2)
  712. + #endif /* not MSDOS */
  713.   #else    /* Not USG.  */
  714.   extern char *getwd ();
  715.   #endif    /* USG.  */
  716.