> Date: Mon, 14 Sep 2026 22:16:57 +0200
> From: Patrice Dumas <[email protected]>
> Cc: [email protected], [email protected]
> 
> On Mon, Sep 14, 2026 at 10:28:09PM +0300, Eli Zaretskii wrote:
> > > Date: Mon, 14 Sep 2026 19:00:07 +0200
> > > From: Patrice Dumas <[email protected]>
> > > Cc: [email protected], [email protected]
> > > 
> > > On Mon, Sep 14, 2026 at 01:22:15PM +0300, Eli Zaretskii wrote:
> > > > > Date: Sun, 13 Sep 2026 21:55:34 +0200
> > > > > From: Patrice Dumas <[email protected]>
> > > > > Cc: Eli Zaretskii <[email protected]>, [email protected]
> > > > > 
> > > > > > Patrice Dumas wrote:
> > > > > > > > Eli reported that texi2any in C cannot find the dll in windows 
> > > > > > > > and
> > > > > > > > proposed to have the dll also installed in bindir:
> > > > > > > > https://lists.gnu.org/archive/html/bug-texinfo/2026-02/msg00090.html
> > > > > > 
> > > > > > This sounds like a weird solution. How about making sure that, in 
> > > > > > the case
> > > > > > of texi2any, where libraries are installed in 
> > > > > > $(prefix)/lib/texi2any/lib/,
> > > > > > $PATH contains the directory $(prefix)/lib/texi2any/bin/ ?
> > > > > 
> > > > > That does not seems to me to be straightforward, this bin directory is
> > > > > not on the PATH, and if it was, texi2any is not there either.  A
> > > > > possibility could be to have it there and have a wrapper in bin, but 
> > > > > it
> > > > > is somewhat complicated.
> > > > 
> > > > Where is the .exe file in the above tree?
> > > 
> > > Here is the simplified tree with the binary and one library:
> > > bin/texi2any
> > > lib/texi2any/lib/libtexinfo.la
> > > 
> > > I passed -bindir $(librarydir)/../../../bin
> > 
> > Thanks, but I have difficulty understanding how these relative file
> > names are related to the ones mentioned above, those which start with
> > "$(prefix)/".  Can you clarify, or show more of the tree?
> 
> with $prefix, it would be
> usr/local/bin/texi2any
> usr/local/lib/texi2any/lib/libtexinfo.la
> 
> or, using the autoconf/automake conventions, + CONVERTER == texi2any
> $(bindir)/texi2any
> $(libdir)/$(CONVERTER)/lib/libtexinfo.la
> 
> librarydir is defined by:
> converterlibdir = $(libdir)/$(CONVERTER)
> librarydir = $(converterlibdir)/lib
> 
> and the library is in librarydir, so we could also say
> 
> $(bindir)/texi2any
> $(librarydir)/libtexinfo.la

With this structure, you need to put the DLL in $(bindir).  AFAIU,
using libtool will by default put it in $(librarydir)/../bin, which is
not what you want, because that directory will not be on PATH.  The
Windows loader of DLLs looks first in the same directory where the
program which loads the DLL lives, then on PATH (this is a very severe
simplification: the actual algorithm is much more complex, but these
two places are the only ones on which you can rely for any end-user
system).

  • how ... Patrice Dumas
    • ... Eli Zaretskii
      • ... Bruno Haible via Bug reports for the GNU Texinfo documentation system
        • ... Patrice Dumas
          • ... Patrice Dumas
          • ... Eli Zaretskii
            • ... Patrice Dumas
              • ... Eli Zaretskii
                • ... Patrice Dumas
                • ... Eli Zaretskii
                • ... Patrice Dumas
                • ... Eli Zaretskii
                • ... Patrice Dumas

Reply via email to