DOKK / manpages / debian 12 / libextutils-hascompiler-perl / ExtUtils::HasCompiler.3pm.en
ExtUtils::HasCompiler(3pm) User Contributed Perl Documentation ExtUtils::HasCompiler(3pm)

ExtUtils::HasCompiler - Check for the presence of a compiler

version 0.023

 use ExtUtils::HasCompiler 'can_compile_extension';
 if (can_compile_extension()) {
   ...
 }
 else {
   ...
 }

This module tries to check if the current system is capable of compiling, linking and loading an XS module.

Notice: this is an early release, interface stability isn't guaranteed yet.

This checks if the system can compile, link and load a perl loadable object. It may take the following options:

  • quiet

    Do not output the executed compilation commands.

  • config

    An ExtUtils::Config (compatible) object for configuration.

  • skip_load

    This causes can_compile_loadable_object to not try to load the generated object. This defaults to true on a cross-compiling perl.

This checks if the system can compile and link a perl static library. It does not check it it can compile a new perl with it. It may take the following options:

  • quiet

    Do not output the executed compilation commands.

  • config

    An ExtUtils::Config (compatible) object for configuration.

This will call either "can_compile_loadable_object", or "can_compile_static_library", depending on which is the default on your configuration. In addition to the arguments listed above, it can take one more optional argument:

linktype

This will force the linktype to be either static or dynamic. Dynamic compilation on a static perl won't work, but static libraries can be viable on a dynamic perl.

Leon Timmermans <leont@cpan.org>

This software is copyright (c) 2014 by Leon Timmermans.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2022-10-13 perl v5.34.0