| ExtUtils::Builder::AutoDetect::C(3pm) | User Contributed Perl Documentation | ExtUtils::Builder::AutoDetect::C(3pm) |
ExtUtils::Builder::AutoDetect::C - compiler configuration, derived from perl's configuration
version 0.032
my $planner = ExtUtils::Builder::Planner->new;
$planner->load_extension('ExtUtils::Builder::AutoDetect::C', '0.001',
profiles => ['@Perl'],
type => 'loadable-object',
);
$planner->compile('foo.c', 'foo.o', include_dirs => ['.']);
$planner->link([ 'foo.o' ], 'foo.so', libraries => ['foo']);
my $plan = $planner->materialize;
$plan->run(['foo.so']);
This module is a ExtUtils::Builder::Planner::Extension that facilitates compiling object.
This adds two delegate methods to the planner, "compile" and "link". It takes named arguments that will be prefixed to the named arguments for all delegate calls. In practice, it's mainly useful with the "config", "profile" and "type" arguments.
If your $planner has a "config" delegate, that will be used as default value for "config".
This is usually not called directly, but through ExtUtils::Builder::Planner's "load_extension" method.
This compiles $source to $target. It takes the following optional arguments:
An executable to be run. This is the default.
A static library to link against.
A dynamic library to link against.
A loadable extension. On most platforms this is the same as a dynamic library, but some (Mac) make a distinction between these two.
Leon Timmermans <fawaka@gmail.com>
This software is copyright (c) 2012 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.
| 2025-05-16 | perl v5.40.1 |