On 02/09/2021 08:58, Juha Nieminen wrote:
> Christian Gollwitzer <
auri...@gmx.de> wrote:
>> And, even more likely, there is no volunteer available to maintain a
>> Windows-only alternative Makefile / build solution. They write on their
>> page "GMP's main target platforms are Unix-type systems, such as
>> GNU/Linux, Solaris, HP-UX, Mac OS X/Darwin, BSD, AIX, etc. It also is
>> known to work on Windows in both 32-bit and 64-bit mode."
>>
>> So you *can* run it on Windows. MSYS2, btw, is not some sort of Linux
>> emulation for Windows, as it might seem and opposed to Cygwin or WSL.
>
> You can run *what* on Windows? GMP is not a program. It's a library,
> which you can use in your programs.
>
> It's just a question of how many hurdles the developers have put to
> make it possible to compile it so that you can use it in your program.
>
> (One thing I really detest in the unix style source code design is the
<snip>
> hostages.)
>
I doubt if anyone will try to suggest that configure scripts are always
written perfectly, or that even that it is a good way to handle
cross-system compatibility in modern times.
However, you are writing as though the GMP authors have a duty and a
responsibility to make life easier for any programmers, on any system,
with any preferences for how they want to get the library and make use
of it. They have no such duty. These are people who have got together
with a common need - for high-performance arbitrary precision arithmetic
- and decided they would get better results working together on a common
library than doing so separately. I'm sure they also enjoy helping
others, and feel it is a good thing to make their code available.
They don't /owe/ you anything. They don't owe Windows developers
anything. They don't owe Linux developers, or Solaris developers, or
anyone else.
If other people want to make GMP easier to install on Windows, that's
great. If other people want to make it easer to install on Linux, or
anything else, that's great too. Only a small fraction of Linux users
would install it by downloading and doing the ".configure && make &&
make install" dance. Most would do "apt-get install libgmp-dev", or
similar.)
And it turns out that people /have/ made things easier for getting GMP
on Windows. If you use cygwin, the library is there. If you use msys2,
the library is there. If you want to use it from MSVC, instructions and
project settings are available. If you want to use it from Python, or
PHP, or another language, packages are available.
Perhaps things won't work immediately, or there are complications that
you need to work through. But frankly, if you are not able to figure it
out then you are probably not in a position to make much use of such a
library anyway.
One thing we can be sure about, however. If someone provides a library
like this "in the unix way", it might be difficult to use on a Windows
system, but it will be possible (baring unix-specific features). If
they were to make a Windows library in "the Windows way", it can't be
used on anything else. Hell, it probably won't even be usable if you
don't have MSVC, which in turn tries to push you to the latest updates
of the latest version of Windows.