Blame util/perl/with_fallback.pm

Packit Service 084de1
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
#
Packit Service 084de1
# Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
# this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
# in the file LICENSE in the source distribution or at
Packit Service 084de1
# https://www.openssl.org/source/license.html
Packit Service 084de1
Packit Service 084de1
package with_fallback;
Packit Service 084de1
Packit Service 084de1
sub import {
Packit Service 084de1
    shift;
Packit Service 084de1
Packit Service 084de1
    use File::Basename;
Packit Service 084de1
    use File::Spec::Functions;
Packit Service 084de1
    foreach (@_) {
Packit Service 084de1
	eval "use $_";
Packit Service 084de1
	if ($@) {
Packit Service 084de1
	    unshift @INC, catdir(dirname(__FILE__),
Packit Service 084de1
                                 "..", "..", "external", "perl");
Packit Service 084de1
	    my $transfer = "transfer::$_";
Packit Service 084de1
	    eval "use $transfer";
Packit Service 084de1
	    shift @INC;
Packit Service 084de1
	    warn $@ if $@;
Packit Service 084de1
	}
Packit Service 084de1
    }
Packit Service 084de1
}
Packit Service 084de1
1;