This module wraps the MPC library functions. The MPC library is a C library for multiple-precision complex number computations with exact rounding. It is based on the MPFR C library which, in turn, is based on the GMP C library. MPC, like MPFR and GMP, is free. It is distributed under the GNU Lesser General Public License (GNU Lesser GPL). Because this module wraps the MPC functions, it requires that the MPC library (version 0.5 or later), the GMP library (version 4.2.0 or later) and the MPFR library (version 2.3.0 or later) have been installed. For the GMP library see: http://swox.com/gmp For the MPFR library see: http://www.mpfr.org Do not use the (outdated) MPFR library source that ships with the GMP source. For the MPC library see: http://www.multiprecision.org/mpc/ You'll also need to have Math::MPFR (version 2.01 or later) installed. To build this module you need perl 5.6.0 or later. I'm not sure of all the requirements to get it to build with earlier versions of perl, but it's definite that the XS code relating to operator overloading will not compile with perl versions prior to 5.6. Build in the usual way: perl Makefile.PL make make test make install When building this module, the MPC, GMP and MPFR libraries will need to be accessible. If those files are in a location where your compiler does not find them by default, then instead of running 'perl Makefile.PL', you'll need to run: perl Makefile.pl INC="-I/path/to/gmp_includes -I/path/to/mpfr_includes -I/path/to/mpc/include" LIBS="-L/path/to/mpc_lib -lmpc -L/path/to/mpfr_lib -lmpfr -L/path/to/gmp_lib -lgmp" ============== 64-bit support ============== If your perl's Config reports that 'use64bitint' is defined, or that 'use64bitall' is defined, or that 'usemorebits' is defined, or that 'ivsize' is 8, then Math::MPC will, by default, be built with access to the mpfr_*_uj and mpfr_*_sj functions. Else, access to those functions is, by default, denied. You can override the default by opening up the Makefile.PL and uncommenting the appropriate line (just a few lines down from the top of the file ... the comments in that file should make it clear). Similarly, if your perl's Config reports that 'uselongdouble' is defined, or that 'usemorebits' is defined, or that 'longdblsize' == 'doublesize', then Math::MPC will, by default, be built with access to the mpfr_*_ld functions. Else, access to those functions is, by default, denied. You can override the default by opening up the Makefile.PL and uncommenting the appropriate line (just a few lines down from the top of the file ... the comments in that file should make it clear). I believe it to be both unnecessary and inadvisable to override the default - but if you do find that you need to override the default, please let me know. That you have found it necessary to override the default is something I probably ought to know about. I am contactable by email at sisyphus at(@) cpan dot (.) org. ========== MS WINDOWS ========== If building with an MSVC++ compiler against MinGW-built mpc, gmp and mpfr libs, you'll need to additionally link to MinGW's libgcc.a and libcoldname.a. First, create copies of the 5 '.a' files (named libmpc.lib, libgmp.lib, libmpfr.lib, libgcc.lib, libcoldname.lib) and then run: perl Makefile.pl INC="-IC:/path/to/gmp_includes -I/path/to/mpfr_includes -IC:/path/to/mpc_include" LIBS="-LC:/path/to/mpc_lib -lmpc -LC:/path/to/gcc_lib -lgcc -LC:/path/to/coldname_lib -lcoldname -LC:/path/to/mpfr_lib -lmpfr -LC:/path/to/gmp_lib -lgmp"