Subject: bug#48993: why error "unable to infer tagged configuration"?

From: Bruno Haible <[email-masked]>
Date: Tue, 07 Jan 2025 22:21:03 +0100

Hi Ileana,

> I do not see that Libtool supports ml64, the Microsoft Macro Assembler.
> ... However, an unsupported compiler
> could be used with a supported tag, which would lead to issues with
> object and library creation.

I see. Thanks for explaining.

> Since ml64 is unsupported, I suggest recreating the file in C, and then,
> the C compiler could be used to generate an assembly file to link within
> a library.

That would likely be more complex and more effort than adding ml64 support
to libtool.

What I did (and this worked) was to replace the command

  /bin/sh ../libtool --mode=compile ml64 -c -nologo avcall-x86_64.asm

with the sequence of commands

  ml64 -c -nologo avcall-x86_64.asm
  mkdir -p .libs; cp avcall-x86_64.@OBJEXT@ .libs/avcall-x86_64.@OBJEXT@
  sed -e 's/avcall-libapi/avcall-x86_64/g' < avcall-libapi.lo > avcall-x86_64.lo

The first line simply invokes ml64 with the given arguments.
The second line creates a copy of the .obj file under .libs/, like libtool
does for supported compilers.
The third line is a hack: it creates a .lo file, like libtool does for
supported compilers.  

Would it be possible to add support for ml64 to libtool, along these lines?

Bruno