mirror of
https://github.com/mirror/make.git
synced 2026-08-21 01:13:27 +08:00
Compare commits
64 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2fc502c55 | ||
|
|
d091a08961 | ||
|
|
eb3b7904f0 | ||
|
|
bbfb270092 | ||
|
|
c18253b59b | ||
|
|
41177916df | ||
|
|
7acd99c5e6 | ||
|
|
d6c62b351f | ||
|
|
c9c43b0871 | ||
|
|
13e8568f03 | ||
|
|
cebdba9dfa | ||
|
|
4ea152e71b | ||
|
|
443f39f4f7 | ||
|
|
675981bc4f | ||
|
|
11af972f87 | ||
|
|
d9c126da40 | ||
|
|
7170467928 | ||
|
|
81699266d3 | ||
|
|
cbdb3653da | ||
|
|
5d82479d89 | ||
|
|
ed0d607279 | ||
|
|
855bd6896d | ||
|
|
179ef370e8 | ||
|
|
01dc9a22f9 | ||
|
|
bc15ada5ed | ||
|
|
fce5e4a9b9 | ||
|
|
07a45cd0af | ||
|
|
226a132e31 | ||
|
|
b59f5f30b9 | ||
|
|
acdd73ea34 | ||
|
|
38b5b27eb5 | ||
|
|
e8325b9be2 | ||
|
|
f8eb0fc41b | ||
|
|
ea38e1fe78 | ||
|
|
ed276c008d | ||
|
|
910d25619e | ||
|
|
2ae5430550 | ||
|
|
e53ac8a6fc | ||
|
|
cb51d55ab2 | ||
|
|
0b4723a689 | ||
|
|
3f9ce84b4a | ||
|
|
bdbe8501c6 | ||
|
|
3a12be3a73 | ||
|
|
2346f99368 | ||
|
|
d855846472 | ||
|
|
b9f7d21e42 | ||
|
|
db089ad3e3 | ||
|
|
1331cca1fa | ||
|
|
fe05aaf7f2 | ||
|
|
cc35ff7381 | ||
|
|
a146085382 | ||
|
|
79fcb77ad1 | ||
|
|
3608635ec6 | ||
|
|
ca53696814 | ||
|
|
61dac07200 | ||
|
|
9e42026e08 | ||
|
|
b52ea79ee6 | ||
|
|
e483431569 | ||
|
|
28b622b8a1 | ||
|
|
cbfc50cb51 | ||
|
|
deb7cced6e | ||
|
|
f9af56ac67 | ||
|
|
3ba2e947ac | ||
|
|
13d0eeb8e5 |
4980
ChangeLog.1
Normal file
4980
ChangeLog.1
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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 $@
|
||||
|
||||
@@ -216,6 +216,7 @@ $(infodir)/make.info: make.info
|
||||
# We use `$(SHELL) -c' because some shells do not
|
||||
# fail gracefully when there is an unknown command.
|
||||
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
|
||||
if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
|
||||
install-info --infodir=$(infodir) $$dir/make.info; \
|
||||
else true; fi
|
||||
|
||||
@@ -284,7 +285,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 +295,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
2
README
@@ -1,4 +1,4 @@
|
||||
This directory contains the 3.72.10 test release of GNU Make.
|
||||
This directory contains the 3.74 test release of GNU Make.
|
||||
All bugs reported for previous test releases have been fixed.
|
||||
Some bugs surely remain.
|
||||
|
||||
|
||||
@@ -216,6 +216,7 @@ $(infodir)/make.info: make.info
|
||||
# We use `$(SHELL) -c' because some shells do not
|
||||
# fail gracefully when there is an unknown command.
|
||||
if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
|
||||
if [ -r ./make.info ]; then dir=.; else dir=$(srcdir); fi; \
|
||||
install-info --infodir=$(infodir) $$dir/make.info; \
|
||||
else true; fi
|
||||
|
||||
|
||||
@@ -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
153
configure
vendored
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 \
|
||||
|
||||
17
file.c
17
file.c
@@ -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
|
||||
@@ -21,6 +21,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
#include "dep.h"
|
||||
#include "file.h"
|
||||
#include "variable.h"
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
/* Hash table of files the makefile knows how to make. */
|
||||
@@ -294,7 +295,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 +306,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
|
||||
{
|
||||
@@ -491,6 +498,10 @@ print_file (f)
|
||||
puts ("# Successfully updated.");
|
||||
break;
|
||||
case 1:
|
||||
assert (question_flag);
|
||||
puts ("# Needs to be updated (-q is set).");
|
||||
break;
|
||||
case 2:
|
||||
puts ("# Failed to be updated.");
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
48
getloadavg.c
48
getloadavg.c
@@ -210,6 +210,10 @@ extern int errno;
|
||||
#define LOAD_AVE_TYPE long
|
||||
#endif
|
||||
|
||||
#ifdef _AIX
|
||||
#define LOAD_AVE_TYPE long
|
||||
#endif
|
||||
|
||||
#endif /* No LOAD_AVE_TYPE. */
|
||||
|
||||
#ifdef OSF_ALPHA
|
||||
@@ -254,6 +258,10 @@ extern int errno;
|
||||
#define FSCALE 100.0
|
||||
#endif
|
||||
|
||||
#ifdef _AIX
|
||||
#define FSCALE 65536.0
|
||||
#endif
|
||||
|
||||
#endif /* Not FSCALE. */
|
||||
|
||||
#if !defined (LDAV_CVT) && defined (FSCALE)
|
||||
@@ -315,6 +323,10 @@ extern int errno;
|
||||
#define NLIST_STRUCT
|
||||
#endif
|
||||
|
||||
#ifdef _AIX
|
||||
#define NLIST_STRUCT
|
||||
#endif
|
||||
|
||||
#endif /* defined (NLIST_STRUCT) */
|
||||
|
||||
|
||||
@@ -340,7 +352,7 @@ extern int errno;
|
||||
#define LDAV_SYMBOL "_Loadavg"
|
||||
#endif
|
||||
|
||||
#if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)))
|
||||
#if !defined(LDAV_SYMBOL) && ((defined(hpux) && !defined(hp9000s300)) || defined(_SEQUENT_) || defined(SVR4) || defined(ISC) || defined(sgi) || (defined (ardent) && defined (titan)) || defined (_AIX))
|
||||
#define LDAV_SYMBOL "avenrun"
|
||||
#endif
|
||||
|
||||
@@ -790,23 +802,29 @@ getloadavg (loadavg, nelem)
|
||||
#endif /* NLIST_STRUCT */
|
||||
|
||||
#ifndef SUNOS_5
|
||||
if (nlist (KERNEL_FILE, nl) >= 0)
|
||||
/* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */
|
||||
{
|
||||
#ifdef FIXUP_KERNEL_SYMBOL_ADDR
|
||||
FIXUP_KERNEL_SYMBOL_ADDR (nl);
|
||||
if (
|
||||
#ifndef _AIX
|
||||
nlist (KERNEL_FILE, nl)
|
||||
#else /* _AIX */
|
||||
knlist (nl, 1, sizeof (nl[0]))
|
||||
#endif
|
||||
offset = nl[0].n_value;
|
||||
}
|
||||
#endif /* !SUNOS_5 */
|
||||
#else /* sgi */
|
||||
int ldav_off;
|
||||
>= 0)
|
||||
/* Omit "&& nl[0].n_type != 0 " -- it breaks on Sun386i. */
|
||||
{
|
||||
#ifdef FIXUP_KERNEL_SYMBOL_ADDR
|
||||
FIXUP_KERNEL_SYMBOL_ADDR (nl);
|
||||
#endif
|
||||
offset = nl[0].n_value;
|
||||
}
|
||||
#endif /* !SUNOS_5 */
|
||||
#else /* sgi */
|
||||
int ldav_off;
|
||||
|
||||
ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN);
|
||||
if (ldav_off != -1)
|
||||
offset = (long) ldav_off & 0x7fffffff;
|
||||
ldav_off = sysmp (MP_KERNADDR, MPKA_AVENRUN);
|
||||
if (ldav_off != -1)
|
||||
offset = (long) ldav_off & 0x7fffffff;
|
||||
#endif /* sgi */
|
||||
}
|
||||
}
|
||||
|
||||
/* Make sure we have /dev/kmem open. */
|
||||
if (!getloadavg_initialized)
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
Sat Apr 29 15:46:57 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
|
||||
|
||||
* posix/glob.c (S_ISDIR): Define if undefined.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
34
glob/glob.c
34
glob/glob.c
@@ -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,19 @@ extern char *alloca ();
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __GNU_LIBRARY__
|
||||
#define __lstat lstat
|
||||
#ifndef HAVE_LSTAT
|
||||
#define lstat stat
|
||||
#endif
|
||||
#ifdef STAT_MACROS_BROKEN
|
||||
#undef S_ISDIR
|
||||
#endif
|
||||
#ifndef 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 +408,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 +621,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 +635,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
139
job.c
@@ -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
122
main.c
@@ -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. */
|
||||
|
||||
21
make.texinfo
21
make.texinfo
@@ -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
|
||||
|
||||
2
misc.c
2
misc.c
@@ -126,7 +126,7 @@ remove_comments (line)
|
||||
{
|
||||
char *comment;
|
||||
|
||||
comment = find_char_unquote (line, '#', 0);
|
||||
comment = find_char_unquote (line, "#", 0);
|
||||
|
||||
if (comment != 0)
|
||||
/* Cut off the line at the #. */
|
||||
|
||||
58
read.c
58
read.c
@@ -1437,9 +1437,9 @@ record_files (filenames, pattern, pattern_percent, deps, commands_started,
|
||||
one, or nil if there are none. */
|
||||
|
||||
char *
|
||||
find_char_unquote (string, stopchar, blank)
|
||||
find_char_unquote (string, stopchars, blank)
|
||||
char *string;
|
||||
int stopchar;
|
||||
char *stopchars;
|
||||
int blank;
|
||||
{
|
||||
unsigned int string_len = strlen (string);
|
||||
@@ -1447,19 +1447,12 @@ find_char_unquote (string, stopchar, blank)
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (blank)
|
||||
{
|
||||
while (*p != '\0' && *p != stopchar && !isblank (*p))
|
||||
++p;
|
||||
if (*p == '\0')
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = index (p, stopchar);
|
||||
if (p == 0)
|
||||
break;
|
||||
}
|
||||
while (*p != '\0' && index (stopchars, *p) == 0
|
||||
&& (!blank || !isblank (*p)))
|
||||
++p;
|
||||
if (*p == '\0')
|
||||
break;
|
||||
|
||||
if (p > string && p[-1] == '\\')
|
||||
{
|
||||
/* Search for more backslashes. */
|
||||
@@ -1493,7 +1486,7 @@ char *
|
||||
find_percent (pattern)
|
||||
char *pattern;
|
||||
{
|
||||
return find_char_unquote (pattern, '%', 0);
|
||||
return find_char_unquote (pattern, "%", 0);
|
||||
}
|
||||
|
||||
/* Search STRING for an unquoted ; that is not after an unquoted #. */
|
||||
@@ -1502,8 +1495,11 @@ static char *
|
||||
find_semicolon (string)
|
||||
char *string;
|
||||
{
|
||||
return (find_char_unquote (string, '#', 0) == 0
|
||||
? find_char_unquote (string, ';', 0) : 0);
|
||||
char *match = find_char_unquote (string, ";#", 0);
|
||||
if (match != 0 && *match == '#')
|
||||
/* We found a comment before a semicolon. No match. */
|
||||
match = 0;
|
||||
return match;
|
||||
}
|
||||
|
||||
/* Parse a string into a sequence of filenames represented as a
|
||||
@@ -1531,6 +1527,9 @@ parse_file_seq (stringp, stopchar, size, strip)
|
||||
register char *p = *stringp;
|
||||
char *q;
|
||||
char *name;
|
||||
char stopchars[2];
|
||||
stopchars[0] = stopchar;
|
||||
stopchars[1] = '\0';
|
||||
|
||||
while (1)
|
||||
{
|
||||
@@ -1542,7 +1541,7 @@ parse_file_seq (stringp, stopchar, size, strip)
|
||||
break;
|
||||
/* Yes, find end of next name. */
|
||||
q = p;
|
||||
p = find_char_unquote (q, stopchar, 1);
|
||||
p = find_char_unquote (q, stopchars, 1);
|
||||
#ifdef __MSDOS__
|
||||
/* For MS-DOS, skip a "C:\...". */
|
||||
if (stopchar == ':' && p != 0 && p[1] == '\\' && isalpha (p[-1]))
|
||||
@@ -1583,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)
|
||||
@@ -1664,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
|
||||
|
||||
37
remake.c
37
remake.c
@@ -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
|
||||
|
||||
15
signame.c
15
signame.c
@@ -15,14 +15,22 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h> /* Some systems need this for <signal.h>. */
|
||||
#include <signal.h>
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
/* 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. */
|
||||
|
||||
Reference in New Issue
Block a user