1. 04 3月, 2016 2 次提交
  2. 03 3月, 2016 7 次提交
    • R
      Don't copy from %target to %config so much, see %config as a complement · 2952b9b8
      Richard Levitte 提交于
      We copied $target{cflags}, $target{defines} and a few more to %config,
      just to add to the entries.  Avoid doing so, and let the build templates
      deal with combining the two.
      
      There are a few cases where we still fiddle with %target, but that's
      acceptable.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      2952b9b8
    • R
      Configure - Get rid of the special thread_cflag, replace with thread_scheme · 9c62a279
      Richard Levitte 提交于
      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: NAndy Polyakov <appro@openssl.org>
      9c62a279
    • R
      Configure - get rid of the special debug_ and release_ settings · 8864f0de
      Richard Levitte 提交于
      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: NAndy Polyakov <appro@openssl.org>
      8864f0de
    • R
      Minimize copied config settings · 940a09ba
      Richard Levitte 提交于
      $target{lflags} and $target{plib_flag} were copied to %config for no
      good reason.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      940a09ba
    • R
      Configure - move the addition of the zlib / libz lib to configs · 98fdbce0
      Richard Levitte 提交于
      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: NAndy Polyakov <appro@openssl.org>
      98fdbce0
    • R
      Configure - Rename BASE to DEFAULTS and add a few inheritable BASEs · d2b2221a
      Richard Levitte 提交于
      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: NAndy Polyakov <appro@openssl.org>
      d2b2221a
    • R
      Configure - Allow CODErefs and ARRAYrefs in configuration setting arrays · b0b92a5b
      Richard Levitte 提交于
      This provides for more powerful lazy evaluation and buildup of the
      setting contents.  For example, something like this becomes possible:
      
          defines => [ sub { $config{thisorthat} ? "FOO" : () } ]
      
      Any undefined result of such functions (such as 'undef' or the empty
      list) will be ignored.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      b0b92a5b
  3. 02 3月, 2016 2 次提交
  4. 01 3月, 2016 1 次提交
  5. 28 2月, 2016 1 次提交
  6. 27 2月, 2016 2 次提交
  7. 26 2月, 2016 2 次提交
  8. 23 2月, 2016 4 次提交
  9. 22 2月, 2016 11 次提交
  10. 20 2月, 2016 2 次提交
    • R
      Build dynamic engines even if configured "no-shared" · 343ec2b0
      Richard Levitte 提交于
      Until now, the engines in engines/ were only built as dynamicaly
      loadable ones if shared libraries were built.
      
      We not dissociate the two and can build dynamicaly loadable engines
      even if we only build static libcrypto and libssl.  This is controlled
      with the option (enable|disable|no)-static-engine, defaulting to
      no-static-engine.
      
      Note that the engines in crypto/engine/ (dynamic and cryptodev) will
      always be built into libcrypto.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      343ec2b0
    • R
      Always build library object files with shared library cflags · 45502bfe
      Richard Levitte 提交于
      This takes us away from the idea that we know exactly how our static
      libraries are going to get used.  Instead, we make them available to
      build shareable things with, be it other shared libraries or DSOs.
      
      On the other hand, we also have greater control of when the shared
      library cflags.  They will never be used with object files meant got
      binaries, such as apps/openssl or test/test*.
      
      With unified, we take this a bit further and prepare for having to
      deal with extra cflags specifically to be used with DSOs (dynamic
      engines), libraries and binaries (applications).
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      45502bfe
  11. 19 2月, 2016 5 次提交
    • R
      Misc small fixes. · f99f91f1
      Richard Levitte 提交于
      Better libclean that removes the exact files that have been built,
      nothing more and nothing less.
      
      Corrected typo
      
      A couple of editorial changes.
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      f99f91f1
    • R
      Let Configure figure out the diverse shared library and DSO extensions · e987f9f2
      Richard Levitte 提交于
      Then it can pass around the information where it belongs.  The
      Makefile templates pick it up along with other target data, the
      DSO module gets to pick up the information through
      crypto/include/internal/dso_conf.h
      Reviewed-by: NAndy Polyakov <appro@openssl.org>
      e987f9f2
    • R
      Rethink the uplink / applink story · 3a55c92b
      Richard Levitte 提交于
      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: NAndy Polyakov <appro@openssl.org>
      3a55c92b
    • R
      Remove all special make depend flags, as well as OPENSSL_DOING_MAKEDEPEND · ce192ebe
      Richard Levitte 提交于
      All those flags existed because we had all the dependencies versioned
      in the repository, and wanted to have it be consistent, no matter what
      the local configuration was.  Now that the dependencies are gone from
      the versioned Makefile.ins, it makes much more sense to use the exact
      same flags as when compiling the object files.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      ce192ebe
    • R
      Remove outdated DEBUG flags. · d63a5e5e
      Rich Salz 提交于
      Add -DBIO_DEBUG to --strict-warnings.
      Remove comments about outdated debugging ifdef guards.
      Remove md_rand ifdef guarding an assert; it doesn't seem used.
      Remove the conf guards in conf_api since we use OPENSSL_assert, not assert.
      For pkcs12 stuff put OPENSSL_ in front of the macro name.
      Merge TLS_DEBUG into SSL_DEBUG.
      Various things just turned on/off asserts, mainly for checking non-NULL
      arguments, which is now removed: camellia, bn_ctx, crypto/modes.
      Remove some old debug code, that basically just printed things to stderr:
        DEBUG_PRINT_UNKNOWN_CIPHERSUITES, DEBUG_ZLIB, OPENSSL_RI_DEBUG,
        RL_DEBUG, RSA_DEBUG, SCRYPT_DEBUG.
      Remove OPENSSL_SSL_DEBUG_BROKEN_PROTOCOL.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      d63a5e5e
  12. 18 2月, 2016 1 次提交