Find file
Fetching contributors…
Cannot retrieve contributors at this time
128 lines (65 sloc) 2.51 KB


libperl++ - Install




 perl Build.PL
 ./Build test
 ./Build install


Compiling libperl++ requires a number of dependencies to be fullfilled

  • perl 5.8 or higher. perl 5.10 or higher is recommended.
  • A recent C++ compiler. Compilers that should be able to compile libperl++ are:
    • GCC 4.5 or higher

      GCC support is well tested.

    • MS Visual C++ 2010

      Note that due to the state of Perl's C++ toolchain on Windows, MSVC++ support is sadly theoretical currently.

    Recent version of the Intel and Codeweavers compilers might work too, but have not been tried in any way.

  • The Boost libraries. Note that this only includes headers, not runtime libraries.
  • Some Perl libraries
    • Archive::Tar (included in perl 5.10.0)
    • ExtUtils::CBuilder (included in perl 5.10.0)
    • Module::Load (included in perl 5.10.0)
    • TAP::Harness 3 (included in perl 5.10.1)


libperl++'s build process is Build.PL compatible. All actions take options in the form options=value, though if no value is given 1 is assumed.

Creating the Build executable

The Build executable can be generated by issuing

 perl Build.PL

Any options given to it will be saved and passed on to all subsequent calls of Build. Most options for Build actions are specific for that action, except quiet, which is used by almost all Build actions. The default is 0.

Building the library


This can take one option:

  • --include_dir <dir>

    This argument adds a directory to the include path. It can be repeated to include multiple paths. In particular, you may need this on some platforms to indicate the location of boost.

Running tests

 ./Build test

The amount of information given depends on the value of quiet. It can take values from -1 to 3, from printing out individual tests to printing out nothing.

Installing the library

 ./Build install

Install can take a number of options

  • --install_path type=path

    This sets the install path of type to path. Type can be any of these:

    • lib
    • headers
    • libdoc
    • so
  • --installdirs <target>

    Sets the install target to target. Target should be either site (the default), vendor or core.

  • --install_base <base-path>

    Install the targets to paths derived from base-path.