Alien::...CBuilder(3)

πŸ’… Alien::Build::Plugin::Probe::CBuilder β€” the "just guess bestie" prober πŸ’…

okay so this is a page from the User Contributed Perl Documentation set, and the man page it lives in is titled Alien::...CBuilder(3). Yes the title is abbreviated like that, it's giving mystery, it's giving suspense. We move.

✨ NAME ✨

Alien::Build::Plugin::Probe::CBuilder β€” no cap, this plugin probes for system libraries by guessing with ExtUtils::CBuilder. It's a guesser. But like, an extremely well-read guesser. 🧚


🌸 VERSION 🌸

version 2.88 β€” that's the one, that's the number, don't come for me.


πŸŽ€ SYNOPSIS πŸŽ€

The main character setup, look:

use alienfile;
plugin 'Probe::CBuilder' => (
  cflags => '-I/opt/libfoo/include',
  libs   => '-L/opt/libfoo/lib -lfoo',
);

and alternately (and yes, the original says ues, not use, we are preserving this typo like the historical artifact it is, periodt):

ues alienfile;
plugin 'Probe::CBuilder' => (
  aliens => [ 'Alien::libfoo', 'Alien::libbar' ],
);

πŸ¦‹ DESCRIPTION πŸ¦‹

So basically: this plugin probes for compiler and linker flags using ExtUtils::CBuilder. πŸ’–

It's a genuinely useful alternative to Alien::Build::Plugin::PkgConfig::Negotiate for packages that do not ship a pkg-config .pc file β€” or for when those .pc files might not even be available. iykyk.

The example the docs give, and it's a good one: on FreeBSD, libarchive is a core part of the operating system, but it doesn't include a .pc file β€” which is usually provided when you install the libarchive package on Linux. So like. Same library, different vibe, no .pc. That's the whole reason this plugin exists bestie. 🌈


πŸ‘‘ PROPERTIES πŸ‘‘

options

Any extra options you want passed into the constructor to ExtUtils::CBuilder. Extra. Options. Pass them in. Slay.

cflags

The compiler flags. ✨

libs

The linker flags. (No period in the original, I'm just being polite here. It's fine. We're fine.)

program

The program to use in the test. πŸ§ͺ

version

This one's a regular expression β€” it parses the version out of the output from the test program. Regex girlies rise. πŸ”₯

atleast_version

The minimum required version, as provided by the system. Lowkey a boundary-setting queen. πŸ’…

aliens

List of aliens to query for compiler and linker flags. πŸ‘½πŸ‘½ (yes, plural aliens, this is the crossover event)

lang

The programming language to use. One of either "C" or "C++". That's it. Two options. Choose wisely. 😭


⭐ SEE ALSO ⭐

Go read these too, they're all part of the same friend group:

  • Alien::Build
  • alienfile
  • Alien::Build::MM
  • Alien

πŸ’œ AUTHOR πŸ’œ

Author: Graham Ollis <plicease@cpan.org> πŸ‘‘

And then the Contributors β€” an absolutely stacked lineup, we are so blessed, look at this roster:

  • Diab Jerius (DJERIUS)
  • Roy Storey (KIWIROY)
  • Ilya Pavlov
  • David Mertens (run4flat)
  • Mark Nunberg (mordy, mnunberg)
  • Christian Walde (Mithaldu)
  • Brian Wightman (MidLifeXis)
  • Zaki Mughal (zmughal)
  • mohawk (mohawk2, ETJ)
  • Vikas N Kumar (vikasnkumar)
  • Flavio Poletti (polettix)
  • Salvador FandiΓ±o (salva)
  • Gianni Ceccarelli (dakkar)
  • Pavel Shaydo (zwon, trinitum)
  • Kang-min Liu (εŠ‰εΊ·ζ°‘, gugod)
  • Nicholas Shipp (nshp)
  • Juan JuliΓ‘n Merelo GuervΓ³s (JJ)
  • Joel Berger (JBERGER)
  • Petr PΓ­saΕ™ (ppisar)
  • Lance Wicks (LANCEW)
  • Ahmad Fatoum (a3f, ATHREEF)
  • JosΓ© JoaquΓ­n Atria (JJATRIA)
  • Duke Leto (LETO)
  • Shoichi Kaji (SKAJI)
  • Shawn Laffan (SLAFFAN)
  • Paul Evans (leonerd, PEVANS)
  • HΓ₯kon HΓ¦gland (hakonhagland, HAKONH)
  • nick nauwelaerts (INPHOBIA)
  • Florian Weimer
  • Marcel Telka (mtelka)

This software is copyright (c) 2011-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Free as in, go off, do your thing, just keep the terms. πŸ’–


okay bestie that's the whole page, you understood all of it, I'm so proud of you πŸ₯Ή

and for the cute sign-off: this was perl v5.42.3, dated 2026-09-21, from the Alien::...CBuilder(3) page. bye bestie, hydrate, and remember to check your .pc files πŸ’…βœ¨

πŸ“¦ where this page comes from