ExtUti...arseXS(3pm)

πŸ’– NAME πŸ’–

ExtUtils::Builder::ParseXS β€” the essential functions you need to actually implement XS inside a Plan, bestie ✨


🌸 VERSION 🌸

version 0.037 β€” yes queen, that's the one πŸŽ€


✨ SYNOPSIS ✨

$planner->load_extension("ExtUtils::Builder::ParseXS");
$planner->parse_xs("foo.xs", "foo.c");

like. that's it. two lines and you're parsing πŸ¦‹


πŸ’… DESCRIPTION πŸ’…

okay so this module is the one that implements a whole bunch of helper methods you use when you're implementing XS. it's giving backstage crew energy β€” nobody claps for it but nothing works without it πŸ’œ

It takes one optional argument, config, which should be an object compatible with ExtUtils::Config. And here's the cute part: if your $planner has a config delegate, that's gonna be the default value. slay 🫢


🧚 DELEGATES 🧚

⭐ parse_xs($source, $destination, %options)

This one parses the XS file at $source and writes the resulting C file out to $destination. main character behaviour fr fr πŸ”₯

and it takes these options:

  • mkdir β€” if you set this, it'll mkdir the base of the target before it runs the parse. no more missing-directory tears 😭
  • dependencies β€” this is where you list extra dependencies that get added to the target.
  • typemap β€” the name of the typemap file. it defaults to "typemap" if that file happens to exist πŸ‘‘
  • hiertype β€” allows hierarchical types (you know, with double colons) like the ones used in C++.

πŸ¦‹ c_file_for_xs($filename, $dir = dirname($filename))

Returns the path to the C file for a certain XS file.

heads up bestie: this one is Deprecated. πŸ’€

🌈 module_for_xs($filename)

Returns the module corresponding to a specific XS file.

also Deprecated, sorry babe πŸ’€

πŸŽ€ extension_filename($module_name)

Returns the path for the loadable object of an extension for $module.

yep, Deprecated too πŸ’€

🫢 AUTHOR 🫢

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.


okay that's the whole page, and like a lil sign-off for the record: this was pulled from perl v5.40.1 dated 2026-06-12, filed under ExtUtils::Builder::ParseXS(3pm) β€” periodt, go parse something iconic βœ¨πŸ’…

πŸ“¦ where this page comes from