XSBuil...:WrapXS(3pm)

๐Ÿ“ฆ
version 0.28 ยท 6 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

โœจ NAME โœจ

ExtUtils::XSBuilder::WrapXS โ€” it makes perl XS wrappers for C functions, bestie ๐Ÿ’…

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay so if you want the actual scoop, go read ExtUtils::XSBuilder ๐Ÿซถ that's where the whole story lives.


๐ŸŽ€ THE METHODS ๐ŸŽ€

๐ŸŒธ new_parsesource (o)

hands you back an array ref full of shiny new ParseSource objects, one for every single source file that should get used to generate XS files. iconic behaviour, honestly โœจ

๐ŸŒธ new_typemap (o)

returns a brand new typemap object for u ๐Ÿ’–

๐ŸŒธ new_podtemplate (o)

returns a new podtemplate object, slay ๐ŸŽ€

๐ŸŒธ xs_includes (o)

gives you a list of XS include files.

Default: it uses all the include files that ParseSource::find_includes hands back โ€” but it strips the path info off them. no cap.

๐ŸŒธ xs_glue_dirs (o)

returns a list of extra XS glue directories to go searching for maps in ๐Ÿ”

๐ŸŒธ xs_base_dir (o)

returns a directory that acts as the base for all the other directories. she's the main character of paths, periodt ๐Ÿ‘‘

Default: '.'

๐ŸŒธ xs_map_dir (o)

returns the directory where we go looking for map files.

Default: <xs_base_dir"/xsbuilder/maps

๐ŸŒธ xs_incsrc_dir (o)

returns the directory where we hunt for files to include into the source. like, for example, <xs_incsrc_dir"/Apache/DAV/Resource/Resource_pm is gonna get included into the Apache::DAV::Resource module. that's the vibe ๐Ÿฆ‹

Default: <xs_base_dir"/xsbuilder

๐ŸŒธ xs_include_dir (o)

returns a directory to search for include files for pm and XS.

Default: <xs_base_dir"/xsinclude

๐ŸŒธ xs_target_dir (o)

returns the directory where all the generated XS and header files get written ๐Ÿ“

Default: <xs_base_dir"/xs

๐ŸŒธ makefilepl_text (o)

returns text for Makefile.PL ๐Ÿ’–

๐ŸŒธ h_filename_prefix (o)

sets a prefix for the generated header files.

Default: 'xs_'

๐ŸŒธ my_xs_prefix (o)

sets a prefix that gets used for literally every XS function.

Default: 'xs_'

๐ŸŒธ my_cnv_prefix (o)

sets a prefix used for every conversion function and macro.

Default: my_xs_prefix

๐ŸŒธ needs_prefix (o, name)

returns true if the name you passed in should be prefixed. simple as that โœจ

๐ŸŒธ pm_text (o, module, isa, code)

returns the text of a .pm file โ€” or undef if, like, no .pm file should be written at all ๐Ÿ™ˆ

Default: it creates a .pm file that bootstraps the XS code. iconic.

๐ŸŒธ mapline_elem (o, elem)

gets called for each structure element that checkmaps writes to the map file. it lets you change the element name, so you can do stuff like adding a different perl name ๐Ÿ’…

Default: returns the element completely unmodified, no notes.

๐ŸŒธ mapline_func (o)

gets called for each function that checkmaps writes to the map file. lets you change the function name โ€” again, like adding a different perl name ๐ŸŽ€

Default: returns the element unmodified. she's not doing too much.


๐ŸŒˆ and that's the whole page, bestie! this was XSBuil...:WrapXS(3pm), straight outta the perl v5.36.0 docs, dated 2022-11-19. go build something gorgeous ๐Ÿ’–โœจ๐Ÿ’…
๐Ÿ“ฆ where this page comes from