ckormanyos/mpir
preserves the legacy
MPIR Library
from William Bart and the MPIR Team. The projects x86_64w/core2
and gc
(the generic project) and also the C++ wrapper cxx
have been included as solution build configurations. Both the lib
as well as the dll
configurations are available for all of these.
An optional test program using the wrapped gmp_float
type
from Boost.Multiprecision
is also included for optional use.
It appears as though the original MPIR source code
has for the most part fallen out of support. ckormanyos/mpir
preserves
the build of MPIR on VS2022 (and beyond).
ckormanyos/mpir
has, itself, initially been created as a fork of
winlibs/mpir.
ckormanyos/mpir
is now separated into its own standalone repo lacking legacy history.
The state of MPIR 3.0 is locked into ckormanyos/mpir
.
There are assembly files in this project. They are assembled to object code using the YASM assembler.
- The project is entirely standalone and has no dependencies. A local copy of YASM and its vsprops have been localized in the repo.
- In particular, the
core2
builds have been modified to use a local copy of YASM. - The YASM customization has been set to use the vsprops for YASM that are located in the build.vc directory.
- For other build configurations (if these are activated), you'll still need to enable the YASM customization as described below.
In order to build the core2
configurations of the project,
the so-called vsprops for YASM are needed.
These props basically tell VS how to handle the assembly
files with YASM and define the appropriate command lines needed.
Note that your assembly files need to have the extension .asm
.
The props from the ShiftMediaProject/VSYASM project have been successfully used in combination with VS2022.
To enable the YASM customization,
- Right-click on the project in the Solution Explorer.
- Select
Build Dependenciess...
andBuild Customizations...
to get to a dialog box that allows you to select YASM as the default assembler for.asm
assembly files. - Check the appropriate box for the props or navigate to it and then select it.
Continuous Integration (CI) runs on windows-latest
using the
generic configuration lib_mpir_gc
. The test program using
the wrapped gmp_float
type from Boost.Multiprecision
runs in the
CI pipeline. The program is built and executed and its results are verified
in the CI pipeline.
The MPIR Library itself is forked from the original GMP project, the GNU Multiple Precision Arithmetic Library.
Original docs from wbhart/mpir and winlibs/mpir can be found at their repository homes. Some of the links in the these original docs, however, seem to be broken at the moment.