1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
pgbackrest/lib/pgBackRest/Config/LoadFailback.pm

38 lines
1.3 KiB
Perl

####################################################################################################################################
# Load C or Perl Config Code
####################################################################################################################################
package pgBackRest::Config::LoadFailback;
use strict;
use warnings FATAL => qw(all);
use Carp qw(confess);
use Exporter qw(import);
our @EXPORT = qw();
use pgBackRest::Common::Log;
use pgBackRest::LibCLoad;
####################################################################################################################################
# Load the C library if present, else failback to the Perl code
####################################################################################################################################
if (libC())
{
require pgBackRest::LibC;
pgBackRest::LibC->import(qw(:config :configRule));
push(@EXPORT, @{$pgBackRest::LibC::EXPORT_TAGS{config}});
push(@EXPORT, @{$pgBackRest::LibC::EXPORT_TAGS{configRule}});
}
else
{
require pgBackRest::Config::Data;
pgBackRest::Config::Data->import();
push(@EXPORT, @pgBackRest::Config::Data::EXPORT);
require pgBackRest::Config::Rule;
pgBackRest::Config::Rule->import();
push(@EXPORT, @pgBackRest::Config::Rule::EXPORT);
}
1;