Initial Commit
This commit is contained in:
36
database/perl/vendor/lib/B/Utils/Install/BUtils.h
vendored
Normal file
36
database/perl/vendor/lib/B/Utils/Install/BUtils.h
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef _BUTILS_H_
|
||||
#define _BUTILS_H_
|
||||
|
||||
typedef OP *B__OP;
|
||||
typedef UNOP *B__UNOP;
|
||||
typedef BINOP *B__BINOP;
|
||||
typedef LOGOP *B__LOGOP;
|
||||
typedef LISTOP *B__LISTOP;
|
||||
typedef PMOP *B__PMOP;
|
||||
typedef SVOP *B__SVOP;
|
||||
typedef PADOP *B__PADOP;
|
||||
typedef PVOP *B__PVOP;
|
||||
typedef LOOP *B__LOOP;
|
||||
typedef COP *B__COP;
|
||||
|
||||
typedef SV *B__SV;
|
||||
typedef SV *B__IV;
|
||||
typedef SV *B__PV;
|
||||
typedef SV *B__NV;
|
||||
typedef SV *B__PVMG;
|
||||
typedef SV *B__PVLV;
|
||||
typedef SV *B__BM;
|
||||
typedef SV *B__RV;
|
||||
typedef SV *B__FM;
|
||||
typedef AV *B__AV;
|
||||
typedef HV *B__HV;
|
||||
typedef CV *B__CV;
|
||||
typedef GV *B__GV;
|
||||
typedef IO *B__IO;
|
||||
|
||||
extern char *BUtils_cc_opclassname(pTHX_ const OP *o);
|
||||
extern SV *BUtils_make_sv_object(pTHX_ SV *arg, SV *sv);
|
||||
|
||||
extern I32 BUtils_op_name_to_num(SV * name);
|
||||
|
||||
#endif
|
||||
37
database/perl/vendor/lib/B/Utils/Install/Files.pm
vendored
Normal file
37
database/perl/vendor/lib/B/Utils/Install/Files.pm
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
package B::Utils::Install::Files;
|
||||
|
||||
$self = {
|
||||
'deps' => [],
|
||||
'inc' => '',
|
||||
'libs' => '',
|
||||
'typemaps' => [
|
||||
'typemap'
|
||||
]
|
||||
};
|
||||
|
||||
@deps = @{ $self->{deps} };
|
||||
@typemaps = @{ $self->{typemaps} };
|
||||
$libs = $self->{libs};
|
||||
$inc = $self->{inc};
|
||||
|
||||
$CORE = undef;
|
||||
foreach (@INC) {
|
||||
if ( -f $_ . "/B/Utils/Install/Files.pm") {
|
||||
$CORE = $_ . "/B/Utils/Install/";
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
sub deps { @{ $self->{deps} }; }
|
||||
|
||||
sub Inline {
|
||||
my ($class, $lang) = @_;
|
||||
if ($lang ne 'C') {
|
||||
warn "Warning: Inline hints not available for $lang language
|
||||
";
|
||||
return;
|
||||
}
|
||||
+{ map { (uc($_) => $self->{$_}) } qw(inc libs typemaps) };
|
||||
}
|
||||
|
||||
1;
|
||||
96
database/perl/vendor/lib/B/Utils/Install/typemap
vendored
Normal file
96
database/perl/vendor/lib/B/Utils/Install/typemap
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
TYPEMAP
|
||||
|
||||
OP * T_OP_OBJ
|
||||
B::OP T_OP_OBJ
|
||||
B::UNOP T_OP_OBJ
|
||||
B::BINOP T_OP_OBJ
|
||||
B::LOGOP T_OP_OBJ
|
||||
B::LISTOP T_OP_OBJ
|
||||
B::PMOP T_OP_OBJ
|
||||
B::SVOP T_OP_OBJ
|
||||
B::PADOP T_OP_OBJ
|
||||
B::PVOP T_OP_OBJ
|
||||
B::LOOP T_OP_OBJ
|
||||
B::COP T_OP_OBJ
|
||||
|
||||
B::SV T_SV_OBJ
|
||||
B::PV T_SV_OBJ
|
||||
B::IV T_SV_OBJ
|
||||
B::NV T_SV_OBJ
|
||||
B::PVMG T_SV_OBJ
|
||||
B::REGEXP T_SV_OBJ
|
||||
B::PVLV T_SV_OBJ
|
||||
B::BM T_SV_OBJ
|
||||
B::RV T_SV_OBJ
|
||||
B::GV T_SV_OBJ
|
||||
B::CV T_SV_OBJ
|
||||
B::HV T_SV_OBJ
|
||||
B::AV T_SV_OBJ
|
||||
B::IO T_SV_OBJ
|
||||
B::FM T_SV_OBJ
|
||||
|
||||
B::MAGIC T_MG_OBJ
|
||||
SSize_t T_IV
|
||||
STRLEN T_UV
|
||||
PADOFFSET T_UV
|
||||
|
||||
B::HE T_HE_OBJ
|
||||
B::RHE T_RHE_OBJ
|
||||
|
||||
INPUT
|
||||
T_OP_OBJ
|
||||
if (SvROK($arg)) {
|
||||
IV tmp = SvIV((SV*)SvRV($arg));
|
||||
$var = INT2PTR($type,tmp);
|
||||
}
|
||||
else
|
||||
croak(\"$var is not a reference\")
|
||||
|
||||
T_SV_OBJ
|
||||
if (SvROK($arg)) {
|
||||
IV tmp = SvIV((SV*)SvRV($arg));
|
||||
$var = INT2PTR($type,tmp);
|
||||
}
|
||||
else
|
||||
croak(\"$var is not a reference\")
|
||||
|
||||
T_MG_OBJ
|
||||
if (SvROK($arg)) {
|
||||
IV tmp = SvIV((SV*)SvRV($arg));
|
||||
$var = INT2PTR($type,tmp);
|
||||
}
|
||||
else
|
||||
croak(\"$var is not a reference\")
|
||||
|
||||
T_HE_OBJ
|
||||
if (SvROK($arg)) {
|
||||
IV tmp = SvIV((SV*)SvRV($arg));
|
||||
$var = INT2PTR($type,tmp);
|
||||
}
|
||||
else
|
||||
croak(\"$var is not a reference\")
|
||||
|
||||
T_RHE_OBJ
|
||||
if (SvROK($arg)) {
|
||||
IV tmp = SvIV((SV*)SvRV($arg));
|
||||
$var = INT2PTR($type,tmp);
|
||||
}
|
||||
else
|
||||
croak(\"$var is not a reference\")
|
||||
|
||||
OUTPUT
|
||||
T_OP_OBJ
|
||||
sv_setiv(newSVrv($arg, BUtils_cc_opclassname(aTHX_ (OP*)$var)), PTR2IV($var));
|
||||
|
||||
T_SV_OBJ
|
||||
BUtils_make_sv_object(aTHX_ ($arg), (SV*)($var));
|
||||
|
||||
|
||||
T_MG_OBJ
|
||||
sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
|
||||
|
||||
T_HE_OBJ
|
||||
sv_setiv(newSVrv($arg, "B::HE"), PTR2IV($var));
|
||||
|
||||
T_RHE_OBJ
|
||||
sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));
|
||||
Reference in New Issue
Block a user