From f7598efb676502e3ade6aac4a61be0984de4abda Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Mon, 29 Aug 2005 14:11:00 +0000 Subject: [PATCH] Fix make.h preprocessor directive to work better with Windows compilers. Fix some regression tests to (hopefully) work better on Windows. --- ChangeLog | 11 +++++++++ function.c | 1 + make.h | 2 +- tests/ChangeLog | 10 ++++++++ tests/scripts/features/patspecific_vars | 4 ++-- tests/scripts/functions/abspath | 32 ++++++++++++------------- tests/scripts/options/dash-I | 2 ++ 7 files changed, 43 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 067d8fc7..d2e47e97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,20 @@ +2005-08-29 Paul D. Smith + + * function.c (func_error): On Windows, output from $(info ...) + seems to come in the wrong order. Try to force it with fflush(). + 2005-08-10 Boris Kolpackov * read.c (record_files): Move code that sets stem for static pattern rules out of the if (!two_colon) condition so it is also executed for two-colon rules. Fixes Savannah bug #13881. +2005-08-08 Paul D. Smith + + * make.h: Don't test that __STDC__ is non-0. Some compilers + (Windows for example) set it to 0 to denote "ISO C + extensions". + Fixes bug # 13594. + 2005-08-07 Paul D. Smith * w32/pathstuff.c (getcwd_fs): Fix warning about assignment in a diff --git a/function.c b/function.c index 5bf6019a..47cdafaf 100644 --- a/function.c +++ b/function.c @@ -1096,6 +1096,7 @@ func_error (char *o, char **argv, const char *funcname) case 'i': printf ("%s\n", msg); + fflush(stdout); break; default: diff --git a/make.h b/make.h index b772d777..8636928e 100644 --- a/make.h +++ b/make.h @@ -42,7 +42,7 @@ char *alloca (); /* Use prototypes if available. */ -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) +#if defined (__cplusplus) || defined (__STDC__) # undef PARAMS # define PARAMS(protos) protos #else /* Not C++ or ANSI C. */ diff --git a/tests/ChangeLog b/tests/ChangeLog index 84f40f63..5e1f9488 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,13 @@ +2005-08-29 Paul D. Smith + + * scripts/functions/abspath: Add some text to the error messages + to get a better idea of what's wrong. Make warnings instead of + errors. + + * scripts/features/patspecific_vars: Don't use "test", which is + UNIX specific. Print the values and let the test script match + them. + 2005-08-25 Paul Smith * scripts/variables/SHELL: Use a /./ prefix instead of //: the diff --git a/tests/scripts/features/patspecific_vars b/tests/scripts/features/patspecific_vars index 9e98b437..20c1cfce 100644 --- a/tests/scripts/features/patspecific_vars +++ b/tests/scripts/features/patspecific_vars @@ -67,8 +67,8 @@ run_make_test(' /%: export foo := foo /bar: - @test "$(foo)" = "$$foo" -', '', ''); + @echo $(foo) $$foo +', '', 'foo foo'); # TEST #6 -- test expansion of pattern-specific simple variables diff --git a/tests/scripts/functions/abspath b/tests/scripts/functions/abspath index d419255a..84c30ab8 100644 --- a/tests/scripts/functions/abspath +++ b/tests/scripts/functions/abspath @@ -5,68 +5,68 @@ $details = ""; run_make_test(' ifneq ($(realpath $(abspath .)),$(CURDIR)) - $(error ) + $(warning .: abs="$(abspath .)" real="$(realpath $(abspath .))" curdir="$(CURDIR)") endif ifneq ($(realpath $(abspath ./)),$(CURDIR)) - $(error ) + $(warning ./: abs="$(abspath ./)" real="$(realpath $(abspath ./))" curdir="$(CURDIR)") endif ifneq ($(realpath $(abspath .///)),$(CURDIR)) - $(error ) + $(warning .///: abs="$(abspath .///)" real="$(realpath $(abspath .///))" curdir="$(CURDIR)") endif ifneq ($(abspath /),/) - $(error ) + $(warning /: abspath="$(abspath /)") endif ifneq ($(abspath ///),/) - $(error ) + $(warning ///: abspath="$(abspath ///)") endif ifneq ($(abspath /.),/) - $(error ) + $(warning /.: abspath="$(abspath /.)") endif ifneq ($(abspath ///.),/) - $(error ) + $(warning ///.: abspath="$(abspath ///.)") endif ifneq ($(abspath /./),/) - $(error ) + $(warning /./: abspath="$(abspath /./)") endif ifneq ($(abspath /.///),/) - $(error ) + $(warning /.///: abspath="$(abspath /.///)") endif ifneq ($(abspath /..),/) - $(error ) + $(warning /..: abspath="$(abspath /..)") endif ifneq ($(abspath ///..),/) - $(error ) + $(warning ///..: abspath="$(abspath ///..)") endif ifneq ($(abspath /../),/) - $(error ) + $(warning /../: abspath="$(abspath /../)") endif ifneq ($(abspath /..///),/) - $(error ) + $(warning /..///: abspath="$(abspath /..///)") endif ifneq ($(abspath /foo/bar/..),/foo) - $(error ) + $(warning /foo/bar/..: abspath="$(abspath /foo/bar/..)") endif ifneq ($(abspath /foo/bar/../../../baz),/baz) - $(error ) + $(warning /foo/bar/../../../baz: abspath="$(abspath /foo/bar/../../../baz)") endif ifneq ($(abspath /foo/bar/../ /..),/foo /) - $(error ) + $(warning /foo/bar/../ /..: abspath="$(abspath /foo/bar/../ /..)") endif diff --git a/tests/scripts/options/dash-I b/tests/scripts/options/dash-I index 0be0bd7f..8dc5d9ba 100644 --- a/tests/scripts/options/dash-I +++ b/tests/scripts/options/dash-I @@ -1,3 +1,5 @@ +# -*-perl-*- + $description ="The following test creates a makefile to test the -I option."; $details = "\