Compare commits

...

50 Commits

Author SHA1 Message Date
Roland McGrath
4ea152e71b Regenerated 1995-04-27 16:57:09 +00:00
Roland McGrath
443f39f4f7 Regenerated for 3.73.2 1995-04-27 16:56:40 +00:00
Roland McGrath
675981bc4f Updated from libc 1995-04-27 16:43:27 +00:00
Roland McGrath
11af972f87 . 1995-04-27 16:41:39 +00:00
Roland McGrath
d9c126da40 . 1995-04-27 16:41:12 +00:00
Roland McGrath
7170467928 . 1995-04-27 16:37:56 +00:00
Roland McGrath
81699266d3 (remove_intermediates): Fix inverted test to bail under -n for signal case.
Bail under -q or -t.
Skip files with update_status==-1.
1995-04-26 21:27:19 +00:00
Roland McGrath
cbdb3653da [HAVE_UNISTD_H]: Include unistd.h so it can declare sys_siglist. 1995-04-26 21:19:26 +00:00
Roland McGrath
5d82479d89 (job_next_command): Skip empty lines.
(new_job): Don't test the return of job_next_command.
Just let start_waiting_job handle the case of empty commands.
1995-04-26 21:15:25 +00:00
Roland McGrath
ed0d607279 . 1995-04-19 22:20:52 +00:00
Roland McGrath
855bd6896d [__MSDOS__]: Include <fcntl.h>. From DJ Delorie. 1995-04-19 18:09:30 +00:00
Roland McGrath
179ef370e8 Regenerated for 3.73.1 1995-04-19 07:29:56 +00:00
Roland McGrath
01dc9a22f9 Updated from libc 1995-04-19 07:28:27 +00:00
Roland McGrath
bc15ada5ed . 1995-04-19 07:26:32 +00:00
Roland McGrath
fce5e4a9b9 . 1995-04-08 18:54:00 +00:00
Roland McGrath
07a45cd0af (notice_finished_file): Set FILE->update_status to zero if it's -1. 1995-04-08 18:52:42 +00:00
Roland McGrath
226a132e31 (CPPFLAGS): Use $(defines) too. 1995-04-05 04:53:56 +00:00
Roland McGrath
b59f5f30b9 Regenerated for 3.73 1995-04-05 04:41:14 +00:00
Roland McGrath
acdd73ea34 . 1995-04-05 04:21:27 +00:00
Roland McGrath
38b5b27eb5 Add '95 to copyright years. 1995-04-05 03:32:21 +00:00
Roland McGrath
e8325b9be2 (Options/Recursion): Correction: -I is indeed passed in MAKEFLAGS. 1995-04-05 03:29:01 +00:00
Roland McGrath
f8eb0fc41b . 1995-03-30 10:02:35 +00:00
Roland McGrath
ea38e1fe78 (main): Fixed braino in assert. 1995-03-28 18:59:57 +00:00
Roland McGrath
ed276c008d Regenerated for 3.72.13 1995-03-28 18:28:18 +00:00
Roland McGrath
910d25619e (CPPFLAGS): Use $(CPPFLAGS) instead of $(defines). 1995-03-28 18:24:20 +00:00
Roland McGrath
2ae5430550 Remade with Autoconf 2.3 1995-03-28 18:04:30 +00:00
Roland McGrath
e53ac8a6fc . 1995-03-27 10:55:57 +00:00
Roland McGrath
cb51d55ab2 Avoid string in assert expression. Some systems are broken. 1995-03-27 10:28:35 +00:00
Roland McGrath
0b4723a689 . 1995-03-27 10:02:36 +00:00
Roland McGrath
3f9ce84b4a Include <assert.h>. 1995-03-24 23:39:24 +00:00
Roland McGrath
bdbe8501c6 (main): Handle 1 and 2 returns from update_goal_chain makefile run
properly.
1995-03-24 23:27:05 +00:00
Roland McGrath
3a12be3a73 autoheader 1995-03-24 07:30:46 +00:00
Roland McGrath
2346f99368 Regenerated for 3.72.12 1995-03-24 07:28:53 +00:00
Roland McGrath
d855846472 . 1995-03-24 07:27:44 +00:00
Roland McGrath
b9f7d21e42 Regenerated 1995-03-24 06:37:24 +00:00
Roland McGrath
db089ad3e3 . 1995-03-24 05:58:13 +00:00
Roland McGrath
1331cca1fa (handle_non_switch_argument): New function, broken out of decode_switches.
(decode_switches): Set optind to 0 to reinitialize getopt, not to 1.  When
getopt_long returns EOF, break the loop and handle remaining args with a
simple second loop.
1995-03-24 05:56:41 +00:00
Roland McGrath
fe05aaf7f2 (update_file_1): Handle FILE->update_status == 2 in -d printout. 1995-03-24 05:40:22 +00:00
Roland McGrath
cc35ff7381 (remake_file): Set update_status to 2 instead of 1 for no rule to make.
Mention parent (dependent) in error message.
1995-03-24 05:33:31 +00:00
Roland McGrath
a146085382 (start_job_command, reap_children): Set update_status to 2 instead of 1
for failed commands.
1995-03-24 05:32:12 +00:00
Roland McGrath
79fcb77ad1 (signame_init): Define SIGINFO. 1995-03-21 21:44:32 +00:00
Roland McGrath
3608635ec6 (search_path): Function removed (was already #if 0'd out). 1995-03-21 21:24:36 +00:00
Roland McGrath
ca53696814 Remove AC_TYPE_GETGROUPS; nothing needs it any more. 1995-03-21 21:23:26 +00:00
Roland McGrath
61dac07200 Updated from libc 1995-03-17 21:17:43 +00:00
Roland McGrath
9e42026e08 . 1995-03-17 21:16:34 +00:00
Roland McGrath
b52ea79ee6 Write @CPPFLAGS@ translation. 1995-03-17 20:57:17 +00:00
Roland McGrath
e483431569 . 1995-03-13 05:51:54 +00:00
Roland McGrath
28b622b8a1 (stamp-glob): Remove $(globfiles), not the whole glob directory. 1995-03-13 05:51:44 +00:00
Roland McGrath
cbfc50cb51 (parse_file_seq): Rearranged l(a b)' -> l(a) l(b)' loop to not
skip the elt immediately preceding `l(...'.
1995-03-13 05:45:44 +00:00
Roland McGrath
deb7cced6e Regenerated for 3.72.11 1995-03-10 20:36:06 +00:00
21 changed files with 5368 additions and 364 deletions

View File

@@ -1,3 +1,75 @@
Thu Apr 27 12:39:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Version 3.73.2.
Wed Apr 26 17:15:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* file.c (remove_intermediates): Fix inverted test to bail under
-n for signal case. Bail under -q or -t.
Skip files with update_status==-1.
* job.c (job_next_command): Skip empty lines.
(new_job): Don't test the return of job_next_command.
Just let start_waiting_job handle the case of empty commands.
Wed Apr 19 03:25:54 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* function.c [__MSDOS__]: Include <fcntl.h>. From DJ Delorie.
* Version 3.73.1.
Sat Apr 8 14:53:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* remake.c (notice_finished_file): Set FILE->update_status to zero
if it's -1.
Wed Apr 5 00:20:24 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Version 3.73 released.
Tue Mar 28 13:25:46 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* main.c (main): Fixed braino in assert.
* Version 3.72.13.
Mon Mar 27 05:29:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* main.c: Avoid string in assert expression. Some systems are broken.
Fri Mar 24 00:32:32 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* main.c (main): Handle 1 and 2 returns from update_goal_chain
makefile run properly.
* Version 3.72.12.
* main.c (handle_non_switch_argument): New function, broken out of
decode_switches.
(decode_switches): Set optind to 0 to reinitialize getopt, not to 1.
When getopt_long returns EOF, break the loop and handle remaining args
with a simple second loop.
* remake.c (remake_file): Set update_status to 2 instead of 1 for
no rule to make. Mention parent (dependent) in error message.
(update_file_1): Handle FILE->update_status == 2 in -d printout.
* job.c (start_job_command, reap_children): Set update_status to 2
instead of 1 for failed commands.
Tue Mar 21 16:23:38 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* job.c (search_path): Function removed (was already #if 0'd out).
* configure.in: Remove AC_TYPE_GETGROUPS; nothing needs it any more.
Fri Mar 17 15:57:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* configure.bat: Write @CPPFLAGS@ translation.
Mon Mar 13 00:45:59 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* read.c (parse_file_seq): Rearranged `l(a b)' -> `l(a) l(b)' loop
to not skip the elt immediately preceding `l(...'.
Fri Mar 10 13:56:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Version 3.72.11.
@@ -64,7 +136,7 @@ Fri Feb 10 18:44:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Version 3.72.6.
* job.c (start_job_command): Remember to call notice_finsihed_file
* job.c (start_job_command): Remember to call notice_finished_file
under -n when not recursing. To do this, consolidate that code
under the empty command case and goto there for the -n case.

4980
ChangeLog.1 Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
# GNU Make-specific makefile for GNU Make.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
# Copyright (C) 1990, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
# This file is part of GNU Make.
#
# GNU Make is free software; you can redistribute it and/or modify
@@ -50,6 +50,7 @@ exec_prefix = $(prefix)
extras := $(filter-out getloadavg.o @%@,$(extras)) getloadavg.o
LOADLIBES := $(filter-out @%@,$(LOADLIBES))
ALLOCA := $(filter-out @%@,$(ALLOCA))
CPPFLAGS := $(filter-out @%@,$(defines) $(CPPFLAGS)) -DHAVE_CONFIG_H
ifdef AC_MACRODIR
configure config.h.in: $(patsubst %,$(AC_MACRODIR)/%.m4,acspecific acgeneral)
@@ -92,8 +93,6 @@ GLOB =
else
CPPFLAGS := $(filter-out @%@,$(CPPFLAGS)) -Iglob
endif # works-for-make
endif # $(libc_dir)
endif # !no_libc
@@ -114,7 +113,7 @@ $(archpfx)load.o: load.c
$(archpfx)load.dep: load.c
$(mkdep) $(LOAD_AVG) $< | sed 's,$*\.o,& $@,' > $@
CPPFLAGS := -I$(ARCH) $(CPPFLAGS) -DHAVE_CONFIG_H $(filter-out @%@,$(defines))
CPPFLAGS := -I$(ARCH) -DHAVE_CONFIG_H $(filter-out @%@,$(CPPFLAGS))
ifneq "$(wildcard $(ARCH)/makefile)" ""
include $(ARCH)/makefile
@@ -155,7 +154,7 @@ globfiles = $(addprefix glob/,COPYING.LIB configure.in configure Makefile.in \
configure.bat glob.c fnmatch.c glob.h fnmatch.h)
$(globfiles): stamp-glob ;
stamp-glob: /home/gd/gnu/libc/posix/glob.tar
-rm -rf glob
-rm -f $(globfiles)
tar xvf $< glob
cvs commit -m'Updated from libc' glob
touch $@

View File

@@ -284,7 +284,7 @@ $(objs): config.h
commands.o : commands.c make.h dep.h commands.h file.h variable.h job.h
job.o: job.c make.h commands.h job.h file.h variable.h
dir.o: dir.c make.h
file.o : file.c make.h commands.h dep.h file.h variable.h
file.o: file.c make.h commands.h dep.h file.h variable.h
misc.o: misc.c make.h dep.h
main.o: main.c make.h commands.h dep.h file.h variable.h job.h getopt.h
read.o: read.c make.h commands.h dep.h file.h variable.h glob/glob.h
@@ -294,7 +294,7 @@ implicit.o : implicit.c make.h rule.h dep.h file.h
default.o: default.c make.h rule.h dep.h file.h commands.h variable.h
variable.o : variable.c make.h commands.h variable.h dep.h file.h
expand.o: expand.c make.h commands.h file.h variable.h
function.o : function.c make.h variable.h dep.h commands.h job.h
function.o: function.c make.h variable.h dep.h commands.h job.h
vpath.o : vpath.c make.h file.h variable.h
version.o: version.c
ar.o : ar.c make.h file.h dep.h

2
README
View File

@@ -1,4 +1,4 @@
This directory contains the 3.72.10 test release of GNU Make.
This directory contains the 3.73.2 test release of GNU Make.
All bugs reported for previous test releases have been fixed.
Some bugs surely remain.

View File

@@ -20,10 +20,6 @@
/* Define for DGUX with <sys/dg_sys_info.h>. */
#undef DGUX
/* Define to the type of elements in the array set by `getgroups'.
Usually this is either `int' or `gid_t'. */
#undef GETGROUPS_T
/* Define if the `getloadavg' function needs to be run setuid or setgid. */
#undef GETLOADAVG_PRIVILEGED

153
configure vendored
View File

@@ -1,8 +1,8 @@
#! /bin/sh
# From configure.in Id: configure.in,v 1.47 1995/02/22 03:18:18 roland Alpha
# From configure.in Id: configure.in,v 1.48 1995/03/21 21:23:26 roland Exp
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.1.3
# Generated automatically using autoconf version 2.3
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -219,7 +219,7 @@ EOF
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
echo "configure generated by autoconf version 2.1.3"
echo "configure generated by autoconf version 2.3"
exit 0 ;;
-with-* | --with-*)
@@ -385,8 +385,8 @@ fi
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS -c 1>&5 2>&5'
ac_link='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS $LDFLAGS -o conftest $LIBS 1>&5 2>&5'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
@@ -973,77 +973,12 @@ EOF
EOF
fi
echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_type_getgroups=cross
else
cat > conftest.$ac_ext <<EOF
#line 985 "configure"
#include "confdefs.h"
/* Thanks to Mike Rendell for this test. */
#include <sys/types.h>
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))
main()
{
gid_t gidset[NGID];
int i, n;
union { gid_t gval; long lval; } val;
val.lval = -1;
for (i = 0; i < NGID; i++)
gidset[i] = val.gval;
n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
gidset);
/* Exit non-zero if getgroups seems to require an array of ints. This
happens when gid_t is short but getgroups modifies an array of ints. */
exit ((n > 0 && gidset[n] != val.gval) ? 1 : 0);
}
EOF
eval $ac_link
if test -s conftest && (./conftest; exit) 2>/dev/null; then
ac_cv_type_getgroups=gid_t
else
ac_cv_type_getgroups=int
fi
fi
rm -fr conftest*
if test $ac_cv_type_getgroups = cross; then
cat > conftest.$ac_ext <<EOF
#line 1020 "configure"
#include "confdefs.h"
#include <unistd.h>
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
egrep "getgroups.*int.*gid_t" >/dev/null 2>&1; then
rm -rf conftest*
ac_cv_type_getgroups=gid_t
else
rm -rf conftest*
ac_cv_type_getgroups=int
fi
rm -f conftest*
fi
fi
echo "$ac_t""$ac_cv_type_getgroups" 1>&6
cat >> confdefs.h <<EOF
#define GETGROUPS_T $ac_cv_type_getgroups
EOF
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1047 "configure"
#line 982 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -1074,7 +1009,7 @@ if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1078 "configure"
#line 1013 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -1115,7 +1050,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1119 "configure"
#line 1054 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
@@ -1191,7 +1126,7 @@ if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1195 "configure"
#line 1130 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1263,7 +1198,7 @@ if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1267 "configure"
#line 1202 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>
@@ -1325,7 +1260,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1329 "configure"
#line 1264 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1374,7 +1309,7 @@ if eval "test \"`echo '$''{'ac_cv_check_symbol_sys_siglist'+set}'`\" = set"; the
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1378 "configure"
#line 1313 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1406,7 +1341,7 @@ if eval "test \"`echo '$''{'ac_cv_check_symbol__sys_siglist'+set}'`\" = set"; th
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1410 "configure"
#line 1345 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1440,7 +1375,7 @@ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1444 "configure"
#line 1379 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() { return 0; }
@@ -1471,7 +1406,7 @@ if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1475 "configure"
#line 1410 "configure"
#include "confdefs.h"
#ifdef __GNUC__
@@ -1529,7 +1464,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1533 "configure"
#line 1468 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
@@ -1557,7 +1492,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1561 "configure"
#line 1496 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -1611,7 +1546,7 @@ else
ac_cv_c_stack_direction=0
else
cat > conftest.$ac_ext <<EOF
#line 1615 "configure"
#line 1550 "configure"
#include "confdefs.h"
find_stack_direction ()
{
@@ -1652,7 +1587,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1656 "configure"
#line 1591 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
@@ -1686,7 +1621,7 @@ else
ac_cv_func_vfork=no
else
cat > conftest.$ac_ext <<EOF
#line 1690 "configure"
#line 1625 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
@@ -1804,7 +1739,7 @@ else
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
#line 1808 "configure"
#line 1743 "configure"
#include "confdefs.h"
#include <stdio.h>
/* If setvbuf has the reversed format, exit 0. */
@@ -1848,7 +1783,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lelf $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1852 "configure"
#line 1787 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1881,7 +1816,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lkvm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1885 "configure"
#line 1820 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1915,7 +1850,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lutil $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1919 "configure"
#line 1854 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1953,7 +1888,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lgetloadavg $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1957 "configure"
#line 1892 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -1990,7 +1925,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1994 "configure"
#line 1929 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2048,7 +1983,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2052 "configure"
#line 1987 "configure"
#include "confdefs.h"
#include <sys/dg_sys_info.h>
EOF
@@ -2077,7 +2012,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldgc $LIBS"
cat > conftest.$ac_ext <<EOF
#line 2081 "configure"
#line 2016 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -2131,7 +2066,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2135 "configure"
#line 2070 "configure"
#include "confdefs.h"
#include <inq_stats/cpustats.h>
EOF
@@ -2170,7 +2105,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2174 "configure"
#line 2109 "configure"
#include "confdefs.h"
#include <sys/cpustats.h>
EOF
@@ -2207,7 +2142,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2211 "configure"
#line 2146 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
@@ -2243,7 +2178,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2247 "configure"
#line 2182 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
@@ -2270,7 +2205,7 @@ EOF
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2274 "configure"
#line 2209 "configure"
#include "confdefs.h"
#include <nlist.h>
int main() { return 0; }
@@ -2307,7 +2242,7 @@ if eval "test \"`echo '$''{'ac_cv_func_getloadavg_setgid'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2311 "configure"
#line 2246 "configure"
#include "confdefs.h"
#include "$srcdir/getloadavg.c"
#ifdef LDAV_PRIVILEGED
@@ -2362,7 +2297,7 @@ else
ac_cv_func_strcoll=no
else
cat > conftest.$ac_ext <<EOF
#line 2366 "configure"
#line 2301 "configure"
#include "confdefs.h"
#include <string.h>
main ()
@@ -2396,7 +2331,7 @@ if test $ac_cv_func_getdtablesize = no; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2400 "configure"
#line 2335 "configure"
#include "confdefs.h"
#include <unistd.h>
int main() { return 0; }
@@ -2433,7 +2368,7 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2437 "configure"
#line 2372 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
@@ -2467,7 +2402,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2471 "configure"
#line 2406 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2516,7 +2451,7 @@ if eval "test \"`echo '$''{'make_cv_union_wait'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2520 "configure"
#line 2455 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -2564,7 +2499,7 @@ if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2568 "configure"
#line 2503 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -2605,7 +2540,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsun $LIBS"
cat > conftest.$ac_ext <<EOF
#line 2609 "configure"
#line 2544 "configure"
#include "confdefs.h"
int main() { return 0; }
@@ -2751,7 +2686,7 @@ do
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
echo "$CONFIG_STATUS generated by autoconf version 2.1.3"
echo "$CONFIG_STATUS generated by autoconf version 2.3"
exit 0 ;;
-help | --help | --hel | --he | --h)
echo "\$ac_cs_usage"; exit 0 ;;
@@ -2762,7 +2697,7 @@ done
ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL"
trap 'rm -fr `echo Makefile build.sh config.h | tr : " "` conftest*; exit 1' 1 2 15
trap 'rm -fr `echo "Makefile build.sh config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
# Protect against being on the right side of a sed subst in config.status.
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;

View File

@@ -17,7 +17,8 @@ echo "} ">> config.sed
echo "s/@srcdir@/./ ">> config.sed
echo "s/@CC@/gcc/ ">> config.sed
echo "s/@CFLAGS@/-O2 -g -DHAVE_CONFIG_H/ ">> config.sed
echo "s/@CFLAGS@/-O2 -g/ ">> config.sed
echo "s/@CPPFLAGS@/-DHAVE_CONFIG_H/ ">> config.sed
echo "s/@LDFLAGS@// ">> config.sed
echo "s/@RANLIB@/ranlib/ ">> config.sed
echo "s/@DEFS@// ">> config.sed

View File

@@ -15,7 +15,6 @@ AC_MINIX
AC_HEADER_STDC
AC_HEADER_DIRENT
AC_TYPE_UID_T dnl Also does gid_t.
AC_TYPE_GETGROUPS
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_CHECK_HEADERS(unistd.h limits.h sys/param.h fcntl.h string.h memory.h \

12
file.c
View File

@@ -1,5 +1,5 @@
/* Target file hash table management for GNU Make.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
@@ -294,7 +294,9 @@ remove_intermediates (sig)
register struct file *f;
char doneany;
if (!sig && just_print_flag)
if (question_flag || touch_flag)
return;
if (sig && just_print_flag)
return;
doneany = 0;
@@ -303,7 +305,11 @@ remove_intermediates (sig)
if (f->intermediate && (f->dontcare || !f->precious))
{
int status;
if (just_print_flag)
if (f->update_status == -1)
/* If nothing would have created this file yet,
don't print an "rm" command for it. */
continue;
else if (just_print_flag)
status = 0;
else
{

View File

@@ -1,5 +1,5 @@
/* Variable function expansion for GNU Make.
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
Copyright (C) 1988, 89, 91, 92, 93, 94, 95 Free Software Foundation, Inc.
This file is part of GNU Make.
GNU Make is free software; you can redistribute it and/or modify
@@ -24,6 +24,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifdef __MSDOS__
#include <process.h>
#include <fcntl.h>
#endif
static char *string_glob ();

View File

@@ -0,0 +1,53 @@
Tue Apr 25 17:17:19 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c (glob): If GLOB_MARK set, stat names to find
directories and append slashes to them in final pass before
sorting.
(glob_in_dir): If GLOB_MARK set, just allocate the extra char for the
slash; never append it here.
Wed Mar 8 13:38:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/configure.bat: Fixes from DJ.
Wed Feb 22 00:44:41 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/configure.in: Put AC_ISC_POSIX before AC_CONST.
Sun Feb 5 17:59:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* malloc/malloc.c (__malloc_extra_blocks): New variable.
(malloc): When getting more core, get __malloc_extra_blocks extra;
put the new block at the end of the free list and let the next loop
iteration use the initial portion of it.
* malloc/free.c (_free_internal): Account for twice
__malloc_extra_blocks in deciding if we have so much extra memory
we should return it to the system.
* malloc/malloc.h (__malloc_extra_blocks): Declare it.
* posix/glob.c (prefix_array, glob_pattern_p): Remove gratuitous
const in parameter decl.
Fri Jan 27 17:53:49 1995 Jim Meyering (meyering@comco.com)
* posix/fnmatch.c: Declare errno if it's not defined.
That's simpler than testing #if !defined(__GNU_LIBRARY__)
&& !defined(STDC_HEADERS).
Thu Jan 26 00:02:01 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* io/ftw.c: Avoid `ret' as variable name.
* posix/glob.c: Likewise.
Wed Jan 25 00:45:56 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/configure.in: Put AC_AIX and AC_MINIX early, before
any compile tests.
Mon Jan 16 15:49:07 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/Makefile.in: Remove config.h and config.log.
Sun Jan 15 06:56:47 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob/configure.in: Add AC_CONST check.

View File

@@ -1,23 +1,26 @@
@echo off
echo Configuring glob for GO32
rem This batch file assumes a unix-type "sed" program
echo # Makefile generated by "configure.bat"> Makefile
if exist config.sed del config.sed
echo "s/@srcdir@/./ ">> config.sed
echo "s/@RANLIB@/ranlib/ ">> config.sed
echo "s/@LDFLAGS@// ">> config.sed
echo "s/@DEFS@/-DHAVE_CONFIG_H -I../ ">> config.sed
echo "s/@REMOTE@/s/ ">> config.sed
echo "s/@ALLOCA@// ">> config.sed
echo "s/@LIBS@// ">> config.sed
echo "s/@LIBOBJS@// ">> config.sed
echo "s/^Makefile *:/_Makefile:/ ">> config.sed
echo "s/^config.h *:/_config.h:/ ">> config.sed
sed -e "s/^\"//" -e "s/\"$//" -e "s/[ ]*$//" config.sed > config2.sed
sed -f config2.sed Makefile.in >> Makefile
del config.sed
del config2.sed
@echo off
echo Configuring glob for GO32
rem This batch file assumes a unix-type "sed" program
echo # Makefile generated by "configure.bat"> Makefile
if exist config.sed del config.sed
echo "s/@srcdir@/./ ">> config.sed
echo "s/@CC@/gcc/ ">> config.sed
echo "s/@CFLAGS@/-O2 -g/ ">> config.sed
echo "s/@CPPFLAGS@/-DHAVE_CONFIG_H -I../ ">> config.sed
echo "s/@AR@/ar/ ">> config.sed
echo "s/@RANLIB@/ranlib/ ">> config.sed
echo "s/@LDFLAGS@// ">> config.sed
echo "s/@DEFS@// ">> config.sed
echo "s/@ALLOCA@// ">> config.sed
echo "s/@LIBS@// ">> config.sed
echo "s/@LIBOBJS@// ">> config.sed
echo "s/^Makefile *:/_Makefile:/ ">> config.sed
echo "s/^config.h *:/_config.h:/ ">> config.sed
sed -e "s/^\"//" -e "s/\"$//" -e "s/[ ]*$//" config.sed > config2.sed
sed -f config2.sed Makefile.in >> Makefile
del config.sed
del config2.sed

View File

@@ -26,6 +26,7 @@ Cambridge, MA 02139, USA. */
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
/* Comment out all this code if we are using the GNU C Library, and are not
@@ -173,6 +174,17 @@ extern char *alloca ();
#endif
#ifndef __GNU_LIBRARY__
#define __lstat lstat
#ifndef HAVE_LSTAT
#define lstat stat
#endif
#ifdef STAT_MACROS_BROKEN
#undef S_ISDIR
#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
#endif
#endif
#ifndef STDC_HEADERS
#undef size_t
#define size_t unsigned int
@@ -394,9 +406,21 @@ glob (pattern, flags, errfunc, pglob)
}
}
if (flags & GLOB_MARK)
{
/* Append slashes to directory names. glob_in_dir has already
allocated the extra character for us. */
int i;
struct stat st;
for (i = oldcount; i < pglob->gl_pathc; ++i)
if (__lstat (pglob->gl_pathv[i], &st) == 0 &&
S_ISDIR (st.st_mode))
strcat (pglob->gl_pathv[i], "/");
}
if (!(flags & GLOB_NOSORT))
/* Sort the vector. */
qsort ((__ptr_t) & pglob->gl_pathv[oldcount],
qsort ((__ptr_t) &pglob->gl_pathv[oldcount],
pglob->gl_pathc - oldcount,
sizeof (char *), collated_compare);
@@ -595,8 +619,6 @@ glob_in_dir (pattern, directory, flags, errfunc, pglob)
if (new->name == NULL)
goto memory_error;
memcpy ((__ptr_t) new->name, name, len);
if (flags & GLOB_MARK)
new->name[len++] = '/';
new->name[len] = '\0';
new->next = names;
names = new;
@@ -611,12 +633,10 @@ glob_in_dir (pattern, directory, flags, errfunc, pglob)
nfound = 1;
names = (struct globlink *) __alloca (sizeof (struct globlink));
names->next = NULL;
names->name = (char *) malloc (len + ((flags & GLOB_MARK) ? 1 : 0) + 1);
names->name = (char *) malloc (len + 1);
if (names->name == NULL)
goto memory_error;
memcpy (names->name, pattern, len);
if (flags & GLOB_MARK)
names->name[len++] = '/';
names->name[len] = '\0';
}

139
job.c
View File

@@ -377,7 +377,7 @@ reap_children (block, err)
delete non-precious targets, and abort. */
static int delete_on_error = -1;
child_error (c->file->name, exit_code, exit_sig, coredump, 0);
c->file->update_status = 1;
c->file->update_status = 2;
if (delete_on_error == -1)
{
struct file *f = lookup_file (".DELETE_ON_ERROR");
@@ -405,7 +405,7 @@ reap_children (block, err)
Since there are more commands that wanted to be run,
the target was not completely remade. So we treat
this as if a command had failed. */
c->file->update_status = 1;
c->file->update_status = 2;
}
else
{
@@ -433,7 +433,7 @@ reap_children (block, err)
}
/* When we get here, all the commands for C->file are finished
(or aborted) and C->file->update_status contains 0 or 1. But
(or aborted) and C->file->update_status contains 0 or 2. But
C->file->command_state is still cs_running if all the commands
ran; notice_finish_file looks for cs_running to tell it that
it's interesting to check the file's modtime again now. */
@@ -945,23 +945,17 @@ new_job (file)
c->environment = 0;
/* Fetch the first command line to be run. */
if (! job_next_command (c))
{
/* There were no commands! */
free_child (c);
c->file->update_status = 0;
}
else
{
/* The job is now primed. Start it running. */
start_waiting_job (c);
job_next_command (c);
if (job_slots == 1)
/* Since there is only one job slot, make things run linearly.
Wait for the child to die, setting the state to `cs_finished'. */
while (file->command_state == cs_running)
reap_children (1, 0);
}
/* The job is now primed. Start it running.
(This will notice if there are in fact no commands.) */
start_waiting_job (c);
if (job_slots == 1)
/* Since there is only one job slot, make things run linearly.
Wait for the child to die, setting the state to `cs_finished'. */
while (file->command_state == cs_running)
reap_children (1, 0);
}
/* Move CHILD's pointers to the next command for it to execute.
@@ -971,7 +965,7 @@ static int
job_next_command (child)
struct child *child;
{
if (child->command_ptr == 0 || *child->command_ptr == '\0')
while (child->command_ptr == 0 || *child->command_ptr == '\0')
{
/* There are no more lines in the expansion of this line. */
if (child->command_line == child->file->cmds->ncommand_lines)
@@ -1071,111 +1065,6 @@ child_execute_job (stdin_fd, stdout_fd, argv, envp)
exec_command (argv, envp);
}
#if 0
/* Default path to search for executables. */
static char default_path[] = ":/bin:/usr/bin";
/* Search PATH for FILE.
If successful, store the full pathname in PROGRAM and return 1.
If not sucessful, return zero. */
static int
search_path (file, path, program)
char *file, *path, *program;
{
if (path == 0 || path[0] == '\0')
path = default_path;
if (
#ifdef __MSDOS__
strpbrk (file, "/\\:")
#else
index (file, '/')
#endif
!= 0)
{
strcpy (program, file);
return 1;
}
else
{
unsigned int len;
#ifdef HAVE_GETGROUPS
#ifndef HAVE_UNISTD_H
extern int getgroups ();
#endif
static int ngroups = -1;
#ifdef NGROUPS_MAX
static GETGROUPS_T groups[NGROUPS_MAX];
#define ngroups_max NGROUPS_MAX
#else
static GETGROUPS_T *groups = 0;
static int ngroups_max;
if (groups == 0)
{
ngroups_max = GET_NGROUPS_MAX;
groups = (GETGROUPS_T *) malloc (ngroups_max * sizeof (GETGROUPS_T));
}
#endif
if (groups != 0 && ngroups == -1)
ngroups = getgroups (ngroups_max, groups);
#endif /* Have getgroups. */
len = strlen (file) + 1;
do
{
struct stat st;
int perm;
char *p;
p = index (path, PATH_SEPARATOR_CHAR);
if (p == 0)
p = path + strlen (path);
if (p == path)
bcopy (file, program, len);
else
{
bcopy (path, program, p - path);
program[p - path] = '/';
bcopy (file, program + (p - path) + 1, len);
}
if (safe_stat (program, &st) == 0
&& S_ISREG (st.st_mode))
{
if (st.st_uid == geteuid ())
perm = (st.st_mode & 0100);
else if (st.st_gid == getegid ())
perm = (st.st_mode & 0010);
else
{
#ifdef HAVE_GETGROUPS
register int i;
for (i = 0; i < ngroups; ++i)
if (groups[i] == st.st_gid)
break;
if (i < ngroups)
perm = (st.st_mode & 0010);
else
#endif /* Have getgroups. */
perm = (st.st_mode & 0001);
}
if (perm != 0)
return 1;
}
path = p + 1;
} while (*path != '\0');
}
return 0;
}
#endif /* search_path commented out */
/* Replace the current process with one running the command in ARGV,
with environment ENVP. This function does not return. */

122
main.c
View File

@@ -23,6 +23,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "variable.h"
#include "job.h"
#include "getopt.h"
#include <assert.h>
extern void print_variable_data_base ();
@@ -923,14 +924,17 @@ main (argc, argv, envp)
switch (update_goal_chain (read_makefiles, 1))
{
case 1:
default:
abort ();
#define BOGUS_UPDATE_STATUS 0
assert (BOGUS_UPDATE_STATUS);
break;
case -1:
/* Did nothing. */
break;
case 1:
case 2:
/* Failed to update. Figure out if we care. */
{
/* Nonzero if any makefile was successfully remade. */
@@ -1198,6 +1202,51 @@ init_switches ()
long_options[i].name = 0;
}
static void
handle_non_switch_argument (arg, env)
char *arg;
int env;
{
/* Non-option argument. It might be a variable definition. */
struct variable *v;
if (arg[0] == '-' && arg[1] == '\0')
/* Ignore plain `-' for compatibility. */
return;
v = try_variable_definition ((char *) 0, 0, arg, o_command);
if (v != 0)
{
/* It is indeed a variable definition. Record a pointer to
the variable for later use in define_makeflags. */
struct command_variable *cv
= (struct command_variable *) xmalloc (sizeof (*cv));
cv->variable = v;
cv->next = command_variables;
command_variables = cv;
}
else if (! env)
{
/* Not an option or variable definition; it must be a goal
target! Enter it as a file and add it to the dep chain of
goals. */
struct file *f = enter_command_line_file (arg);
f->cmd_target = 1;
if (goals == 0)
{
goals = (struct dep *) xmalloc (sizeof (struct dep));
lastgoal = goals;
}
else
{
lastgoal->next
= (struct dep *) xmalloc (sizeof (struct dep));
lastgoal = lastgoal->next;
}
lastgoal->name = 0;
lastgoal->file = f;
}
}
/* Decode switches from ARGC and ARGV.
They came from the environment if ENV is nonzero. */
@@ -1221,67 +1270,18 @@ decode_switches (argc, argv, env)
but not for options from the environment. */
opterr = !env;
/* Reset getopt's state. */
optind = 1;
optind = 0;
while (optind < argc)
{
/* Parse the next argument. */
c = getopt_long (argc, argv, options, long_options, (int *) 0);
if (c == EOF)
{
/* There are no more options according to getting getopt, but
there are some arguments left. Since we have asked for
non-option arguments to be returned in order, I think this
only happens when there is a "--" argument to prevent later
arguments from being options. Since getopt has finished its
job, just update its state variables for the next argument and
set C as if it had returned 1, indicating a non-option
argument. */
optarg = argv[optind++];
c = 1;
}
if (c == 1)
{
/* Non-option argument. It might be a variable definition. */
struct variable *v;
if (optarg[0] == '-' && optarg[1] == '\0')
/* Ignore plain `-' for compatibility. */
continue;
v = try_variable_definition ((char *) 0, 0, optarg, o_command);
if (v != 0)
{
/* It is indeed a variable definition. Record a pointer to
the variable for later use in define_makeflags. */
struct command_variable *cv
= (struct command_variable *) xmalloc (sizeof (*cv));
cv->variable = v;
cv->next = command_variables;
command_variables = cv;
}
else if (! env)
{
/* Not an option or variable definition; it must be a goal
target! Enter it as a file and add it to the dep chain of
goals. */
struct file *f = enter_command_line_file (optarg);
f->cmd_target = 1;
if (goals == 0)
{
goals = (struct dep *) xmalloc (sizeof (struct dep));
lastgoal = goals;
}
else
{
lastgoal->next
= (struct dep *) xmalloc (sizeof (struct dep));
lastgoal = lastgoal->next;
}
lastgoal->name = 0;
lastgoal->file = f;
}
}
/* End of arguments, or "--" marker seen. */
break;
else if (c == 1)
/* An argument not starting with a dash. */
handle_non_switch_argument (optarg, env);
else if (c == '?')
/* Bad option. We will print a usage message and die later.
But continue to parse the other options so the user can
@@ -1384,6 +1384,14 @@ positive integral argument",
}
}
/* There are no more options according to getting getopt, but there may
be some arguments left. Since we have asked for non-option arguments
to be returned in order, this only happens when there is a "--"
argument to prevent later arguments from being options. */
while (optind < argc)
handle_non_switch_argument (argv[optind++], env);
if (!env && (bad || print_usage_flag))
{
/* Print a nice usage message. */

View File

@@ -8,10 +8,11 @@
@c FSF publishers: format makebook.texi instead of using this file directly.
@set RCSID $Id$
@set EDITION 0.47
@set VERSION 3.72 Beta
@set UPDATED 1 November 1994
@set UPDATE-MONTH November 1994
@set EDITION 0.48
@set VERSION 3.73 Beta
@set UPDATED 4 April 1995
@set UPDATE-MONTH April 1995
@comment The ISBN number might need to change on next publication.
@set ISBN 1-882114-50-7
@c finalout
@@ -31,7 +32,8 @@ and issues the commands to recompile them.
This is Edition @value{EDITION}, last updated @value{UPDATED},
of @cite{The GNU Make Manual}, for @code{make}, Version @value{VERSION}.
Copyright (C) 1988, '89, '90, '91, '92, '93, '94 Free Software Foundation, Inc.
Copyright (C) 1988, '89, '90, '91, '92, '93, '94, '95
Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
@@ -66,7 +68,7 @@ by the Free Software Foundation.
@author Richard M. Stallman and Roland McGrath
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1988, '89, '90, '91, '92, '93, '94 Free Software Foundation, Inc.
Copyright @copyright{} 1988, '89, '90, '91, '92, '93, '94, '95 Free Software Foundation, Inc.
@sp 2
Published by the Free Software Foundation @*
675 Massachusetts Avenue, @*
@@ -3294,23 +3296,20 @@ definitions just as if they appeared on the command line.
@cindex @code{-C}, and recursion
@cindex @code{-f}, and recursion
@cindex @code{-I}, and recursion
@cindex @code{-o}, and recursion
@cindex @code{-W}, and recursion
@cindex @code{--directory}, and recursion
@cindex @code{--file}, and recursion
@cindex @code{--include-dir}, and recursion
@cindex @code{--old-file}, and recursion
@cindex @code{--assume-old}, and recursion
@cindex @code{--assume-new}, and recursion
@cindex @code{--new-file}, and recursion
@cindex recursion, and @code{-C}
@cindex recursion, and @code{-f}
@cindex recursion, and @code{-I}
@cindex recursion, and @code{-o}
@cindex recursion, and @code{-W}
The options @samp{-C}, @samp{-f}, @samp{-I}, @samp{-o}, and @samp{-W}
are not put into @code{MAKEFLAGS}; these options are not passed down.@refill
The options @samp{-C}, @samp{-f}, @samp{-o}, and @samp{-W} are not put
into @code{MAKEFLAGS}; these options are not passed down.@refill
@cindex @code{-j}, and recursion
@cindex @code{--jobs}, and recursion

21
read.c
View File

@@ -1582,7 +1582,9 @@ parse_file_seq (stringp, stopchar, size, strip)
an elt further down the chain (i.e., previous in the file list)
with an unmatched `(' (e.g., "lib(mem"). */
for (new1 = new, lastnew1 = 0; new1 != 0; lastnew1 = new1, new1 = new1->next)
new1 = new;
lastnew1 = 0;
while (new1 != 0)
if (new1->name[0] != '(' /* Don't catch "(%)" and suchlike. */
&& new1->name[strlen (new1->name) - 1] == ')'
&& index (new1->name, '(') == 0)
@@ -1663,14 +1665,21 @@ parse_file_seq (stringp, stopchar, size, strip)
name = concat (libname, new1->name, ")");
free (new1->name);
new1->name = name;
lastnew1 = new1;
new1 = new1->next;
}
if (new1 == 0)
/* We might have slurped up the whole list,
and continuing the loop would dereference NEW1. */
break;
}
else
{
/* No frobnication happening. Just step down the list. */
lastnew1 = new1;
new1 = new1->next;
}
}
else
{
lastnew1 = new1;
new1 = new1->next;
}
#endif

View File

@@ -573,14 +573,17 @@ update_file_1 (file, depth)
switch (file->update_status)
{
case 1:
case 2:
DEBUGPR ("Failed to remake target file `%s'.\n");
break;
case 0:
DEBUGPR ("Successfully remade target file `%s'.\n");
break;
case 1:
DEBUGPR ("Target file `%s' needs remade under -q.\n");
break;
default:
assert (file->update_status == 0 || file->update_status == 1);
assert (file->update_status >= 0 && file->update_status <= 2);
break;
}
@@ -590,7 +593,9 @@ update_file_1 (file, depth)
/* Set FILE's `updated' flag and re-check its mtime and the mtime's of all
files listed in its `also_make' member. Under -t, this function also
touches FILE. */
touches FILE.
On return, FILE->update_status will no longer be -1 if it was. */
void
notice_finished_file (file)
@@ -665,6 +670,10 @@ notice_finished_file (file)
never be done because the target is already updated. */
(void) f_mtime (d->file, 0);
}
else if (file->update_status == -1)
/* Nothing was done for FILE, but it needed nothing done.
So mark it now as "succeeded". */
file->update_status = 0;
}
/* Check whether another file (whose mtime is THIS_MTIME)
@@ -833,15 +842,29 @@ remake_file (file)
else
{
/* This is a dependency file we cannot remake. Fail. */
static char noway[] = "No rule to make target";
static const char msg_noparent[]
= "%sNo rule to make target `%s'%s";
static const char msg_parent[]
= "%sNo rule to make target `%s', needed by `%s'%s";
if (keep_going_flag || file->dontcare)
{
if (!file->dontcare)
error ("*** %s `%s'.", noway, file->name);
file->update_status = 1;
{
if (file->parent == 0)
error (msg_noparent, "*** ", file->name, ".");
else
error (msg_parent, "*** ",
file->name, file->parent->name, ".");
}
file->update_status = 2;
}
else
fatal ("%s `%s'", noway, file->name);
{
if (file->parent == 0)
fatal (msg_noparent, "", file->name, "");
else
fatal (msg_parent, "", file->name, file->parent->name, "");
}
}
}
else

View File

@@ -23,6 +23,14 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <config.h>
#endif
/* Some systems declare `sys_siglist in <unistd.h>; if
configure defined SYS_SIGLIST_DECLARED, it may expect
to find the declaration there. */
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
/* Some systems do not define NSIG in <signal.h>. */
#ifndef NSIG
#ifdef _NSIG
@@ -216,6 +224,9 @@ signame_init ()
#if defined (SIGDANGER)
init_sig (SIGDANGER, "DANGER", "Danger signal");
#endif
#if defined (SIGINFO)
init_sig (SIGINFO, "INFO", "Information request");
#endif
}
/* Return the abbreviation for signal NUMBER. */

View File

@@ -1,4 +1,4 @@
char *version_string = "3.72.11";
char *version_string = "3.73.2";
/*
Local variables: