1. 18 3月, 2015 1 次提交
    • R
      Correct the request of debug builds · 9e43c6b5
      Richard Levitte 提交于
      ./config would translate -d into having the target get a 'debug-'
      prefix, and then run './Configure LIST' to find out if such a
      debugging target exists or not.
      
      With the recent changes, the separate 'debug-foo' targets are
      disappearing, and we're giving the normal targets debugging
      capabilities instead.  Unfortunately, './config' wasn't changed to
      match this new behavior.
      
      This change introduces the arguments '--debug' and '--release' - the
      latter just for orthogonality - to ./Configure, and ./config now
      treats -d by adding '--debug' to the options for ./Configure.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      9e43c6b5
  2. 17 3月, 2015 5 次提交
    • R
      Change all the main configurations to the new format. · 5e1b2353
      Richard Levitte 提交于
      As part of this, remove some levitte examples that never were relevant.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      5e1b2353
    • R
      Rethink templates. · b1245529
      Richard Levitte 提交于
      Because base templates express inheritance of values, the attribute is
      renamed to 'inherit_from', and texts about this talk about 'inheritance(s)'
      rather than base templates.
      
      As they were previously implemented, base templates that were listed
      together would override one another, the first one acting as defaults for
      the next and so on.
      
      However, it was pointed out that a strength of inheritance would be to
      base configurations on several templates - for example one for CPU, one
      for operating system and one for compiler - and that requires a different
      way of combining those templates.  With this change, inherited values
      from several inheritances are concatenated by default (keep on reading).
      
      Also, in-string templates with the double-curly syntax are removed,
      replaced with the possibility to have a configuration value be a coderef
      (i.e. a 'sub { /* your code goes here */ }') that gets the list of values
      from all inheritances as the list @_.  The result of executing such a
      coderef on a list of values is assumed to become a string.  ANY OTHER
      FORM OF VALUE WILL CURRENTLY BREAK.
      
      As a matter of fact, an attribute in the current config with no value is
      assumed to have this coderef as value:
      
          sub { join(' ', @_) }
      
      While we're at it, rename debug-[cl]flags to debug_[cl]flags and
      nodebug-[cl]flags to release_[cl]flags.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      b1245529
    • R
      Add base template processing. · 7d46b942
      Richard Levitte 提交于
      Base templates are templates that are used to inherit from.  They can
      loosely be compared with parent class inheritance in object orientation.
      They can be used for the same purpose as the variables with multi-field
      strings are used in old-style string configurations.
      
      Base templates are declared with the base_templates configuration
      attribute, like so:
      
      	"example_target" => {
      		base_templates => [ "x86_asm", ... ]
      		...
      	}
      
      Note: The value of base_templates MUST be an array reference (an array
      enclosed in square brackets).
      
      Any configuration target can be used as a base template by another.  It
      is also possible to have a target that's a pure template and not meant to
      be used directly as a configuration target.  Such a target is marked with
      the template configuration attribute, like so:
      
      	"example_template" => {
      		template => 1,
      		cc => "mycc",
      		...
      	},
      
      As part of this commit, all variables with multi-field strings have been
      translated to pure templates.  The variables currently remain since we
      can't expect people to shift to hash table configurations immediately.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      7d46b942
    • R
      Add template reference processing. · 09816a2e
      Richard Levitte 提交于
      Template references are words with double brackets, and refer to the
      same field in the target pointed at the the double bracketed word.
      
      For example, if a target's configuration has the following entry:
      
          'cflags' => '-DFOO {{x86_debug}}'
      
      ... then {{x86_debug}} will be replaced with the 'cflags' value from
      target 'x86_debug'.
      
      Note: template references are resolved recursively, and circular
      references are not allowed
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      09816a2e
    • R
      Rewrite Configure to handle the target values as hash tables. · aaf878cc
      Richard Levitte 提交于
      The reasoning is that configuration strings are hard to read and error
      prone, and that a better way would be for them to be key => value hashes.
      
      Configure is made to be able to handle target configuration values as a
      string as well as a hash.  It also does the best it can to combine a
      "debug-foo" target with a "foo" target, given that they are similar
      except for the cflags and lflags values.  The latter are spliced into
      options that are common for "debug-foo" and "foo", options that exist
      only with "debug-foo" and options that exist only with "foo", and make
      them into combinable attributes that holds common cflags, extra cflags
      for debuggin and extra cflags for non-debugging configurations.
      
      The next step is to make it possible to have template configurations.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      aaf878cc
  3. 11 3月, 2015 1 次提交
    • R
      Move Configurations* out of the way and rename them. · 97a0cc52
      Richard Levitte 提交于
      Configure would load the glob "Configurations*".  The problem with
      this is that it also loads all kinds of backups of those
      configurations that some editors do, like emacs' classic
      'Configurations~'.  The solution is to give them an extension, such as
      '.conf', and make sure to end the glob with that.
      
      Also, because 'Configurations.conf' makes for a silly name, and
      because a possibly large number of configurations will become clutter,
      move them to a subdirectory 'Configurations/', and rename them to
      something more expressive, as well as something that sets up some form
      of sorting order.  Thus:
      
          Configurations	->	Configurations/10-main.conf
          Configurations.team	->	Configurations/90-team.conf
      
      Finally, make sure that Configure sorts the list of files that 'glob'
      produces, and adapt Makefile.org.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      97a0cc52
  4. 25 2月, 2015 1 次提交
    • R
      Move build config table to separate files. · f09e7ca9
      Rich Salz 提交于
      Move the build configuration table into separate files.  The Configurations
      file is standard configs, and Configurations.team is for openssl-team
      members.  Any other file, Configurations*, found in the same directory
      as the Configure script, is loaded.
      
      To add another file, use --config=FILE flags (which should probably be
      an absolute path).
      
      Written by Stefen Eissing <stefan.eissing@greenbytes.de> and Rich Salz
      <rsalz@openssl.org>, contributed by Akamai Technologies.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      f09e7ca9
  5. 22 2月, 2015 2 次提交
    • R
      Restore -DTERMIO/-DTERMIOS on Windows platforms. · ba4bdee7
      Richard Levitte 提交于
      The previous defaulting to TERMIOS took away -DTERMIOS / -DTERMIO a
      bit too enthusiastically.  Windows/DOSish platforms of all sorts get
      identified as OPENSSL_SYS_MSDOS, and they get a different treatment
      altogether UNLESS -DTERMIO or -DTERMIOS is explicitely given with the
      configuration.  The answer is to restore those macro definitions for
      the affected configuration targets.
      Reviewed-by: NTim Hudson <tjh@openssl.org>
      ba4bdee7
    • R
      Assume TERMIOS is default, remove TERMIO on all Linux. · 64e6bf64
      Richard Levitte 提交于
      The rationale for this move is that TERMIOS is default, supported by
      POSIX-1.2001, and most definitely on Linux.  For a few other systems,
      TERMIO may still be the termnial interface of preference, so we keep
      -DTERMIO on those in Configure.
      
      crypto/ui/ui_openssl.c is simplified in this regard, and will define
      TERMIOS for all systems except a select few exceptions.
      Reviewed-by: NMatt Caswell <matt@openssl.org>
      64e6bf64
  6. 12 2月, 2015 1 次提交
  7. 11 2月, 2015 1 次提交
  8. 10 2月, 2015 2 次提交
  9. 05 2月, 2015 2 次提交
  10. 31 1月, 2015 1 次提交
  11. 27 1月, 2015 1 次提交
  12. 24 1月, 2015 1 次提交
  13. 23 1月, 2015 1 次提交
  14. 22 1月, 2015 1 次提交
  15. 12 1月, 2015 1 次提交
  16. 05 1月, 2015 2 次提交
  17. 28 12月, 2014 1 次提交
  18. 26 12月, 2014 1 次提交
  19. 22 12月, 2014 1 次提交
  20. 19 12月, 2014 3 次提交
  21. 08 12月, 2014 1 次提交
  22. 04 12月, 2014 1 次提交
  23. 20 11月, 2014 1 次提交
  24. 17 11月, 2014 1 次提交
  25. 23 10月, 2014 1 次提交
  26. 26 9月, 2014 1 次提交
  27. 25 9月, 2014 1 次提交
  28. 12 9月, 2014 1 次提交
  29. 31 8月, 2014 1 次提交
  30. 28 8月, 2014 1 次提交