242365033fc4c0240b7ceabf49c4f55fcfa5b0ea
[openssl.git] / util / perl / with_fallback.pm
1 # Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
2 #
3 # Licensed under the OpenSSL license (the "License").  You may not use
4 # this file except in compliance with the License.  You can obtain a copy
5 # in the file LICENSE in the source distribution or at
6 # https://www.openssl.org/source/license.html
7
8 package with_fallback;
9
10 sub import {
11     shift;
12
13     use File::Basename;
14     use File::Spec::Functions;
15     foreach (@_) {
16         eval "use $_";
17         if ($@) {
18             unshift @INC, catdir(dirname(__FILE__),
19                                  "..", "..", "external", "perl");
20             my $transfer = "transfer::$_";
21             eval "use $transfer";
22             shift @INC;
23             warn $@ if $@;
24         }
25     }
26 }
27 1;