Browse Source

**/Mamfile: Use IFFEFLAGS variable to add iffe flags like -d1

It was unreasonably hard to debug problems with iffe tests that
fail to compile where they should (particularly output{ ... }end
blocks that write esserntial headers).

In e72543a9 the problem was already somewhat mitigated by making
some of the failing output{ ... }end blocks emit #error directives
so that invalid/incomplete headers would cause an error at a
sensible point, and not a much harder to track error later.

This commit further mitigates the problem by making the Mamfiles
respect an IFFEFLAGS environmenet variable that is prefixed to
every iffe command's arguments. The typical use would be to export
IFFEFLAGS=-d1 to enable debug level 1: show compiler output for all
iffe tests. This now makes it reasonably feasible to detect
problems in the feature tests themselves.

src/**/Mamfile:
- Import IFFEFLAGS environment variable using setv.
- Prefix ${IFFEFLAGS} to every iffe command.

src/**/features/*:
- Amend the new fail error messages to recommend exporting
  IFFEFLAGS=-d1 to show the cause of the failure.

README.md, TODO:
- Updates.
Martijn Dekker 3 năm trước cách đây
mục cha
commit
b6bd9815a4

+ 20 - 4
README.md

@@ -10,10 +10,10 @@ The sources in this repository were forked from the
 Github [AST repository](https://github.com/att/ast)
 which is no longer under active development.
 
-To see what's fixed, see [NEWS](https://github.com/ksh93/ksh/blame/master/NEWS)
+For user-visible fixes, see [NEWS](https://github.com/ksh93/ksh/blame/master/NEWS)
 and click on commit messages for full details.
-
-To see what's left to fix, see [TODO](./TODO).
+For all fixes, see [the commit log](https://github.com/ksh93/ksh/commits/).
+To see what's left to fix, see [the issue tracker](https://github.com/ksh93/ksh/issues).
 
 ## Policy
 
@@ -28,6 +28,11 @@ To see what's left to fix, see [TODO](./TODO).
    send pull requests. Every interested party is invited to contribute.
 6. To help increase everyone's understanding of this code base, fixes and
    significant changes should be fully documented in commit messages.
+7. Code style varies somewhat in this historic code base.
+   Your changes should match the style of the code surrounding it.
+   Indent with tabs, assuming an 8-space tab width.
+   Comments always use `/*`...`*/`.
+8. Good judgment may override this policy.
 
 ## Why?
 
@@ -75,6 +80,7 @@ to run the build scripts this way. For example:
 ```sh
 bin/package make SHELL=/bin/bash CCFLAGS="-O2 -I/opt/local/include" LDFLAGS="-L/opt/local/lib"
 ```
+
 For more information run
 ```sh
 bin/package help
@@ -82,7 +88,7 @@ bin/package help
 Many other commands in this repo self-document via the `--help`, `--man` and
 `--html` options; those that do have no separate manual page.
 
-## Test
+### Test
 
 After compiling, you can run the regression tests.
 Start by reading the information printed by:
@@ -90,6 +96,16 @@ Start by reading the information printed by:
 bin/shtests --man
 ```
 
+### Install
+
+Automated installation is not supported.
+To install manually:
+```sh
+cp arch/$(bin/package host type)/bin/ksh /usr/local/bin/
+cp src/cmd/ksh93/sh.1 /usr/local/share/man/man1/ksh.1
+```
+(adapting the destination directories as required).
+
 ## What is ksh93?
 
 The following is the official AT&T description from 1993 that came with the

+ 3 - 4
TODO

@@ -1,18 +1,17 @@
 TODO for AT&T ksh93, 93u+m bugfix branch
 
+See the issue tracker:
+https://github.com/ksh93/ksh/issues
+
 ______
 Fix regression test failures:
 
-- On OpenBSD, there are 15 locale-related test failures in variables.sh.
 - There are many regression test failures on NetBSD.
 
 ______
 Fix build system:
 
 - ksh does not currently build on AIX or QNX.
-- Reimport the removed nmake. It is necessary for changes in Makefiles
-  to take effect. The machine-generated Mamfiles are now used as a fallback,
-  but they are not meant to be edited by hand.
 
 ______
 Fix currently known bugs affecting shell scripting. These are identified by

+ 2 - 1
src/cmd/builtin/Mamfile

@@ -30,6 +30,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS
@@ -65,7 +66,7 @@ make install
 					meta FEATURE/pty features/%>FEATURE/% features/pty pty
 					make features/pty
 					done features/pty
-					exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} -lm' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libast} ${mam_libcmd} : run features/pty
+					exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} -lm' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libast} ${mam_libcmd} : run features/pty
 				done FEATURE/pty generated
 				make ${PACKAGE_ast_INCLUDE}/ast_time.h implicit
 				done ${PACKAGE_ast_INCLUDE}/ast_time.h

+ 1 - 1
src/cmd/builtin/features/pty

@@ -55,7 +55,7 @@ tst - output{
 		return 0;
 	}
 }end fail{
-	echo '#error The output block in src/cmd/builtin/features/pty failed to compile'
+	echo '#error The output block in src/cmd/builtin/features/pty failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 extern	_getpty		char*		(int*, int, mode_t, int)

+ 17 - 16
src/cmd/ksh93/Mamfile

@@ -28,6 +28,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS
@@ -94,7 +95,7 @@ make install
 					bind -last
 					bind -lm dontcare
 					bind -lnsl dontcare
-					exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/externs
+					exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/externs
 				done FEATURE/externs generated
 				make include/shell.h implicit
 					make ${PACKAGE_ast_INCLUDE}/cmd.h implicit
@@ -229,7 +230,7 @@ make install
 						meta FEATURE/time features/%>FEATURE/% features/time time
 						make features/time
 						done features/time
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/time
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/time
 						make ${PACKAGE_ast_INCLUDE}/times.h implicit
 							make ${PACKAGE_ast_INCLUDE}/ast_time.h implicit
 							done ${PACKAGE_ast_INCLUDE}/ast_time.h dontcare
@@ -244,14 +245,14 @@ make install
 							meta FEATURE/dynamic features/%>FEATURE/% features/dynamic dynamic
 							make features/dynamic
 							done features/dynamic
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/dynamic
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/dynamic
 							prev ${PACKAGE_ast_INCLUDE}/dlldefs.h implicit
 						done FEATURE/dynamic dontcare generated
 						make FEATURE/options implicit
 							meta FEATURE/options features/%>FEATURE/% features/options options
 							make features/options
 							done features/options
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/options
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/options
 						done FEATURE/options dontcare generated
 						prev ${PACKAGE_ast_INCLUDE}/option.h implicit
 					done include/builtins.h
@@ -272,13 +273,13 @@ make install
 								meta FEATURE/sigfeatures features/%>FEATURE/% features/sigfeatures sigfeatures
 								make features/sigfeatures
 								done features/sigfeatures
-								exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/sigfeatures
+								exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/sigfeatures
 							done FEATURE/sigfeatures dontcare generated
 							make FEATURE/setjmp implicit
 								meta FEATURE/setjmp features/%>FEATURE/% features/setjmp setjmp
 								make features/setjmp
 								done features/setjmp
-								exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/setjmp
+								exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/setjmp
 							done FEATURE/setjmp dontcare generated
 							prev ${PACKAGE_ast_INCLUDE}/sfio.h implicit
 							prev ${PACKAGE_ast_INCLUDE}/error.h implicit
@@ -315,7 +316,7 @@ make install
 					make include/path.h implicit
 						make FEATURE/acct implicit
 							meta FEATURE/acct >FEATURE/% acct
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def acct
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def acct
 						done FEATURE/acct dontcare generated
 						prev include/defs.h implicit
 						prev include/nval.h implicit
@@ -398,7 +399,7 @@ make install
 								meta FEATURE/ttys features/%>FEATURE/% features/ttys ttys
 								make features/ttys
 								done features/ttys
-								exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/ttys
+								exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/ttys
 							done FEATURE/ttys dontcare generated
 						done include/terminal.h dontcare
 						prev FEATURE/setjmp implicit
@@ -407,7 +408,7 @@ make install
 							meta FEATURE/locale features/%>FEATURE/% features/locale locale
 							make features/locale
 							done features/locale
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/locale
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/locale
 						done FEATURE/locale dontcare generated
 						prev FEATURE/options implicit
 					done include/edit.h dontcare
@@ -521,7 +522,7 @@ make install
 						meta FEATURE/poll features/%>FEATURE/% features/poll poll
 						make features/poll
 						done features/poll
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/poll
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/poll
 					done FEATURE/poll generated
 					prev FEATURE/time implicit
 					prev include/builtins.h implicit
@@ -587,7 +588,7 @@ make install
 							meta FEATURE/rlimits features/%>FEATURE/% features/rlimits rlimits
 							make features/rlimits
 							done features/rlimits
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/rlimits
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/rlimits
 						done FEATURE/rlimits dontcare generated
 						prev FEATURE/time implicit
 					done include/ulimit.h
@@ -647,15 +648,15 @@ make install
 					prev FEATURE/externs implicit
 					make FEATURE/execargs implicit
 						meta FEATURE/execargs >FEATURE/% execargs
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def execargs
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def execargs
 					done FEATURE/execargs generated
 					make FEATURE/pstat implicit
 						meta FEATURE/pstat >FEATURE/% pstat
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def pstat
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def pstat
 					done FEATURE/pstat generated
 					make FEATURE/setproctitle implicit
 						meta FEATURE/setproctitle >FEATURE/% setproctitle
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def setproctitle
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : def setproctitle
 					done FEATURE/setproctitle generated
 					prev FEATURE/time implicit
 					make include/timeout.h implicit
@@ -786,7 +787,7 @@ make install
 						meta FEATURE/cmds features/%>FEATURE/% features/cmds cmds
 						make features/cmds
 						done features/cmds
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/cmds
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/cmds
 					done FEATURE/cmds generated
 					prev FEATURE/time implicit
 					prev FEATURE/options implicit
@@ -1235,7 +1236,7 @@ make install
 							make data/math.tab implicit
 							done data/math.tab
 						done features/math.sh dontcare
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/math.sh ${PACKAGEROOT}/src/cmd/ksh93/data/math.tab
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${KSH_SHOPTFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdll} ${mam_libcmd} ${mam_libast} ${mam_libm} ${mam_libnsl} : run features/math.sh ${PACKAGEROOT}/src/cmd/ksh93/data/math.tab
 						make ${PACKAGE_ast_INCLUDE}/ast_standards.h implicit
 						done ${PACKAGE_ast_INCLUDE}/ast_standards.h dontcare
 					done FEATURE/math generated

+ 52 - 51
src/lib/libast/Mamfile

@@ -25,6 +25,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS
@@ -52,25 +53,25 @@ make install
 					meta FEATURE/standards features/%>FEATURE/% features/standards standards
 					make features/standards
 					done features/standards
-					exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/standards
+					exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/standards
 				done FEATURE/standards generated
 				make FEATURE/lib
 					meta FEATURE/lib features/%>FEATURE/% features/lib lib
 					make features/lib
 					done features/lib
-					exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/lib
+					exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/lib
 				done FEATURE/lib generated
 				make FEATURE/common
 					meta FEATURE/common features/%>FEATURE/% features/common common
 					make features/common
 					done features/common
-					exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/common
+					exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/common
 				done FEATURE/common generated
 				make FEATURE/param
 					meta FEATURE/param features/%.sh>FEATURE/% features/param.sh param
 					make features/param.sh
 					done features/param.sh
-					exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/param.sh
+					exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/param.sh
 					make std/endian.h implicit
 						make std/bytesex.h implicit
 							make ast_common.h implicit
@@ -88,36 +89,36 @@ make install
 												meta FEATURE/api features/%>FEATURE/% features/api api
 												make features/api
 												done features/api
-												exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/api
+												exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/api
 											done FEATURE/api generated
 											make FEATURE/eaccess implicit
 												meta FEATURE/eaccess features/%>FEATURE/% features/eaccess eaccess
 												make features/eaccess
 												done features/eaccess
-												exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/eaccess
+												exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/eaccess
 											done FEATURE/eaccess generated
 											make FEATURE/vmalloc implicit
 												meta FEATURE/vmalloc features/%>FEATURE/% features/vmalloc vmalloc
 												make features/vmalloc
 												done features/vmalloc
-												exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/vmalloc
+												exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/vmalloc
 												make FEATURE/mmap implicit
 													meta FEATURE/mmap features/%>FEATURE/% features/mmap mmap
 													make features/mmap
 													done features/mmap
-													exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/mmap
+													exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/mmap
 												done FEATURE/mmap dontcare generated
 											done FEATURE/vmalloc generated
 											make FEATURE/options implicit
 												meta FEATURE/options features/%>FEATURE/% features/options options
 												make features/options
 												done features/options
-												exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/options
+												exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/options
 											done FEATURE/options generated
 											prev FEATURE/mmap implicit
 											prev FEATURE/lib implicit
 										done features/map.c
-										exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/map.c
+										exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/map.c
 									done FEATURE/map generated
 									exec - cmp 2>/dev/null -s FEATURE/map ast_map.h || { rm -f ast_map.h; silent test -d . || mkdir .; ${STDCP} FEATURE/map ast_map.h; }
 								done ast_map.h dontcare generated
@@ -129,7 +130,7 @@ make install
 					meta FEATURE/aso features/%>FEATURE/% features/aso aso
 					make features/aso
 					done features/aso
-					exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/aso
+					exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/aso
 				done FEATURE/aso generated
 				prev ast_map.h
 				make ast_limits.h
@@ -197,7 +198,7 @@ make install
 							prev FEATURE/lib implicit
 							prev FEATURE/standards implicit
 						done features/limits.c
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/limits.c
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/limits.c
 					done FEATURE/limits generated
 					exec - cmp 2>/dev/null -s FEATURE/limits ast_limits.h || { rm -f ast_limits.h; silent test -d . || mkdir .; ${STDCP} FEATURE/limits ast_limits.h; }
 				done ast_limits.h generated
@@ -206,7 +207,7 @@ make install
 						meta FEATURE/stdio features/%>FEATURE/% features/stdio stdio
 						make features/stdio
 						done features/stdio
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/stdio
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/stdio
 						make include/sfio_s.h implicit
 						done include/sfio_s.h dontcare
 						make include/ast_std.h implicit
@@ -221,14 +222,14 @@ make install
 										make features/wchar
 											prev ast_common.h implicit
 										done features/wchar
-										exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/wchar
+										exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/wchar
 										make std/wctype.h implicit
 											make ast_wctype.h implicit
 												make FEATURE/wctype
 													meta FEATURE/wctype features/%>FEATURE/% features/wctype wctype
 													make features/wctype
 													done features/wctype
-													exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/wctype
+													exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/wctype
 													prev std/endian.h implicit
 													make std/wchar.h implicit
 														prev ast_wchar.h implicit
@@ -259,13 +260,13 @@ make install
 											meta FEATURE/sys features/%>FEATURE/% features/sys sys
 											make features/sys
 											done features/sys
-											exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/sys
+											exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/sys
 											prev std/endian.h implicit
 											prev std/endian.h implicit
 										done FEATURE/sys generated
 										prev FEATURE/lib implicit
 									done features/botch.c
-									exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/botch.c
+									exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/botch.c
 								done FEATURE/botch generated
 								exec - cmp 2>/dev/null -s FEATURE/botch ast_botch.h || { rm -f ast_botch.h; silent test -d . || mkdir .; ${STDCP} FEATURE/botch ast_botch.h; }
 							done ast_botch.h dontcare generated
@@ -278,17 +279,17 @@ make install
 											meta FEATURE/tty features/%>FEATURE/% features/tty tty
 											make features/tty
 											done features/tty
-											exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/tty
+											exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tty
 										done FEATURE/tty generated
 										make FEATURE/fs implicit
 											meta FEATURE/fs features/%>FEATURE/% features/fs fs
 											make features/fs
 											done features/fs
-											exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/fs
+											exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/fs
 										done FEATURE/fs generated
 										prev FEATURE/lib implicit
 									done features/fcntl.c
-									exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/fcntl.c
+									exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Icomp -Iinclude -Istd  ${LDFLAGS} ' run features/fcntl.c
 									make ast_fs.h implicit
 										prev FEATURE/fs
 										exec - cmp 2>/dev/null -s FEATURE/fs ast_fs.h || { rm -f ast_fs.h; silent test -d . || mkdir .; ${STDCP} FEATURE/fs ast_fs.h; }
@@ -318,7 +319,7 @@ make install
 						meta FEATURE/nl_types features/%>FEATURE/% features/nl_types nl_types
 						make features/nl_types
 						done features/nl_types
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/nl_types
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/nl_types
 					done FEATURE/nl_types generated
 					exec - cmp 2>/dev/null -s FEATURE/nl_types ast_nl_types.h || { rm -f ast_nl_types.h; silent test -d . || mkdir .; ${STDCP} FEATURE/nl_types ast_nl_types.h; }
 				done ast_nl_types.h generated
@@ -433,7 +434,7 @@ make install
 									meta FEATURE/dirent features/%>FEATURE/% features/dirent dirent
 									make features/dirent
 									done features/dirent
-									exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/dirent
+									exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/dirent
 									prev include/ast_std.h implicit
 								done FEATURE/dirent generated
 								exec - cmp 2>/dev/null -s FEATURE/dirent ast_dirent.h || { rm -f ast_dirent.h; silent test -d . || mkdir .; ${STDCP} FEATURE/dirent ast_dirent.h; }
@@ -452,7 +453,7 @@ make install
 										done include/modecanon.h
 										prev FEATURE/param implicit
 									done features/mode.c
-									exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Iinclude -Istd  ${LDFLAGS} ' run features/mode.c
+									exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Iinclude -Istd  ${LDFLAGS} ' run features/mode.c
 								done FEATURE/mode generated
 								exec - cmp 2>/dev/null -s FEATURE/mode ast_mode.h || { rm -f ast_mode.h; silent test -d . || mkdir .; ${STDCP} FEATURE/mode ast_mode.h; }
 							done ast_mode.h dontcare generated
@@ -515,7 +516,7 @@ make install
 						meta FEATURE/syscall features/%>FEATURE/% features/syscall syscall
 						make features/syscall
 						done features/syscall
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/syscall
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/syscall
 					done FEATURE/syscall dontcare generated
 					prev include/ast.h implicit
 				done misc/getcwd.c
@@ -672,7 +673,7 @@ make install
 								meta FEATURE/ccode features/%>FEATURE/% features/ccode ccode
 								make features/ccode
 								done features/ccode
-								exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/ccode
+								exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/ccode
 							done FEATURE/ccode generated
 							exec - cmp 2>/dev/null -s FEATURE/ccode ast_ccode.h || { rm -f ast_ccode.h; silent test -d . || mkdir .; ${STDCP} FEATURE/ccode ast_ccode.h; }
 						done ast_ccode.h dontcare generated
@@ -976,7 +977,7 @@ make install
 								meta FEATURE/time features/%>FEATURE/% features/time time
 								make features/time
 								done features/time
-								exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/time
+								exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/time
 							done FEATURE/time generated
 							exec - cmp 2>/dev/null -s FEATURE/time ast_time.h || { rm -f ast_time.h; silent test -d . || mkdir .; ${STDCP} FEATURE/time ast_time.h; }
 						done ast_time.h dontcare generated
@@ -1060,7 +1061,7 @@ make install
 							meta FEATURE/preroot features/%.sh>FEATURE/% features/preroot.sh preroot
 							make features/preroot.sh
 							done features/preroot.sh
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/preroot.sh
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/preroot.sh
 						done FEATURE/preroot generated
 						exec - cmp 2>/dev/null -s FEATURE/preroot preroot.h || { rm -f preroot.h; silent test -d . || mkdir .; ${STDCP} FEATURE/preroot preroot.h; }
 					done preroot.h generated
@@ -1122,7 +1123,7 @@ make install
 							meta FEATURE/tv features/%>FEATURE/% features/tv tv
 							make features/tv
 							done features/tv
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/tv
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tv
 							prev include/ast.h implicit
 						done FEATURE/tv generated
 						exec - cmp 2>/dev/null -s FEATURE/tv tv.h || { rm -f tv.h; silent test -d . || mkdir .; ${STDCP} FEATURE/tv tv.h; }
@@ -1207,7 +1208,7 @@ make install
 						meta FEATURE/prog features/%>FEATURE/% features/prog prog
 						make features/prog
 						done features/prog
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/prog
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/prog
 					done FEATURE/prog generated
 					make include/ast_windows.h implicit
 						make windows.h implicit
@@ -1405,7 +1406,7 @@ make install
 							meta FEATURE/sig features/%.sh>FEATURE/% features/sig.sh sig
 							make features/sig.sh
 							done features/sig.sh
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/sig.sh
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/sig.sh
 						done FEATURE/sig generated
 						exec - cmp 2>/dev/null -s FEATURE/sig sig.h || { rm -f sig.h; silent test -d . || mkdir .; ${STDCP} FEATURE/sig sig.h; }
 					done sig.h generated
@@ -1523,7 +1524,7 @@ make install
 								meta FEATURE/iconv features/%>FEATURE/% features/iconv iconv
 								make features/iconv
 								done features/iconv
-								exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/iconv
+								exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/iconv
 								prev include/ccode.h implicit
 								prev ast_common.h implicit
 							done FEATURE/iconv generated
@@ -1559,7 +1560,7 @@ make install
 						meta FEATURE/locale features/%>FEATURE/% features/locale locale
 						make features/locale
 						done features/locale
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/locale
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/locale
 					done FEATURE/locale generated
 					make port/lclang.h implicit
 						prev include/ast_windows.h implicit
@@ -1599,7 +1600,7 @@ make install
 							make features/float
 								prev FEATURE/standards implicit
 							done features/float
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/float
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/float
 							prev ast_common.h implicit
 						done FEATURE/float dontcare generated
 						make mman.h implicit
@@ -1629,7 +1630,7 @@ make install
 							meta FEATURE/sfio features/%>FEATURE/% features/sfio sfio
 							make features/sfio
 							done features/sfio
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/sfio
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/sfio
 						done FEATURE/sfio dontcare generated
 					done sfio/sfhdr.h
 				done port/mc.c
@@ -1901,7 +1902,7 @@ make install
 							make features/tmx
 								prev FEATURE/common implicit
 							done features/tmx
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/tmx
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tmx
 							prev tv.h implicit
 							prev include/tm.h implicit
 						done FEATURE/tmx generated
@@ -2003,7 +2004,7 @@ make install
 							make features/align.c
 								prev FEATURE/common implicit
 							done features/align.c
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/align.c
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/align.c
 						done FEATURE/align generated
 						exec - cmp 2>/dev/null -s FEATURE/align align.h || { rm -f align.h; silent test -d . || mkdir .; ${STDCP} FEATURE/align align.h; }
 					done align.h generated
@@ -2059,11 +2060,11 @@ make install
 								meta FEATURE/siglist features/%>FEATURE/% features/siglist siglist
 								make features/siglist
 								done features/siglist
-								exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/siglist
+								exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/siglist
 							done FEATURE/siglist generated
 							prev FEATURE/standards implicit
 						done features/signal.c
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/signal.c
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I.  ${LDFLAGS} ' run features/signal.c
 					done FEATURE/signal generated
 					prev sig.h implicit
 					prev include/ast.h implicit
@@ -2103,7 +2104,7 @@ make install
 									meta FEATURE/wait features/%>FEATURE/% features/wait wait
 									make features/wait
 									done features/wait
-									exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/wait
+									exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/wait
 								done FEATURE/wait generated
 								exec - cmp 2>/dev/null -s FEATURE/wait ast_wait.h || { rm -f ast_wait.h; silent test -d . || mkdir .; ${STDCP} FEATURE/wait ast_wait.h; }
 							done ast_wait.h dontcare generated
@@ -2199,7 +2200,7 @@ make install
 						meta FEATURE/tmlib features/%>FEATURE/% features/tmlib tmlib
 						make features/tmlib
 						done features/tmlib
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/tmlib
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tmlib
 					done FEATURE/tmlib generated
 					prev include/namval.h implicit
 					prev include/tm.h implicit
@@ -2429,7 +2430,7 @@ make install
 						meta FEATURE/tvlib features/%>FEATURE/% features/tvlib tvlib
 						make features/tvlib
 						done features/tvlib
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/tvlib
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/tvlib
 					done FEATURE/tvlib generated
 					prev include/tm.h implicit
 					prev tv.h implicit
@@ -2909,7 +2910,7 @@ make install
 						meta FEATURE/errno features/%>FEATURE/% features/errno errno
 						make features/errno
 						done features/errno
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/errno
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/errno
 					done FEATURE/errno generated
 					prev port/lclib.h implicit
 				done string/strerror.c
@@ -2991,7 +2992,7 @@ make install
 							meta FEATURE/vfork features/%>FEATURE/% features/vfork vfork
 							make features/vfork
 							done features/vfork
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/vfork
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/vfork
 						done FEATURE/vfork generated
 						exec - cmp 2>/dev/null -s FEATURE/vfork ast_vfork.h || { rm -f ast_vfork.h; silent test -d . || mkdir .; ${STDCP} FEATURE/vfork ast_vfork.h; }
 					done ast_vfork.h dontcare generated
@@ -3128,7 +3129,7 @@ make install
 						meta FEATURE/hack features/%>FEATURE/% features/hack hack
 						make features/hack
 						done features/hack
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/hack
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/hack
 					done FEATURE/hack generated
 					prev include/ls.h implicit
 					prev include/ast.h implicit
@@ -3146,7 +3147,7 @@ make install
 						meta FEATURE/omitted features/%>FEATURE/% features/omitted omitted
 						make features/omitted
 						done features/omitted
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/omitted
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/omitted
 					done FEATURE/omitted generated
 					prev include/tm.h implicit
 					prev include/error.h implicit
@@ -4399,7 +4400,7 @@ make install
 							prev FEATURE/float implicit
 							prev FEATURE/common implicit
 						done features/sfinit.c
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Istd  ${LDFLAGS} ' run features/sfinit.c
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} -I. -Istd  ${LDFLAGS} ' run features/sfinit.c
 					done FEATURE/sfinit generated
 					prev FEATURE/float implicit
 					prev sfio/sfhdr.h implicit
@@ -5188,7 +5189,7 @@ make install
 						meta FEATURE/uwin features/%>FEATURE/% features/uwin uwin
 						make features/uwin
 						done features/uwin
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/uwin
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/uwin
 					done FEATURE/uwin dontcare generated
 					prev uwin.h implicit
 					prev include/ast_windows.h implicit
@@ -5519,7 +5520,7 @@ make install
 						meta FEATURE/libpath features/%.sh>FEATURE/% features/libpath.sh libpath
 						make features/libpath.sh
 						done features/libpath.sh
-						exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/libpath.sh
+						exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/libpath.sh
 					done FEATURE/libpath generated
 					make conftab.h implicit
 					done conftab.h
@@ -5624,7 +5625,7 @@ make install
 							meta FEATURE/asometh features/%>FEATURE/% features/asometh asometh
 							make features/asometh
 							done features/asometh
-							exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/asometh
+							exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/asometh
 						done FEATURE/asometh dontcare generated
 						make include/fnv.h implicit
 							prev ast_common.h implicit
@@ -7119,7 +7120,7 @@ make install
 				meta FEATURE/ndbm features/%>FEATURE/% features/ndbm ndbm
 				make features/ndbm
 				done features/ndbm
-				exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/ndbm
+				exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/ndbm
 				prev std/stdio.h implicit
 			done FEATURE/ndbm generated
 			exec - cmp 2>/dev/null -s FEATURE/ndbm ast_ndbm.h || { rm -f ast_ndbm.h; silent test -d . || mkdir .; ${STDCP} FEATURE/ndbm ast_ndbm.h; }
@@ -7200,7 +7201,7 @@ make install
 				meta FEATURE/sizeof features/%>FEATURE/% features/sizeof sizeof
 				make features/sizeof
 				done features/sizeof
-				exec - iffe -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' run features/sizeof
+				exec - iffe ${IFFEFLAGS} -v -X ast -X std -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' run features/sizeof
 			done FEATURE/sizeof generated
 			exec - cmp 2>/dev/null -s FEATURE/sizeof ast_sizeof.h || { rm -f ast_sizeof.h; silent test -d . || mkdir .; ${STDCP} FEATURE/sizeof ast_sizeof.h; }
 		done ast_sizeof.h generated

+ 1 - 1
src/lib/libast/features/common

@@ -353,7 +353,7 @@ tst	- output{
 		return 0;
 	}
 }end fail{
-	echo '#error Output block #2 in src/lib/libast/features/common failed to compile'
+	echo '#error Output block #2 in src/lib/libast/features/common failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	- -DN=1 - -DN=0 output{

+ 3 - 3
src/lib/libast/features/float

@@ -895,7 +895,7 @@ tst	- note{ missing floating point limits }end output{
 		return 0;
 	}
 }end fail{
-	echo '#error Output block #1 in src/lib/libast/features/float failed to compile'
+	echo '#error Output block #1 in src/lib/libast/features/float failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	- note{ double exponent bitfoolery }end output{
@@ -931,7 +931,7 @@ tst	- note{ double exponent bitfoolery }end output{
 		return 0;
 	}
 }end fail{
-	echo '#error Output block #2 in src/lib/libast/features/float failed to compile'
+	echo '#error Output block #2 in src/lib/libast/features/float failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	- note{ long double exponent bitfoolery }end output{
@@ -967,7 +967,7 @@ tst	- note{ long double exponent bitfoolery }end output{
 		return 0;
 	}
 }end fail{
-	echo '#error Output block #3 in src/lib/libast/features/float failed to compile'
+	echo '#error Output block #3 in src/lib/libast/features/float failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	- -DN=1 - -DN=2 note{ _ast_fltmax_t maximum integral type }end output{

+ 1 - 1
src/lib/libast/features/lib

@@ -700,7 +700,7 @@ tst	- output{
 	}
 
 }end fail{
-	echo '#error The output block in src/lib/libast/features/lib failed to compile'
+	echo '#error The output block in src/lib/libast/features/lib failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	no64 -D_LARGEFILE64_SOURCE note{ largefile 64 broken }end execute{

+ 1 - 1
src/lib/libast/features/sfio

@@ -15,7 +15,7 @@ tst	- note{ number of bits in pointer }end output{
 		return 0;
 	}
 }end fail{
-	echo '#error The output block in src/lib/libast/features/sfio failed to compile'
+	echo '#error The output block in src/lib/libast/features/sfio failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end
 
 tst	tmp_rmfail note{ open files cannot be removed }end execute{

+ 1 - 1
src/lib/libast/features/sizeof

@@ -11,5 +11,5 @@ tst	- note{ sizeof(integral-type) }end output{
 		return 0;
 	}
 }end fail{
-	echo '#error The output block in src/lib/libast/features/sizeof failed to compile'
+	echo '#error The output block in src/lib/libast/features/sizeof failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end

+ 5 - 4
src/lib/libcmd/Mamfile

@@ -27,6 +27,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS ""
@@ -115,7 +116,7 @@ make install
 									done features/symlink
 									bind -lutil
 									bind -last
-									exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/symlink
+									exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/symlink
 								done FEATURE/symlink generated
 								make fts_fix.h implicit
 									make ${PACKAGE_ast_INCLUDE}/fts.h implicit
@@ -303,7 +304,7 @@ make install
 									meta FEATURE/sockets features/%>FEATURE/% features/sockets sockets
 									make features/sockets
 									done features/sockets
-									exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/sockets
+									exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/sockets
 								done FEATURE/sockets generated
 								prev ${PACKAGE_ast_INCLUDE}/ls.h implicit
 								prev cmd.h implicit
@@ -331,7 +332,7 @@ make install
 									meta FEATURE/ids features/%>FEATURE/% features/ids ids
 									make features/ids
 									done features/ids
-									exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/ids
+									exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/ids
 								done FEATURE/ids generated
 								prev cmd.h implicit
 							done id.c
@@ -426,7 +427,7 @@ make install
 									meta FEATURE/utsname features/%>FEATURE/% features/utsname utsname
 									make features/utsname
 									done features/utsname
-									exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/utsname
+									exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libutil} ${mam_libast} : run features/utsname
 								done FEATURE/utsname generated
 								prev ${PACKAGE_ast_INCLUDE}/proc.h implicit
 								prev cmd.h implicit

+ 2 - 1
src/lib/libdll/Mamfile

@@ -27,6 +27,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS
@@ -179,7 +180,7 @@ make install
 							done features/dll
 							bind -ldl dontcare
 							bind -last
-							exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} -lm' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdl} ${mam_libast} : run features/dll
+							exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} -lm' ref ${mam_cc_L+-L.} ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libdl} ${mam_libast} : run features/dll
 						done FEATURE/dll generated
 						exec - cmp 2>/dev/null -s FEATURE/dll dlldefs.h || { rm -f dlldefs.h; silent test -d . || mkdir .; cp FEATURE/dll dlldefs.h; }
 					done dlldefs.h generated

+ 1 - 1
src/lib/libdll/features/dll

@@ -262,5 +262,5 @@ tst	- output{
 		return 0;
 	}
 }end fail{
-	echo '#error The output block in src/lib/libdll/features/dll failed to compile'
+	echo '#error The output block in src/lib/libdll/features/dll failed to compile. Rebuild with IFFEFLAGS=-d1 to debug.'
 }end

+ 2 - 1
src/lib/libsum/Mamfile

@@ -27,6 +27,7 @@ setv CPIOFLAGS
 setv CPP "${CC} -E"
 setv F77 f77
 setv HOSTCC ${CC}
+setv IFFEFLAGS
 setv IGNORE
 setv LD ld
 setv LDFLAGS
@@ -130,7 +131,7 @@ make install
 						make features/sum
 						done features/sum
 						bind -last
-						exec - iffe -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS}   ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libast} : run features/sum
+						exec - iffe ${IFFEFLAGS} -v -c '${CC} ${mam_cc_FLAGS} ${KSH_RELFLAGS} ${CCFLAGS} ${LDFLAGS} ' ref ${mam_cc_L+-L${INSTALLROOT}/lib} -I${PACKAGE_ast_INCLUDE} -I${INSTALLROOT}/include ${mam_libast} : run features/sum
 					done FEATURE/sum generated
 					make ${PACKAGE_ast_INCLUDE}/hashpart.h implicit
 						prev ${PACKAGE_ast_INCLUDE}/prototyped.h implicit