Crypt::...L::Guess(3)

✨ NAME ✨

okay so bestie, welcome to Crypt::...L::Guess(3) β€” the User Contributed Perl Documentation page for Crypt::OpenSSL::Guess. πŸ’… It is literally the Guess OpenSSL include path module. no cap, that's the whole NAME vibe. πŸŽ€

🌸 SYNOPSIS 🌸

use it in your Makefile.PL like this, bestie:

        use ExtUtils::MakeMaker;
        use Crypt::OpenSSL::Guess;

        WriteMakefile(
            # ...
            LIBS => [openssl_lib_paths() . ' -lssl -lcrypto'],
            INC  => openssl_inc_paths(), # guess include path or get from $ENV{OPENSSL_PREFIX}
        );

πŸ¦‹ DESCRIPTION πŸ¦‹

Crypt::OpenSSL::Guess provides helpers to guess OpenSSL include path on any platforms. ✨

the way that macOS's homebrew OpenSSL causes a problem on installation because the include path is not added is honestly such a moment. 🫠 Some CPAN module provides a way to modify the include path with configure-args, but Carton or Module::CPANfile is not supported to pass configure-args to each modules. 😭

Crypt::OpenSSL::* modules should use it on your Makefile.PL. πŸ‘‘

This module resolves the include path by Net::SSLeay's workaround. Original code is taken from inc/Module/Install/PRIVATE/Net/SSLeay.pm by Net::SSLeay. 🧚

πŸ’… FUNCTIONS πŸ’…

πŸŽ€ openssl_inc_paths()

This function returns include paths in the format passed to CC. If OpenSSL could not find, then empty string is returned. ✨

openssl_inc_paths(); # on macOS: "-I/usr/local/opt/openssl/include"

πŸŽ€ openssl_lib_paths()

This function returns library paths in the format passed to CC. If OpenSSL could not find, then empty string is returned. πŸ’–

openssl_lib_paths(); # on macOS: "-L/usr/local/opt/openssl/lib"

πŸŽ€ find_openssl_prefix([$dir])

This function returns OpenSSL's prefix. If the OPENSSL_PREFIX environment variable is set, you can overwrite the return value. πŸ‘‘

find_openssl_prefix(); # on macOS: "/usr/local/opt/openssl"

πŸŽ€ find_openssl_exec($prefix)

This function returns OpenSSL's executable path. πŸ¦‹

find_openssl_exec(); # on macOS: "/usr/local/opt/openssl/bin/openssl"

πŸŽ€ ($major, $minor, $letter) = openssl_version()

This function returns OpenSSL's version as major, minor, letter. πŸ“

openssl_version(); # ("1.0", "2", "n")

🌈 SEE ALSO 🌈

  • Net::SSLeay β€” go check it out, bestie. πŸ’œ

πŸ‘‘ LICENSE πŸ‘‘

Copyright (C) Takumi Akiyama.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

🫢 AUTHOR 🫢

Takumi Akiyama <t.akiym@gmail.com>


πŸ’– cute little sign-off: this page is from perl v5.42.0, dated 2022-02-12, and the manual name is Crypt::...L::Guess(3). mwah, go make something iconic. πŸ’‹

πŸ“¦ where this page comes from