summaryrefslogtreecommitdiffstats
path: root/util/perl/with_fallback.pm
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2017-08-01 22:10:39 +0200
committerRichard Levitte <levitte@openssl.org>2017-08-15 11:30:47 +0200
commitcb6afcd6ee0c0d66fae62e13fe5966171992f81c (patch)
tree5b793c0d2a0e92233919fcaaa314c70cf32430d2 /util/perl/with_fallback.pm
parentc4d2e483a39176a476c56d35879423fe6e33c0cd (diff)
Consolidate the locations where we have our internal perl modules
Instead of having perl modules under test/testlib, util and util/perl, consolidate them all to be inside util/perl. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/4069)
Diffstat (limited to 'util/perl/with_fallback.pm')
-rw-r--r--util/perl/with_fallback.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/util/perl/with_fallback.pm b/util/perl/with_fallback.pm
new file mode 100644
index 0000000000..2af1d5fbd5
--- /dev/null
+++ b/util/perl/with_fallback.pm
@@ -0,0 +1,25 @@
+# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the OpenSSL license (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+package with_fallback;
+
+sub import {
+ use File::Basename;
+ use File::Spec::Functions;
+ foreach (@_) {
+ eval "require $_";
+ if ($@) {
+ unshift @INC, catdir(dirname(__FILE__),
+ "..", "..", "external", "perl");
+ my $transfer = "transfer::$_";
+ eval "require $transfer";
+ shift @INC;
+ warn $@ if $@;
+ }
+ }
+}
+1;