mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2024-12-14 10:13:05 +02:00
38 lines
1.3 KiB
Perl
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;
|