Eric Blake wrote: > | + echo " m4_ifval([${macro_prefix_arg}_LIBSOURCES_LIST], [" > > This needs to be m4_ifset, not m4_ifval. As written, you are checking > that *_LIBSOURCES_LIST is not the empty string (it's not)
Oops. I actually want to use m4_ifval, not m4_ifset, because it's a simple binary test, not forcing me to think about the distinction between undefined and empty value. (I hate JavaScript, where undefined, null, and empty string are 3 different values!) This fixes it and is what I meant: --- gnulib-tool.orig 2008-05-14 04:05:59.000000000 +0200 +++ gnulib-tool 2008-05-14 04:04:02.000000000 +0200 @@ -2067,7 +2067,7 @@ # The check is performed only when autoconf is run from the directory where # the configure.ac resides; if it is run from a different directory, the # check is skipped. - echo " m4_ifval([${macro_prefix_arg}_LIBSOURCES_LIST], [" + echo " m4_ifval(${macro_prefix_arg}_LIBSOURCES_LIST, [" echo " m4_syscmd([test ! -d ]${macro_prefix_arg}_LIBSOURCES_DIR[ ||" echo " for gl_file in ]${macro_prefix_arg}_LIBSOURCES_LIST[ ; do" echo " if test ! -r ]${macro_prefix_arg}_LIBSOURCES_DIR[/\$gl_file ; then"