mirror of
https://github.com/mirror/make.git
synced 2025-04-14 21:40:24 +08:00
Some test updates for Windows.
Handle SHELL set on the command line properly for windows.
This commit is contained in:
parent
8af9389f87
commit
afc4906aca
@ -1,3 +1,9 @@
|
||||
2006-03-04 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* variable.c (do_variable_definition) [WINDOWS32]: Call the shell
|
||||
locator function find_and_set_default_shell if SHELL came from the
|
||||
command line.
|
||||
|
||||
2006-02-20 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* variable.c (merge_variable_set_lists): It's legal for *setlist0
|
||||
|
17
NEWS
17
NEWS
@ -1,6 +1,6 @@
|
||||
GNU make NEWS -*-indented-text-*-
|
||||
History of user-visible changes.
|
||||
19 February 2006
|
||||
8 March 2006
|
||||
|
||||
See the end of this file for copyrights and conditions.
|
||||
|
||||
@ -9,7 +9,7 @@ manual, which is contained in this distribution as the file doc/make.texi.
|
||||
See the README file and the GNU make manual for instructions for
|
||||
reporting bugs.
|
||||
|
||||
Version 3.81rc1
|
||||
Version 3.81rc2
|
||||
|
||||
* GNU make is ported to OS/2.
|
||||
|
||||
@ -18,7 +18,6 @@ Version 3.81rc1
|
||||
details.
|
||||
|
||||
* WARNING: Backward-incompatibility!
|
||||
|
||||
GNU make now implements a generic "second expansion" feature on the
|
||||
prerequisites of both explicit and implicit (pattern) rules. In order
|
||||
to enable this feature, the special target '.SECONDEXPANSION' must be
|
||||
@ -41,8 +40,16 @@ Version 3.81rc1
|
||||
backslash-newline sequences in command strings has changed. If your
|
||||
makefiles use backslash-newline sequences inside of single-quoted
|
||||
strings in command scripts you will be impacted by this change. See
|
||||
the GNU make manual section "Command Execution" (node "Execution") for
|
||||
details.
|
||||
the GNU make manual subsection "Splitting Command Lines" (node
|
||||
"Splitting Lines"), in section "Command Syntax", chapter "Writing the
|
||||
Commands in Rules", for details.
|
||||
|
||||
* WARNING: Backward-incompatibility!
|
||||
Some previous versions of GNU make had a bug where "#" in a function
|
||||
invocation such as $(shell ...) was treated as a make comment. A
|
||||
workaround was to escape these with backslashes. This bug has been
|
||||
fixed: if your makefile uses "\#" in a function invocation the
|
||||
backslash is now preserved, so you'll need to remove it.
|
||||
|
||||
* New command-line option: -L (--check-symlink-times). On systems that
|
||||
support symbolic links, if this option is given then GNU make will
|
||||
|
@ -1,3 +1,11 @@
|
||||
2006-03-05 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port
|
||||
type W32. Fixed Savannah bug #15937.
|
||||
|
||||
* scripts/features/default_names: Don't call error() when the test
|
||||
fails. Fixes Savannah bug #15941.
|
||||
|
||||
2006-02-17 Paul D. Smith <psmith@gnu.org>
|
||||
|
||||
* scripts/features/targetvars: Test a complex construction which
|
||||
|
@ -238,7 +238,7 @@ sub set_more_defaults
|
||||
#
|
||||
# This is probably not specific enough.
|
||||
#
|
||||
if ($osname =~ /Windows/i || $osname =~ /MINGW32/i) {
|
||||
if ($osname =~ /Windows/i || $osname =~ /MINGW32/i || $osname =~ /CYGWIN_NT/i) {
|
||||
$port_type = 'W32';
|
||||
}
|
||||
# Bleah, the osname is so variable on DOS. This kind of bites.
|
||||
|
@ -7,59 +7,35 @@ default makefiles in the correct order (GNUmakefile,makefile,Makefile)";
|
||||
$makefile = "GNUmakefile";
|
||||
|
||||
open(MAKEFILE,"> $makefile");
|
||||
|
||||
print MAKEFILE "FIRST: ; \@echo It chose GNUmakefile\n";
|
||||
|
||||
close(MAKEFILE);
|
||||
|
||||
# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile.
|
||||
# Just test what we can here (avoid Makefile versus makefile test).
|
||||
#
|
||||
if ($port_type eq 'UNIX')
|
||||
{
|
||||
|
||||
if ($port_type eq 'UNIX') {
|
||||
# Create another makefile called "makefile"
|
||||
open(MAKEFILE,"> makefile");
|
||||
|
||||
print MAKEFILE "SECOND: ; \@echo It chose makefile\n";
|
||||
|
||||
close(MAKEFILE);
|
||||
}
|
||||
|
||||
|
||||
# Create another makefile called "Makefile"
|
||||
open(MAKEFILE,"> Makefile");
|
||||
|
||||
print MAKEFILE "THIRD: ; \@echo It chose Makefile\n";
|
||||
|
||||
close(MAKEFILE);
|
||||
|
||||
|
||||
&run_make_with_options("","",&get_logfile);
|
||||
|
||||
# Create the answer to what should be produced by this Makefile
|
||||
$answer = "It chose GNUmakefile\n";
|
||||
|
||||
# COMPARE RESULTS
|
||||
|
||||
&compare_output($answer,&get_logfile(1)) || &error("abort");
|
||||
&compare_output("It chose GNUmakefile\n",&get_logfile(1));
|
||||
unlink $makefile;
|
||||
|
||||
# DOS/WIN32 platforms preserve case, but Makefile is the same file as makefile.
|
||||
# Just test what we can here (avoid Makefile versus makefile test).
|
||||
#
|
||||
if ($port_type eq 'UNIX')
|
||||
{
|
||||
$answer = "It chose makefile\n";
|
||||
|
||||
if ($port_type eq 'UNIX') {
|
||||
&run_make_with_options("","",&get_logfile);
|
||||
|
||||
&compare_output($answer,&get_logfile(1)) || &error("abort");
|
||||
&compare_output("It chose makefile\n",&get_logfile(1));
|
||||
unlink "makefile";
|
||||
}
|
||||
|
||||
$answer = "It chose Makefile\n";
|
||||
|
||||
&run_make_with_options("","",&get_logfile);
|
||||
|
||||
&compare_output($answer,&get_logfile(1)) || &error("abort");
|
||||
&compare_output("It chose Makefile\n",&get_logfile(1));
|
||||
unlink "Makefile";
|
||||
|
@ -272,7 +272,7 @@ $answer = "no build information\n";
|
||||
# Test a merge of set_lists for files, where one list is much longer
|
||||
# than the other. See Savannah bug #15757.
|
||||
|
||||
mkdir('t1');
|
||||
mkdir('t1', 0777);
|
||||
touch('t1/rules.mk');
|
||||
|
||||
run_make_test('
|
||||
|
@ -60,7 +60,7 @@ rmfiles('foo.x', 'bar.x');
|
||||
# Test -W on vpath-found files: it should take effect.
|
||||
# Savannah bug # 15341
|
||||
|
||||
mkdir('x-dir');
|
||||
mkdir('x-dir', 0777);
|
||||
utouch(-20, 'x-dir/x');
|
||||
touch('y');
|
||||
|
||||
|
@ -1168,7 +1168,8 @@ do_variable_definition (const struct floc *flocp, const char *varname,
|
||||
else
|
||||
#endif /* __MSDOS__ */
|
||||
#ifdef WINDOWS32
|
||||
if ((origin == o_file || origin == o_override) && streq (varname, "SHELL"))
|
||||
if ((origin == o_file || origin == o_override || origin == o_command)
|
||||
&& streq (varname, "SHELL"))
|
||||
{
|
||||
extern char *default_shell;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user