Skip to content
  1. Jan 26, 2016
  2. Jan 25, 2016
  3. Jan 24, 2016
  4. Jan 23, 2016
  5. Jan 22, 2016
    • Richard Levitte's avatar
      Refactor file writing - Adapt util/mkdef.pl to use configdata.pm · 3fa04f0d
      Richard Levitte authored
      
      
      For this adaptation, the variables $options and $version needed to
      move to %config in Configure, and why not move all other variables
      holding diverse version numbers at the same time?
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      3fa04f0d
    • Richard Levitte's avatar
      Refactor file writing - information on our use of Perl and Perl modules · d36ab9ce
      Richard Levitte authored
      
      
      This includes a start on how to install missing modules.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      d36ab9ce
    • Richard Levitte's avatar
    • Richard Levitte's avatar
      Bundle the non core Perl module Text::Template · 8ff2af54
      Richard Levitte authored
      
      
      Because we're using Text::Template and we know it's a non core Perl
      module, we choose to bundle it into our source, for convenience.
      
      external/perl/Downloaded.txt document what modules we choose to bundle
      this way and exactly where we downloaded it from.
      
      With this changes comes the transfer module for with_fallback.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      8ff2af54
    • Richard Levitte's avatar
      Refactor file writing - arrange for use of bundled Perl modules as fallback · 35c3a562
      Richard Levitte authored
      
      
      For our own convenience, we need a mechanism to be able to fall back
      on bundled Perl modules.  It's a minimal package that's called like
      this:
      
          use with_fallback qw(Module1 Module2 ...);
      
      For each module, it will try to require them from the system
      installation, and failing that, it will temporarly add external/perl
      and try to require transfer::{ModuleName}.  It requires that each
      bundled Perl modules is accompanied by a small transfer module
      (external/perl/transfer/ModuleName.pm in our example) that knows
      exactly what to load.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      35c3a562
    • Richard Levitte's avatar
      Refactor file writing - introduce template driven file writing · 291e94df
      Richard Levitte authored
      
      
      apps/CA.pl and tools/c_rehash are built from template files.  So far,
      this was done by Configure, which created its own problems as it
      forced everyone to reconfigure just because one of the template files
      had changed.
      Instead, have those files created as part of the normal build in apps/
      and in tools/.
      
      Furthermore, this prepares for a future where Configure may produce
      entirely other build files than Makefile, and the latter can't be
      guaranteed to be the holder of all information for other scripts.
      Instead, configdata.pm (described below) becomes the center of
      configuration information.
      
      This introduces a few new things:
      
      %config         a hash table to hold all kinds of configuration data
                      that can be used by any other script.
      configdata.pm   a perl module that Configure writes.  It currently
                      holds the hash tables %config and %target.
      util/dofile.pl  a script that takes a template on STDIN and outputs
                      the result after applying configuration data on it.
                      It's supposed to be called like this:
      
                              perl -I$(TOP) -Mconfigdata < template > result
      
                      or
      
                              perl -I$(TOP) -Mconfigdata templ1 templ2 ... > result
      
                      Note: util/dofile.pl requires Text::Template.
      
      As part of this changed, remove a number of variables that are really
      just copies of entries in %target, and use %target directly.  The
      exceptions are $target{cflags} and $target{lflags}, they do get copied
      to $cflags and $lflags.  The reason for this is that those variable
      potentially go through a lot of changes and would rather deserve a
      place in %config.  That, however, is for another commit.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      291e94df