Skip to content
  • Richard Levitte's avatar
    Refactor config - @MK1MF_Builds out, general build scheme in · 88087414
    Richard Levitte authored
    
    
    Time to get rid of @MK1MF_Builds and introduce a more flexible
    'build_scheme' configuration key.  Its value may be a string or an
    array of strings, meaning we need to teach resolve_config how to
    handle ARRAY referenses.
    
    The build scheme is a word that selects a function to create the
    appropriate result files for a certain configuration.  Currently valid
    build schemes aer "mk1mf" and "unixmake", the plan is however to add
    at least one other for a more universal build scheme.
    
    Incidently, this also adds the functions 'add' and 'add_before', which
    can be used in a configuration, so instead of having to repeatedly
    write a sub like this:
    
    	key1 => sub { join(" ", @_, "myvalues"); },
    	key2 => sub { join(" ", "myvalues", @_); },
    
    one could write this:
    
    	key1 => add(" ", "myvalues"),
    	key2 => add_before(" ", "myvalues"),
    
    The good point with 'add' and 'add_before' is that they handle
    inheritances where the values are a misture of scalars and ARRAYs.  If
    there are any ARRAY to be found, the resulting value will be an ARRAY,
    otherwise it will be a scalar with all the incoming valued joined
    together with the separator given as first argument to add/add_before.
    
    Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
    88087414