Affix
view release on metacpan or search on metacpan
"CPAN::Meta" : "2.150012",
"Exporter" : "5.57",
"ExtUtils::Helpers" : "0.028",
"ExtUtils::Install" : "0",
"ExtUtils::InstallPaths" : "0.002",
"File::Basename" : "0",
"File::Find" : "0",
"File::Path" : "0",
"File::Spec::Functions" : "0",
"Getopt::Long" : "2.36",
"JSON::PP" : "2",
"Path::Tiny" : "0",
"perl" : "v5.40.0"
}
},
"runtime" : {
"requires" : {
"Capture::Tiny" : "0",
"Carp" : "0",
"Path::Tiny" : "0",
"Storable" : "0",
"infix/CMakeLists.txt",
"infix/docs/**",
"infix/README.md",
"infix/SECURITY.md",
"infix/CHANGELOG.md",
"infix/CODE_OF_CONDUCT.md",
"infix/CONTRIBUTING.md",
"infix/build.pl",
".github/**"
],
"x_serialization_backend" : "JSON::PP version 4.16",
"x_static_install" : 0
}
CPAN::Meta: '2.150012'
Exporter: '5.57'
ExtUtils::Helpers: '0.028'
ExtUtils::Install: '0'
ExtUtils::InstallPaths: '0.002'
File::Basename: '0'
File::Find: '0'
File::Path: '0'
File::Spec::Functions: '0'
Getopt::Long: '2.36'
JSON::PP: '2'
Path::Tiny: '0'
perl: v5.40.0
dynamic_config: 0
generated_by: 'App::mii v1.0.0, CPAN::Meta::Converter version 2.150012'
keywords:
- ffi
- dll
- library
- wrapper
- jit
builder/Affix/Builder.pm view on Meta::CPAN
use feature 'class';
no warnings 'experimental::class';
class #
Affix::Builder {
use CPAN::Meta;
use ExtUtils::Install qw[pm_to_blib install];
use ExtUtils::InstallPaths 0.002;
use File::Basename qw[basename dirname];
use File::Path qw[make_path remove_tree];
use File::Spec::Functions qw[catfile catdir rel2abs abs2rel splitdir curdir];
use JSON::PP 2 qw[encode_json decode_json];
use File::Temp qw[tempfile];
# Not in CORE
use Path::Tiny qw[path cwd];
use ExtUtils::Helpers 0.028 qw[make_executable split_like_shell detildefy];
# infix and Affix stuff
use Config qw[%Config];
field $force : param //= 0;
field $debug : param = 0;
requires 'CPAN::Meta', '2.150012';
requires 'Exporter', '5.57';
requires 'ExtUtils::Helpers', '0.028';
requires 'ExtUtils::Install';
requires 'ExtUtils::InstallPaths', '0.002';
requires 'File::Basename';
requires 'File::Find';
requires 'File::Path';
requires 'File::Spec::Functions';
requires 'Getopt::Long', '2.36';
requires 'JSON::PP', '2';
requires 'Path::Tiny';
requires 'perl', 'v5.40.0';
};
on build => sub {
requires 'DynaLoader';
requires 'ExtUtils::CBuilder';
requires 'Getopt::Long', '2.36';
requires 'Path::Tiny';
};
on test => sub {
lib/Affix/Wrap.pm view on Meta::CPAN
package Affix::Wrap v1.0.9 {
use v5.40;
use feature 'class';
no warnings 'experimental::class';
no warnings 'experimental::builtin';
use Path::Tiny;
use Capture::Tiny qw[capture];
use JSON::PP;
use File::Basename qw[basename];
use Affix qw[];
#
class #
Affix::Wrap::Type {
use Affix qw[Void];
field $name : reader : param //= 'void';
method to_string { $self->name }
use overload '""' => 'to_string', fallback => 1;
lib/Affix/Wrap.pm view on Meta::CPAN
my @includes = map { "-I" . $self->_normalize($_) } @$include_dirs;
for my $d (@$project_dirs) { push @includes, "-I$d"; }
my @cmd = (
$clang, '-target', $self->_get_triple(), '-Xclang',
'-ast-dump=json', '-Xclang', '-detailed-preprocessing-record', '-fsyntax-only',
'-fparse-all-comments', '-Wno-everything', @includes, $ep_abs
);
my ( $stdout, $stderr, $exit ) = Capture::Tiny::capture { system(@cmd); };
if ( $exit != 0 ) { die "Clang Error:\n$stderr"; }
if ( $stdout =~ /^.*?(\{.*)/s ) { $stdout = $1; }
my $ast = JSON::PP::decode_json($stdout);
my @objects;
$self->_walk( $ast, \@objects, $ep_abs );
$self->_scan_macros_fallback( \@objects );
$self->_merge_typedefs( \@objects );
$self->_wrap_named_types( \@objects );
#~ @objects = sort { ( $a->file cmp $b->file ) || ( $a->start_offset <=> $b->start_offset ) } @objects;
@objects;
}
( run in 0.590 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )