[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Improve Autoconf MSVC support
From: |
Antonin Décimo |
Subject: |
Improve Autoconf MSVC support |
Date: |
Mon, 3 Jun 2024 18:05:45 +0200 |
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).
- `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.
> cl : Command line warning D9035 : option 'o' has been deprecated
and will be removed in a future release
MSVC uses the `/Fo` option to specify the object file name (in
conjunction with the `/c` option), and the `/Fe` option to specify
the executable file name.
https://learn.microsoft.com/en-us/cpp/build/reference/fo-object-file-name?view=msvc-170
https://learn.microsoft.com/en-us/cpp/build/reference/fe-name-exe-file?view=msvc-170
- Version flag
MSVC doesn't have a version flag but will report its version if
called directly.
> cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.41.33901 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
Best regards,
-- Antonin
- Improve Autoconf MSVC support,
Antonin Décimo <=