NAME

Alien::cares - find or build the c-ares asynchronous DNS resolver library

SYNOPSIS

In an XS distribution's Makefile.PL, using Alien::Base::Wrapper:

use ExtUtils::MakeMaker;
use Alien::Base::Wrapper qw( Alien::cares !export );

WriteMakefile(
    Alien::Base::Wrapper->mm_args,
    NAME               => 'My::Module',
    CONFIGURE_REQUIRES => {
        'Alien::Base::Wrapper' => 0,
        'Alien::cares'         => 0,
    },
    PREREQ_PM => { 'Alien::cares' => 0 },
);

Or, accessing the flags directly:

use Alien::cares;
INC  => Alien::cares->cflags,
LIBS => [ Alien::cares->libs ],

In another distribution's alienfile:

use alienfile;
share { requires 'Alien::cares' };

DESCRIPTION

Alien::cares finds or builds the c-ares C library, which provides asynchronous DNS resolution. The dual install strategy follows the Alien::Base convention:

  • A system-installed c-ares >= 1.22.0 detected via pkg-config is used directly (system install).

  • Otherwise the latest release tarball is downloaded from GitHub and built with CMake as a static library bundled with this distribution (share install).

Set the ALIEN_INSTALL_TYPE environment variable to system or share to force a particular install type.

METHODS

This module inherits all methods from Alien::Base. The most useful ones are cflags, libs, libs_static, version, and install_type.

SEE ALSO

AUTHOR

vividsnow

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by vividsnow.

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