diff options
author | Paul Smith <psmith@gnu.org> | 2010-07-01 07:16:00 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2010-07-01 07:16:00 +0000 |
commit | 97f106fa105b5d776fb0d6ce3b60493d25f825f4 (patch) | |
tree | 9cf631098d2192cc794e46ade74789daca21ea9e | |
parent | 7746a1f74fa7696452a3c25953c7fb9a5feb5a6c (diff) | |
download | gunmake-97f106fa105b5d776fb0d6ce3b60493d25f825f4.tar.gz |
- Add whitespace to command line invocation in features/recursion
- Set up .FEATURES with separate calls for optional features, as some
compilers don't like conditionals inside macro invocations.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | main.c | 23 | ||||
-rw-r--r-- | tests/ChangeLog | 7 | ||||
-rw-r--r-- | tests/scripts/features/recursion | 2 |
4 files changed, 29 insertions, 9 deletions
@@ -1,3 +1,9 @@ +2010-07-01 Paul Smith <psmith@gnu.org> + + * main.c (main): Append optional features using separate calls. + Not as efficient but not all compilers allow conditionals inside + macro calls. Fixes Savannah bug #29244. + 2010-01-10 Paul Smith <psmith@gnu.org> * make.h (patheq): Rename strieq() to patheq() for clarity. @@ -1124,20 +1124,25 @@ main (int argc, char **argv, char **envp) /* define_variable_cname (".TARGETS", "", o_default, 0)->special = 1; */ define_variable_cname (".RECIPEPREFIX", "", o_default, 0)->special = 1; - /* Set up .FEATURES */ + /* Set up .FEATURES + We must do this in multiple calls because define_variable_cname() is + a macro and some compilers (MSVC) don't like conditionals in macros. */ define_variable_cname (".FEATURES", "target-specific order-only second-expansion else-if" - "shortest-stem undefine" + " shortest-stem undefine", + o_default, 0); #ifndef NO_ARCHIVES - "archives" + do_variable_definition (NILF, ".FEATURES", "archives", + o_default, f_append, 0); #endif #ifdef MAKE_JOBSERVER - "jobserver" + do_variable_definition (NILF, ".FEATURES", "jobserver", + o_default, f_append, 0); #endif #ifdef MAKE_SYMLINKS - "check-symlink" + do_variable_definition (NILF, ".FEATURES", "check-symlink", + o_default, f_append, 0); #endif - , o_default, 0); /* Read in variables from the environment. It is important that this be done before $(MAKE) is figured out so its definitions will not be @@ -3182,7 +3187,11 @@ die (int status) directory. Must wait until after remove_intermediates(), or unlinks of relative pathnames fail. */ if (directory_before_chdir != 0) - chdir (directory_before_chdir); + { + /* If it fails we don't care: shut up GCC. */ + int _x; + _x = chdir (directory_before_chdir); + } log_working_directory (0); } diff --git a/tests/ChangeLog b/tests/ChangeLog index eaacaec..c8f3aab 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2010-07-01 Paul Smith <psmith@gnu.org> + + * scripts/features/recursion: Add a space to separate command-line + args. Fixes Savannah bug #29968. + 2009-11-12 Boris Kolpackov <boris@codesynthesis.com> * scripts/features/vpath3: Test for the new library search @@ -6,7 +11,7 @@ 2009-10-06 Boris Kolpackov <boris@codesynthesis.com> * scripts/features/se_explicit: Enable the test for now fixed - savannah bug 25780. + Savannah bug 25780. 2009-10-06 Boris Kolpackov <boris@codesynthesis.com> diff --git a/tests/scripts/features/recursion b/tests/scripts/features/recursion index b9dfd4f..a6b8f90 100644 --- a/tests/scripts/features/recursion +++ b/tests/scripts/features/recursion @@ -16,7 +16,7 @@ last: @echo MAKELEVEL = $(MAKELEVEL) @echo THE END ', - ('CFLAGS=-O -w' . ($parallel_jobs ? '-j 2' : '')), + ('CFLAGS=-O -w' . ($parallel_jobs ? ' -j 2' : '')), ($vos ? "#MAKE#: Entering directory `#PWD#' make 'CFLAGS=-O' -f #MAKEFILE# foo |