tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Changing make(1) behavior: overriding suffix rule selection
>While the behavior is historical, it can also lead to problems if
>the user is expecting POSIX compliant or gmake compatible behavior.
>A consensus on how make should work in this case is needed.
As someone else pointed out in the earlier thread we have
.POSIX:
as a means of indicating a desire for POSIX behavior.
Right now it only affects the makefiles themselves (by setting %POSIX)
but make itself can also take note and use it to enable any
"strict POSIX" behavior that might break compatability.
This is what I did in the patch I have.
The unit tests which rely on the new behavior
have .POSIX: at their start and thus behave as desired.
The imsrc-compat one I posted the other day does not, and so behaves in
the old way.
Since I put the white-space handling into that bucket, I just did
diff -r 60c0e077d44f bmake/parse.c
--- a/bmake/parse.c Sat Aug 30 16:06:21 2014 -0700
+++ b/bmake/parse.c Thu Sep 04 13:29:50 2014 -0700
@@ -1566,6 +1566,7 @@
#ifdef POSIX
case Posix:
Var_Set("%POSIX", "1003.2", VAR_GLOBAL, 0);
+ posix_strict = 1; /* we need to know now */
break;
#endif
The number of places that 'posix_strict' needs to be tested is low
(about 6 in my patch).
Home |
Main Index |
Thread Index |
Old Index