ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS |
standard_typemap_locations()
trim_whitespace()
C_string()
valid_proto_string()
process_typemaps()
map_type()
standard_XS_defs()
assign_func_args()
analyze_preprocessor_statements()
set_cond()
current_line_number()
Warn()
blurt()
death()
check_conditional_preprocessor_statements()
escape_file_for_line_directive()
report_typemap_failure
ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS
use ExtUtils::ParseXS::Utilities qw( standard_typemap_locations trim_whitespace C_string valid_proto_string process_typemaps map_type standard_XS_defs assign_func_args analyze_preprocessor_statements set_cond Warn blurt death check_conditional_preprocessor_statements escape_file_for_line_directive report_typemap_failure );
The following functions are not considered to be part of the public interface. They are documented here for the benefit of future maintainers of this module.
standard_typemap_locations()
The highest priority is to look in the current directory.
'typemap'
The second and third highest priorities are to look in the parent of the current directory and a directory called lib/ExtUtils underneath the parent directory.
'../typemap', '../lib/ExtUtils/typemap',
The fourth through ninth highest priorities are to look in the corresponding grandparent, great-grandparent and great-great-grandparent directories.
'../../typemap', '../../lib/ExtUtils/typemap', '../../../typemap', '../../../lib/ExtUtils/typemap', '../../../../typemap', '../../../../lib/ExtUtils/typemap',
The tenth and subsequent priorities are to look in directories named
ExtUtils which are subdirectories of directories found in @INC
--
provided a file named typemap actually exists in such a directory.
Example:
'/usr/local/lib/perl5/5.10.1/ExtUtils/typemap',
However, these filepaths appear in the list returned by
standard_typemap_locations()
in reverse order, i.e., lowest-to-highest.
'/usr/local/lib/perl5/5.10.1/ExtUtils/typemap', '../../../../lib/ExtUtils/typemap', '../../../../typemap', '../../../lib/ExtUtils/typemap', '../../../typemap', '../../lib/ExtUtils/typemap', '../../typemap', '../lib/ExtUtils/typemap', '../typemap', 'typemap'
my @stl = standard_typemap_locations( \@INC );
Reference to @INC
.
trim_whitespace()
trim_whitespace($arg);
C_string()
\
) in prototype strings.
$ProtoThisXSUB = C_string($_);
String needing escaping.
valid_proto_string()
Upon failure, returns 0
.
process_typemaps()
my $typemaps_object = process_typemaps( $args{typemap}, $pwd );
List of two elements: typemap
element from %args
; current working
directory.
map_type()
PARAGRAPH
loop.
$type = map_type($self, $type, $varname);
List of three arguments.
standard_XS_defs()
.c
output file certain preprocessor directives and function
headers needed in all such files.
assign_func_args()
func_args
attribute.
$string = assign_func_args($self, $argsref, $class);
List of three elements. Second is an array reference; third is a string.
analyze_preprocessor_statements()
( $self, $XSS_work_idx, $BootCode_ref ) = analyze_preprocessor_statements( $self, $statement, $XSS_work_idx, $BootCode_ref );
List of four elements.
XSStack
and InitFileCode
attributes are modified.
set_cond()
current_line_number()
$self
Warn()
blurt()
death()
check_conditional_preprocessor_statements()
escape_file_for_line_directive()
report_typemap_failure
ExtUtils::ParseXS
object.
An ExtUtils::Typemaps
object.
The string that represents the C type that was not found in the typemap.
Optionally, the string death
or blurt
to choose
whether the error is immediately fatal or not. Default: blurt
death
or blurt
, the former of which is
fatal.
ExtUtils::ParseXS::Utilities - Subroutines used with ExtUtils::ParseXS |