ExtUtil...M_Cygwin(3)

πŸ“¦ version 7.70, in opensuse-leap 16.0

πŸ’… ExtUtils::MM_Cygwin β€” like, the Cygwin override era ✨

okay so bestie, this is a page from User Contributed Perl Documentation, and it's giving very niche-core: it's ExtUtils::MM_Cygwin, the module that overrides the UN*X behaviour in ExtUtils::MakeMaker. ngl, if you're reading this you're probably deep in a build system at 2am 🫢


🌸 NAME 🌸

ExtUtils::MM_Cygwin β€” literally a whole set of methods that override UN*X behaviour in ExtUtils::MakeMaker. periodt πŸ’…


✨ SYNOPSIS ✨

use ExtUtils::MM_Cygwin; # Done internally by ExtUtils::MakeMaker if needed

so like, you can use it, but honestly it gets pulled in internally by ExtUtils::MakeMaker if it's needed β€” you don't have to do the work, it's already doing the work, main character energy πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

for the actual docs on the methods provided here, go see ExtUtils::MM_Unix β€” that's the mothership, this page is just the Cygwin-specific remix πŸŽ€

πŸ“ os_flavor

we're Unix and Cygwin. both. simultaneously. it's giving duality πŸ’«

πŸ”₯ cflags

if it's configured for dynamic loading, this triggers #define EXT in EXTERN.h. no cap, that's the whole vibe.

🧚 replace_manpage_separator

replaces strings '::' with . in MAN*POD man page names. so Foo::Bar becomes Foo.Bar β€” iconic little glow-up for filenames ✨

πŸ‘‘ init_linker

points to libperl.a. that's it, that's the tweet πŸ’…

🌈 maybe_command

okay so this one is doing a little detective work πŸ” β€” it determines whether a file is native to Cygwin by checking whether it resides inside the Cygwin installation (using Windows paths). if it does, it hands things off to ExtUtils::MM_Unix to determine if it may be a command. otherwise, it uses the tests from ExtUtils::MM_Win32. two worlds, one method, we love to see it 🫢

πŸ’œ dynamic_lib

use the default to produce the *.dll's. but β€” and this is the spicy part 🌢️ β€” for new archdir dll's, use the same rebase address if the old exists. consistency is a vibe check it always passes βœ…

⭐ install

rebase dll's with the global rebase database after installation. yes bestie, rebase after install, that's the order, don't come for me 😭


πŸ’– real talk: this page keeps it short on purpose. every method above is a Cygwin-specific override, and the deep lore lives in ExtUtils::MM_Unix. go drink some water and go read that one too 🧚

and that's a wrap, bestie πŸŽ€ this was ExtUtil...M_Cygwin(3) from perl v5.42.0, dated 2023-04-04 β€” go forth and build things, you've got this πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from