Skip to content
  1. Mar 10, 2018
  2. Mar 09, 2018
  3. Mar 08, 2018
    • Richard Levitte's avatar
      Make "make variables" config attributes for overridable flags · abe256e7
      Richard Levitte authored
      
      
      With the support of "make variables" comes the possibility for the
      user to override them.  However, we need to make a difference between
      defaults that we use (and that should be overridable by the user) and
      flags that are crucial for building OpenSSL (should not be
      overridable).
      
      Typically, overridable flags are those setting optimization levels,
      warnings levels, that kind of thing, while non-overridable flags are,
      for example, macros that indicate aspects of how the config target
      should be treated, such as L_ENDIAN and B_ENDIAN.
      
      We do that differentiation by allowing upper case attributes in the
      config targets, named exactly like the "make variables" we support,
      and reserving the lower case attributes for non-overridable project
      flags.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5534)
      abe256e7
  4. Feb 22, 2018
  5. Feb 21, 2018
  6. Feb 09, 2018
  7. Jan 31, 2018
  8. Jan 28, 2018
  9. Jan 08, 2018
    • Richard Levitte's avatar
      Separate general linking flags from extra libraries · 47eeaf45
      Richard Levitte authored
      
      
      So far, we've placed all extra library related flags together, ending
      up in the make variable EX_LIBS.  This turns out to be problematic, as
      for example, some compilers don't quite agree with something like
      this:
      
          cc -o foo foo.o -L/whatever -lsomething
      
      They prefer this:
      
          cc -L/whatever -o foo foo.o -lsomething
      
      IBM's compiler on OS/390 is such a compiler that we know of, and we
      have previously handled that as a previous case.
      
      The answer here is to make a more general solution, where linking
      options are divided in two parts, where one ends up in LDFLAGS and
      the other in EX_LIBS (they corresponds to what is called LDFLAGS and
      LDLIBS in the GNU world)
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/5033)
      47eeaf45
  10. Dec 12, 2017
  11. Nov 10, 2017
  12. Jul 01, 2017
  13. Jun 21, 2017
  14. Nov 10, 2016
  15. Nov 09, 2016
  16. Nov 06, 2016
  17. Oct 24, 2016
  18. Sep 02, 2016
  19. Aug 29, 2016
  20. Aug 01, 2016
  21. Jul 14, 2016
  22. May 16, 2016
  23. May 10, 2016
  24. May 04, 2016
  25. Apr 20, 2016
  26. Apr 15, 2016
  27. Apr 13, 2016
    • Richard Levitte's avatar
      Fix zlib configuration options. · 62890f47
      Richard Levitte authored
      
      
      The macros ZLIB and ZLIB_SHARED weren't appropriately defined,
      deviating wrongly from how they worked in earlier OpenSSL versions.
      So, restore it so that ZLIB is defined if configured "enable-zlib" and
      so that ZLIB and ZLIB_SHARED are defined if configured
      "enable-zlib-dynamic".
      
      Additionally, correct the interpretation of the --with-zlib-lib value
      on Windows and VMS, where it's used to indicate the actual zlib
      zlib library file / logical name, as that can differ depending on zlib
      version and packaging on those platforms.
      
      Finally for Windows and VMS, we also define the macro LIBZ with that
      file name / logical name when configured "zlib-dynamic", so the
      compression unit can pick it up and use it.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      62890f47
  28. Mar 21, 2016
  29. Mar 14, 2016
  30. Mar 09, 2016
  31. Mar 08, 2016
  32. Mar 02, 2016
    • Richard Levitte's avatar
      Configure - Get rid of the special thread_cflag, replace with thread_scheme · 9c62a279
      Richard Levitte authored
      
      
      The thread_cflag setting filled a double role, as kinda sorta an
      indicator of thread scheme, and as cflags.  Some configs also added
      lflags and ex_libs for multithreading regardless of if threading would
      be enabled or not.
      
      Instead of this, add threading cflags among in the cflag setting,
      threading lflags in the lflag setting and so on if and only if threads
      are enabled (which they are by default).
      
      Also, for configs where there are no special cflags for threading (the
      VMS configs are of that kind), this makes it possible to still clearly
      mention what thread scheme is used.
      
      The exact value of thread scheme is currently ignored except when it's
      "(unknown)", and thereby only serves as a flag to tell if we know how
      to build for multi-threading in a particular config.  Yet, the
      currently used values are "(unknown)", "pthreads", "uithreads" (a.k.a
      solaris threads) and "winthreads".
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      9c62a279
    • Richard Levitte's avatar
      Configure - get rid of the special debug_ and release_ settings · 8864f0de
      Richard Levitte authored
      
      
      Instead, make the build type ("debug" or "release") available through
      $config{build_type} and let the configs themselves figure out what the
      usual settings (such as "cflags", "lflags" and so on) should be
      accordingly.
      
      The benefit with this is that we can now have debug and release
      variants of any setting, not just those Configure supports, and may
      also involve other factors (the MSVC flags /MD[d] and /MT[d] involve
      both build type and whether threading is enabled or not)
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      8864f0de
    • Richard Levitte's avatar
      Configure - move the addition of the zlib / libz lib to configs · 98fdbce0
      Richard Levitte authored
      
      
      Configure had the Unix centric addition of -lz when linking with zlib
      is enabled, which doesn't work on other platforms.  Therefore, we move
      it to the BASE_unix config template and add corresponding ones in the
      other BASE_* config templates.  The Windows one is probably incomplete,
      but that doesn't matter for the moment, as mk1mf does it's own thing
      anyway.
      
      This required making the %withargs table global, so perl snippets in
      the configs can use it.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      98fdbce0
    • Richard Levitte's avatar
      Configure - Rename BASE to DEFAULTS and add a few inheritable BASEs · d2b2221a
      Richard Levitte authored
      
      
      These BASE templates are intended to hold values that are common for
      all configuration variants for whole families of configurations.
      
      So far, three "families" are identified: Unix, Windows and VMS, mostly
      characterised by the build system they currently use.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      d2b2221a
    • Richard Levitte's avatar
      Make uplink auxiliary source separate from cpuid source · b756967d
      Richard Levitte authored
      
      
      There are cases, for example when configuring no-asm, that the added
      uplink source files got in the way of the cpuid ones.  The best way to
      solve this is to separate the two.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      b756967d