Skip to content
  1. Mar 02, 2016
  2. Feb 26, 2016
  3. Feb 19, 2016
    • Richard Levitte's avatar
      Rethink the uplink / applink story · 3a55c92b
      Richard Levitte authored
      
      
      Adding uplink and applink to some builds was done by "magic", the
      configuration for "mingw" only had a macro definition, the Configure
      would react to its presence by adding the uplink source files to
      cpuid_asm_src, and crypto/build.info inherited dance to get it
      compiled, and Makefile.shared made sure applink.o would be
      appropriately linked in.  That was a lot under the hood.
      
      To replace this, we create a few template configurations in
      Configurations/00-base-templates.conf, inherit one of them in the
      "mingw" configuration, the rest is just about refering to the
      $target{apps_aux_src} / $target{apps_obj} in the right places.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      3a55c92b
  4. Feb 16, 2016
  5. Feb 14, 2016
  6. Feb 13, 2016
  7. Feb 11, 2016
  8. Feb 10, 2016
    • Richard Levitte's avatar
      unified build scheme: add a "unified" template for VMS descrip.mms · e84193e4
      Richard Levitte authored
      
      
      As part of this, change util/mkdef.pl to stop adding libraries to
      depend on in its output.  mkdef.pl should ONLY output a symbol
      vector.
      
      Because symbol names can't be longer than 31 characters, we use the
      compiler to shorten those that are longer down to 23 characters plus
      an 8 character CRC.  To make sure users of our header files will pick
      up on that automatically, add the DEC C supported extra headers files
      __decc_include_prologue.h and __decc_include_epilogue.h.
      
      Furthermore, we add a config.com, so VMS people can configure just as
      comfortably as any Unix folks, thusly:
      
          @config
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      e84193e4
    • Richard Levitte's avatar
      Configure et al: treat C defines separately · bcb1977b
      Richard Levitte authored
      
      
      With some compilers, C macros are defined differently on the command
      line than on Unix.  It could be that the flad to define them isn't -D,
      it could also be that they need to be grouped together and not be mixed
      in with the other compiler flags (that's how it's done on VMS, for
      example).
      
      On Unix family platform configurations, we can continue to have macro
      definitions mixed in with the rest of the flags, so the changes in
      Configurations/*.conf are kept to an absolute minimum.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      bcb1977b
    • Andy Polyakov's avatar
  9. Feb 09, 2016
  10. Feb 08, 2016
  11. Feb 01, 2016
    • Richard Levitte's avatar
      unified build scheme: a first introduction · 9fe2bb77
      Richard Levitte authored
      
      
      The "unified" build scheme revolves around small information files,
      build.info, which each describe their own bit of everything that needs
      to be built, using a mini-language described in Configurations/README.
      
      The information in build.info file contain references to source files
      and final result.  Object files are not mentioned at all, they are
      simply from source files.  Because of this, all the *_obj items in
      Configurations/*.conf are renamed to *_asm_src and the files listed
      in the values are change from object files to their corresponding
      source files.  For the sake of the other build schemes, Configure
      generates corresponding *_obj entries in %target.
      
      Furthermore, the "unified" build scheme supports having a build
      directory tree separate from the source directry tree.
      
      All paths in a build.info file is assumed to be relative to its
      location, either within the source tree or within the build tree.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      9fe2bb77
  12. Jan 31, 2016
  13. Jan 29, 2016
  14. Jan 25, 2016
    • Richard Levitte's avatar
      Small cleanups in Configure · f0bd4686
      Richard Levitte authored
      
      
      - Small rearrangement of the TABLE and HASH printouts, and adding
        printout of the "build_scheme" item
      - Renamed "engines_obj" to "padlock_obj"
      - Moved the runs of dofile down...  it didn't quite make sense to have
        that in the middle of a printout
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      f0bd4686
    • Richard Levitte's avatar
      Refactor file writing - Remake Makefile.org into a template · 107b5792
      Richard Levitte authored
      
      
      It is time for Makefile.org to fold into the new regime and have a run
      through util/dofile.pl.  This forces some information out of there and
      into Configure, which isn't a bad thing, it makes Configure
      increasingly the center of build information, which is as it should
      be.
      
      A few extra defaults were needed in the BASE template to get rid of
      warnings about missing values.
      
      Reviewed-by: default avatarViktor Dukhovni <viktor@openssl.org>
      107b5792
  15. Jan 21, 2016
    • 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
    • Richard Levitte's avatar
      Refactor config - move templates and template docs to Configurations · 9e0724a1
      Richard Levitte authored
      
      
      Move the documentation of the target configuration form to
      Configurations/README.
      
      Move initial assembler object templates to
      Configurations/00-BASE-templates.conf.
      
      Furthermore, remove all variables containing the names of the
      non-assembler object files and make a BASE template of them instead.
      The  values from this templates are used as defaults as is.  The
      remaining manipulation of data when assembler modules are used is done
      only when $no_asm is false.
      
      While doing this, clean out some other related variables that aren't
      used anywhere.
      
      Also, we had to move the resolution of the chosen target a bit, or the
      function 'asm' would never catch a true $no_asm...  this hasn't
      mattered before we've moved it all to the BASE template, but now it
      does.
      
      At the same time, add the default for the 'unistd' key to the BASE
      template.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      9e0724a1