Subject: bug#23599: Including search directories for pdf and dvi

From: Mike Frysinger <[email-masked]>
Date: Sat, 22 Jan 2022 21:06:49 -0500

On 22 Jan 2022 14:43, Karl Berry wrote:
>     TEXI2DVI = texi2dvi -I libc -I libm
> 
> Couldn't it be set in each directory individually?

there is no subdir makefile.
newlib/Makefile:
TEXI2DVI = ...common setting...
include libc/local.mk
include libm/local.mk

libc/local.mk:
info_TEXINFOS += %D%/libc.texi
%C%_libc_TEXINFOS = ...

libm/local.mk:
info_TEXINFOS += %D%/libm.texi
%C%_libm_TEXINFOS = ...

the point is to avoid recursive makes to speed things up, so the variable
namespace is flat, and there currently afaict is no support for per-target
commands or flags.  i.e. this doesn't work:
info_TEXINFOS = libc.texi
libc_TEXINFOS = ...
libc_TEXI2DVI = ...       <- doesn't work
libc_MAKEINFOFLAGS = ...  <- doesn't work

>     * i guess delete the MAKEINFO= env var passing to texi2dvi &
>       texi2pdf ?  if we don't want it to be used, prob best to throw it
>       away to avoid confusion.
> 
> Oh, looking again, I see the confusion: texi2dvi does use $MAKEINFO --
> not jut for "options" to be passed to it, but as the invocation
> of the makeinfo program. As in:
> 
> texi2dvi:1193:    makeinfo=${MAKEINFO:-makeinfo}
> ..
> texi2dvi:1243:      | eval $makeinfo --footnote-style=end -I "$in_dir" $run_mi_includes \
> 
> So it is not ignored.

that's the -E (expand) code path :).  if expand isn't set, makeinfo isn't
set, so that eval wouldn't be run.  that said, the expand code path also
runs if it thinks tex is broken and doesn't expand correctly.  so i guess
if we want to keep that working, we'll want to pass the settings down.
-mike