X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=util%2Fdofile.pl;h=10a1ad8cf003dd53372022e1a29a850770c47b5a;hp=0d05574667e463758f91f0da42ca63d58356027b;hb=0b76ce99aaa5678b44cb99df464e977975747928;hpb=44e699515568abcae0e77d7315f9b5e393daa6d9 diff --git a/util/dofile.pl b/util/dofile.pl index 0d05574667..10a1ad8cf0 100644 --- a/util/dofile.pl +++ b/util/dofile.pl @@ -1,7 +1,7 @@ #! /usr/bin/env perl -# Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. +# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. # -# Licensed under the OpenSSL license (the "License"). You may not use +# Licensed under the Apache License 2.0 (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 @@ -14,6 +14,7 @@ use strict; use warnings; +use FindBin; use Getopt::Std; # We actually expect to get the following hash tables from configdata: @@ -38,8 +39,8 @@ package OpenSSL::Template; # a fallback in case it's not installed on the system use File::Basename; use File::Spec::Functions; -use lib catdir(dirname(__FILE__)); -use with_fallback qw(Text::Template); +use lib "$FindBin::Bin/perl"; +use with_fallback "Text::Template 1.46"; #use parent qw/Text::Template/; use vars qw/@ISA/; @@ -105,7 +106,7 @@ sub quotify1 { # quotify_l LIST # For each defined element in LIST (i.e. elements that aren't undef), have -# it quotified with 'quotofy1' +# it quotified with 'quotify1' sub quotify_l { map { if (!defined($_)) { @@ -175,7 +176,20 @@ my $text = # Load the full template (combination of files) into Text::Template # and fill it up with our data. Output goes directly to STDOUT -my $template = OpenSSL::Template->new(TYPE => 'STRING', SOURCE => $text ); +my $prepend = qq{ +use File::Spec::Functions; +use lib catdir('$config{sourcedir}', 'util', 'perl'); +}; +$prepend .= qq{ +use lib catdir('$config{sourcedir}', 'Configurations'); +use lib '$config{builddir}'; +use platform; +} if defined $target{perl_platform}; + +my $template = + OpenSSL::Template->new(TYPE => 'STRING', + SOURCE => $text, + PREPEND => $prepend); sub output_reset_on { $template->output_reset_on();