Hi Antonin,

On 2024-06-03 12:05, Antonin Décimo wrote:
> Dear maintainers,
> 
> I've listed three little problems I've had using MSVC and Autoconf.
> They stem from MSVC not accepting the same parameters from the usual
> unix tools. I wonder if these could be fixed. I'm happy to help with
> testing.
> 
> Note that MSVC supports both `/param` and `-param` styles; the former
> being used in documentation, but I think we should prefer the latter
> for Unix compatibility (compilers might interpret the `/param` style
> as paths).

Yes, using the slash form of the options is fraught with peril (in
particular, MSYS looks for command line arguments that look like
UNIX-style absolute filenames and modifies them by prepending
drive letters).  Fortunately the hyphen form works fine.

> - `AC_SEARCH_LIBS`: the macro prepends `-llibrary` to `LIBS` to look
>   for a function in a library. MSVC doesn't recognize these arguments,
>   and expects `library.lib` at the end of its invocation.
>   Also applies to `{AC,AH}_CHECK_LIB`.
> 
> - Output file
> 
>   MSVC will stop supporting `/o`/`-o` to select its output file and is
>   already warning about it.
[...]

I guess you are not using Automake, because both of these problems
should be solved automatically by Automake.  Automake replaces $CC
with invocations through a wrapper script that knows how to translate
-l and -o options into MSVC equivalents (such as -Fo/-Fe).

If you don't want to use Automake I suggest at least using this
wrapper script in your project.

The combination of -c with -o is not even portable amongst POSIX
hosts (the POSIX-standard compiler commands leave the results of
this combination explicitly unspecified).

> - Version flag
> 
>   MSVC doesn't have a version flag but will report its version if
>   called directly.

I don't understand why this is important.

Cheers,
  Nick

Reply via email to