ExtUtil...Compiler(3)

✨ ExtUtil...Compiler(3) ✨

okay bestie, this is the User Contributed Perl Documentation page titled ExtUtil...Compiler(3) β€” and yes, the module it's actually about is ExtUtils::HasCompiler. It's giving "can your system actually build this?" energy, and we're here for it. πŸ’…


🌸 NAME 🌸

ExtUtils::HasCompiler β€” check for the presence of a compiler.

πŸŽ€ VERSION πŸŽ€

version 0.025

πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌈 DESCRIPTION 🌈

This module tries to check if the current system is capable of compiling, linking and loading an XS module. Literally the vibe check for your compiler setup. πŸ”₯

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

πŸ‘‘ FUNCTIONS πŸ‘‘

πŸ’– can_compile_loadable_object(%opts) πŸ’–

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.

🧚 can_compile_static_library(%opts) 🧚

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.

πŸ“ can_compile_extension(%opts) πŸ“

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.

πŸ’œ AUTHOR πŸ’œ

Leon Timmermans <fawaka@gmail.com>

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.


xoxo, bestie πŸ’– this page is brought to you by perl v5.42.0, dated 2024-05-13. slay. 🫢

πŸ“¦ where this page comes from