Module:...External(3)

okay so bestie, this is the Module::Install::External(3) page from the User Contributed Perl Documentation β€” and it's literally about declaring dependencies on non-Perl stuff. iconic. πŸ’…βœ¨

NAME πŸ¦‹

Module::Install::External β€” Specify dependencies on external non-Perl things. That's the whole assignment, and it ate. πŸ’–

DESCRIPTION ✨

Module::Install::External provides commands that let you declaratively specify a dependency on a program or system that is not Perl. No cap, that's the vibe. πŸŽ€

The commands it provides are similar to those in Module::Install::Can, except that they implement an explicit dependency, in addition to just working out if the particular thing is available. So it's not only "is this around?" β€” it's "we actually need this." Periodt. 🫢

COMMANDS πŸŽ€

requires_xs

requires_xs;

The requires_xs command explicitly specifies that a C compiler and the perl header files are required in order to build (at make-time) the distribution (specifically XS files). Basically: compiler + perl headers + XS files = the build needs them, bestie. πŸ‘‘

It does not take any params, and aborts the Makefile.PL execution in a way that an automated installation or testing system will interpret as a "NA" ("not applicable to this platform") result. This may be changed to an alternative abort result at a later time. Returns true as a convenience. πŸ’…

requires_external_cc

requires_external_cc;

The requires_external_cc command explicitly specifies that a C compiler is required in order to build (at make-time) the distribution. Just the C compiler this time β€” very focused, very main character. 🌸

It does not take any params, and aborts the Makefile.PL execution in a way that an automated installation or testing system will interpret as a "NA" ("not applicable to this platform") result. This may be changed to an alternative abort result at a later time. Returns true as a convenience. πŸ’œ

requires_external_bin

requires_external_bin 'cvs';

The requires_external_bin command takes the name of a system command or program, similar to the can_run command, except that requires_external_bin checks in a way that is a declarative explicit dependency. It's giving "not just checking, actually declaring." πŸ”₯

It takes a single param of the command/program name, and aborts the Makefile.PL execution in a way that an automated installation or testing system will interpret as a "NA" ("not applicable to this platform") result. Returns true as a convenience. 🌈

TO DO πŸ“

  • Work out how to save the external dependency metadata, in agreement with the larger Perl community.
  • Implement the agreed external dependency metadata solution.

AUTHORS πŸ‘‘

Adam Kennedy <adamk@cpan.org> β€” the icon behind this page. πŸŽ€

SEE ALSO 🌈

Module::Install

Copyright 2006 Adam Kennedy.

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

See <http://www.perl.com/perl/misc/Artistic.html>


bye bestie πŸ’‹ β€” this page is from perl v5.42.0, dated 2023-04-29, and its page name is Module:...External(3). mwah πŸ«ΆπŸŽ€

πŸ“¦ where this page comes from