The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

App::Packer::Frontend::ModuleInfo - an App::Packer::Frontend implementation

DESCRIPTION

This App::Packer frontend is based upon Module::Info. Module::Info is rather good at getting information from modules, but there are situatons when it needs some hints in order to wok correctly:

  • prerequisites

    Some modules (for example Tk::Entry) require some other module (Tk in this example) to be loaded in order to compile correctly.

  • informations

    Some modules use hard to detect techniques, for example they require other modules dynamically (i.e. require "$foo.pm"), or use dynamic loading through non-standard modules.

For this reason <App::Packer::Frontend::ModuleInfo> uses an hints file. An hints file looks like this:

  [prerequisites]
  tk=<<EOT
  ^Tk::
  Tk
  EOT

  [Module::Name]
  modules_used=<<EOT
  My::Module
  Your::Module
  EOT
  uses_dynamic_loading=1

The first section lists module prerequisites: each entry has the form:

  name=<<EOT
  pattern
  prereq1
  prereq2
  EOT