mirror of
https://github.com/mirror/make.git
synced 2025-02-05 17:20:15 +08:00
- Include <alloca.h> even on non-__GNUC__ systems.
- Add some tests for unresolved bugs.
This commit is contained in:
parent
56653d8524
commit
f87715a62c
@ -1,3 +1,9 @@
|
|||||||
|
2009-10-03 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* make.h: Include <alloca.h> even on systems where __GNUC__ is
|
||||||
|
defined. Not sure why it was done the other way.
|
||||||
|
Requested by David Boyce <dsb@boyski.com>.
|
||||||
|
|
||||||
2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
|
2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
|
||||||
|
|
||||||
* dep.h (dep): Add the DONTCARE bitfield.
|
* dep.h (dep): Add the DONTCARE bitfield.
|
||||||
|
@ -382,7 +382,8 @@ string_glob (char *line)
|
|||||||
idx += len;
|
idx += len;
|
||||||
result[idx++] = ' ';
|
result[idx++] = ' ';
|
||||||
|
|
||||||
free (chain->name);
|
/* Because we used PARSEFS_NOCACHE above, we have to free() NAME. */
|
||||||
|
free ((char *)chain->name);
|
||||||
free (chain);
|
free (chain);
|
||||||
chain = next;
|
chain = next;
|
||||||
}
|
}
|
||||||
|
13
make.h
13
make.h
@ -23,8 +23,12 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#undef HAVE_CONFIG_H
|
#undef HAVE_CONFIG_H
|
||||||
#define HAVE_CONFIG_H 1
|
#define HAVE_CONFIG_H 1
|
||||||
|
|
||||||
|
/* Specify we want GNU source code. This must be defined before any
|
||||||
|
system headers are included. */
|
||||||
|
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
|
||||||
/* AIX requires this to be the first thing in the file. */
|
/* AIX requires this to be the first thing in the file. */
|
||||||
#ifndef __GNUC__
|
|
||||||
#if HAVE_ALLOCA_H
|
#if HAVE_ALLOCA_H
|
||||||
# include <alloca.h>
|
# include <alloca.h>
|
||||||
#else
|
#else
|
||||||
@ -36,13 +40,6 @@ char *alloca ();
|
|||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Specify we want GNU source code. This must be defined before any
|
|
||||||
system headers are included. */
|
|
||||||
|
|
||||||
#define _GNU_SOURCE 1
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CRAY
|
#ifdef CRAY
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
2009-10-03 Paul Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* scripts/variables/MAKE: Rewrite for new run_make_test() format.
|
||||||
|
|
||||||
|
* scripts/variables/MAKEFLAGS: Created.
|
||||||
|
Add test for Savannah bug #2216 (still open).
|
||||||
|
|
||||||
|
* scripts/features/include: Test for Savannah bug #102 (still open).
|
||||||
|
|
||||||
2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
|
2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
|
||||||
|
|
||||||
* scripts/features/include: Add diagnostics issuing tests for
|
* scripts/features/include: Add diagnostics issuing tests for
|
||||||
|
@ -165,4 +165,15 @@ baz: end
|
|||||||
#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
|
#MAKE#: *** No rule to make target `end', needed by `baz'. Stop.\n",
|
||||||
512);
|
512);
|
||||||
|
|
||||||
|
if ($all_tests) {
|
||||||
|
# Test that include of a rebuild-able file doesn't show a warning
|
||||||
|
# Savannah bug #102
|
||||||
|
run_make_test(q!
|
||||||
|
include foo
|
||||||
|
foo: ; @echo foo = bar > $@
|
||||||
|
!,
|
||||||
|
'', "#MAKE#: `foo' is up to date.\n");
|
||||||
|
rmfiles('foo');
|
||||||
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -1,35 +1,24 @@
|
|||||||
# -*-perl-*-
|
# -*-perl-*-
|
||||||
|
|
||||||
$description = "The following test creates a makefile to test MAKE \n"
|
$description = "Test proper behavior of the MAKE variable";
|
||||||
."(very generic)";
|
|
||||||
|
|
||||||
$details = "DETAILS";
|
$details = "DETAILS";
|
||||||
|
|
||||||
open(MAKEFILE,"> $makefile");
|
run_make_test(q!
|
||||||
|
TMP := $(MAKE)
|
||||||
|
MAKE := $(subst X=$(X),,$(MAKE))
|
||||||
|
all:
|
||||||
|
@echo $(TMP)
|
||||||
|
$(MAKE) -f #MAKEFILE# foo
|
||||||
|
|
||||||
# The Contents of the MAKEFILE ...
|
foo:
|
||||||
|
@echo $(MAKE)
|
||||||
|
!,
|
||||||
|
'',
|
||||||
|
"#MAKEPATH#\n#MAKEPATH# -f #MAKEFILE# foo\n"
|
||||||
|
. "#MAKE#[1]: Entering directory `#PWD#'\n"
|
||||||
|
. "#MAKEPATH#\n#MAKE#[1]: Leaving directory `#PWD#'\n");
|
||||||
|
|
||||||
print MAKEFILE "TMP := \$(MAKE)\n";
|
rmfiles("foo");
|
||||||
print MAKEFILE "MAKE := \$(subst X=\$(X),,\$(MAKE))\n\n";
|
|
||||||
print MAKEFILE "all:\n";
|
|
||||||
print MAKEFILE "\t\@echo \$(TMP)\n";
|
|
||||||
print MAKEFILE "\t\$(MAKE) -f $makefile foo\n\n";
|
|
||||||
print MAKEFILE "foo:\n";
|
|
||||||
print MAKEFILE "\t\@echo \$(MAKE)\n";
|
|
||||||
|
|
||||||
# END of Contents of MAKEFILE
|
|
||||||
|
|
||||||
close(MAKEFILE);
|
|
||||||
|
|
||||||
# Create the answer to what should be produced by this Makefile
|
|
||||||
$answer = "$mkpath\n$mkpath -f $makefile foo\n"
|
|
||||||
. "${make_name}[1]: Entering directory `$pwd'\n"
|
|
||||||
. "$mkpath\n${make_name}[1]: Leaving directory `$pwd'\n";
|
|
||||||
|
|
||||||
&run_make_with_options($makefile,"",&get_logfile,0);
|
|
||||||
|
|
||||||
&rmfiles("foo");
|
|
||||||
# COMPARE RESULTS
|
|
||||||
&compare_output($answer,&get_logfile(1));
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
43
tests/scripts/variables/MAKEFLAGS
Normal file
43
tests/scripts/variables/MAKEFLAGS
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# -*-perl-*-
|
||||||
|
|
||||||
|
$description = "Test proper behavior of MAKEFLAGS";
|
||||||
|
|
||||||
|
$details = "DETAILS";
|
||||||
|
|
||||||
|
# Normal flags aren't prefixed with "-"
|
||||||
|
run_make_test(q!
|
||||||
|
all: ; @echo $(MAKEFLAGS)
|
||||||
|
!,
|
||||||
|
'-e -r -R', 'Rre');
|
||||||
|
|
||||||
|
# Long arguments mean everything is prefixed with "-"
|
||||||
|
run_make_test(q!
|
||||||
|
all: ; @echo $(MAKEFLAGS)
|
||||||
|
!,
|
||||||
|
'--no-print-directory -e -r -R', '--no-print-directory -Rre');
|
||||||
|
|
||||||
|
|
||||||
|
if ($all_tests) {
|
||||||
|
# Recursive invocations of make should accumulate MAKEFLAGS values.
|
||||||
|
# Savannah bug #2216
|
||||||
|
run_make_test(q!
|
||||||
|
MSG = Fails
|
||||||
|
all:
|
||||||
|
@echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
|
||||||
|
@MSG=Works $(MAKE) -e -f #MAKEFILE# jump
|
||||||
|
jump:
|
||||||
|
@echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
|
||||||
|
@$(MAKE) -f #MAKEFILE# print
|
||||||
|
print:
|
||||||
|
@echo '$@: MAKEFLAGS=$(MAKEFLAGS)'
|
||||||
|
@echo $(MSG)
|
||||||
|
.PHONY: all jump print
|
||||||
|
!,
|
||||||
|
'--no-print-directory',
|
||||||
|
'all: MAKEFLAGS= --no-print-directory
|
||||||
|
jump: MAKEFLAGS= --no-print-directory -e
|
||||||
|
print: MAKEFLAGS= --no-print-directory -e
|
||||||
|
Works');
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
Loading…
Reference in New Issue
Block a user