Eric Blake wrote: > ... Compare to the problem we > were solving earlier with fclose vs. fflush being in separate > directories, and the AC_LIBOBJ([fflush]) giving us grief. > > Which is why we need a separate module as prereq for both strerror and > strerror_r-posix, so that the AC_LIBOBJ only occurs in one directory > corresponding to where strerror-override.c is placed.
A separate module is generally a good thing in a situation like this, yes. I didn't mean to dissuade you from creating the separate module. > If you have > strerror in libs and strerror_r in tests, and both try to do AC_LIBOBJ, > then you get into the funky situation where strerror-overrided.c is not > in the tests directory and the build fails. It will work *if* both strerror and strerror_r-posix have lib/strerror-overrided.c among their file list. The rule about AC_LIBOBJ is: The module which triggers an AC_LIBOBJ([foo]) must have lib/foo.c in its file list. Look in gnulib-tool, function func_modules_to_filelist_separately, how the final file list will be computed. It's done correctly in module 'malloc-posix' and 'malloc-gnu', for example. But there are many places in gnulib which we need to fix. Bruno -- In memoriam Robert F. Kennedy <http://en.wikipedia.org/wiki/Robert_F._Kennedy>