summaryrefslogtreecommitdiffstats
path: root/Configure
AgeCommit message (Collapse)Author
2017-03-06Add a platform specific configuration checkerRichard Levitte
For each platform, we may need to perform some basic checks to see that available tools perform as we expect them. For the moment, the added checkers test that Perl gives the expected path format. This should help MingW users to see if they run an appropriate Perl implementation, for example. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2851)
2017-02-28More Configure cleanup. RemoveEmilia Kasper
- util/incore - util/fipslink.pl - the unused "baseaddr" configure switch Reviewed-by: Stephen Henson <steve@openssl.org>
2017-02-28Clean up references to FIPSEmilia Kasper
This removes the fips configure option. This option is broken as the required FIPS code is not available. FIPS_mode() and FIPS_mode_set() are retained for compatibility, but FIPS_mode() always returns 0, and FIPS_mode_set() can only be used to turn FIPS mode off. Reviewed-by: Stephen Henson <steve@openssl.org>
2017-02-24Add -Wundef to --strict-warnings options.Bernd Edlinger
Avoid a -Wundef warning in refcount.h Avoid a -Wundef warning in o_str.c Avoid a -Wundef warning in testutil.h Include internal/cryptlib.h before openssl/stack.h to avoid use of undefined symbol OPENSSL_API_COMPAT. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2712)
2017-02-22Remove -Wno-parentheses-equality from gcc --strict-warnings options.Bernd Edlinger
There has never been any gcc option of that kind. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2705)
2017-02-21Implementation of the ARIA cipher as described in RFC 5794.Pauli
This implementation is written in endian agnostic C code. No attempt at providing machine specific assembly code has been made. This implementation expands the evptests by including the test cases from RFC 5794 and ARIA official site rather than providing an individual test case. Support for ARIA has been integrated into the command line applications, but not TLS. Implemented modes are CBC, CFB1, CFB8, CFB128, CTR, ECB and OFB128. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2337)
2017-02-17If all versions of a proto are disabled, disabled the proto as wellRichard Levitte
For example, 'no-dtls1 no-dtls1_2' will imply 'no-dtls' Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2670)
2017-02-01Add support for parameterized SipHashTodd Short
The core SipHash supports either 8 or 16-byte output and a configurable number of rounds. The default behavior, as added to EVP, is to use 16-byte output and 2,4 rounds, which matches the behavior of most implementations. There is an EVP_PKEY_CTRL that can control the output size. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2216)
2017-01-31Add -Wno-parentheses-equality to dev-warnings.Rich Salz
Also fix a block comment formatting glitch. Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2327)
2016-12-29Fix compilation with no-ecMatt Caswell
Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2153)
2016-12-05Also set the CXXFLAG to the user supplied flagsKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2025
2016-12-03Move libfuzzer sanitizer options to READMEKurt Roeckx
This is something you might want to change depending on the version to use, there is no point in us fixing this to something. Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-12-03Use 8bit-counters when using libfuzzerKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> GH: #2023
2016-11-25INSTALL: clarify 386 and no-sse2 options.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-11-15Only build the body of e_padlock when there are lower level routinesRichard Levitte
engines/e_padlock.c assumes that for all x86 and x86_64 platforms, the lower level routines will be present. However, that's not always true, for example for solaris-x86-cc, and that leads to build errors. The better solution is to have configure detect if the lower level padlock routines are being built, and define the macro PADLOCK_ASM if they are, and use that macro in our C code. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1510)
2016-11-15Make it possible to disable building and running testsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1514)
2016-11-15Revert "Remove heartbeats completely"Richard Levitte
Done too soon, this is for future OpenSSL 1.2.0 This reverts commit 6c62f9e1639a7d1a879f363a99882920104dfedb. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-15Remove heartbeats completelyRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1669)
2016-11-10Building: make it possible to force linking with static OpenSSL libsRichard Levitte
Very simply, support having the .a extension to denote depending on static libraries. Note that this is not supported on native Windows when building shared libraries, as there is not static library then, just an import library with the same name. Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1889)
2016-11-04Control building of ossl_shim through ConfigureMatt Caswell
Don't build ossl_shim by default. Switch it on through enable-external-tests. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-11-04Integrate ossl_shim into the buildRichard Levitte
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-11-03Allow indented comments in build.infoRichard Levitte
Reviewed-by: Emilia Käsper <emilia@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1789)
2016-11-02Update Configure to know about tls1_3Matt Caswell
Also we disable TLS1.3 by default (use enable-tls1_3 to re-enable). This is because this is a WIP and will not be interoperable with any other TLS1.3 implementation. Finally, we fix some tests that started failing when TLS1.3 was disabled by default. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-11-01Revert "Disable MDC2 by default."Rich Salz
This reverts commit ca1574cec20589885000d039eed3a9375fb29a0d. Not suitabled for a minor release as it breaks the ABI. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-31Disable MDC2 by default.Rich Salz
Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-10-14Fix C++ support: set $target{cxx} correctlyRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-10-13Configure: remove superfluous 0xVitezslav Cizek
The number is taken from the OPENSSL_VERSION_NUMBER which is already in the hex form. CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1706)
2016-10-13Remove automatic RPATH - add user rpath supportRichard Levitte
Make Configure recognise -rpath and -R to support user added rpaths for OSF1 and Solaris. For convenience, add a variable LIBRPATH in the Unix Makefile, which the users can use as follows: ./config [options] -Wl,-rpath,\$(LIBRPATH) Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-10-12Add support for C++ in ConfigureRichard Levitte
A note: this will form object file names by changing '.cc' to '_cc.o'. This will permit other configuration code to recognise these object files were built for C++ rather than C. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-09-22Add -Wswitch-enumRich Salz
Change code so when switching on an enumeration, have case's for all enumeration values. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-09-17Have the configuration options 'no-err' and 'no-async' work againRichard Levitte
In an earlier attempt to simplify the processing of disabled options, 'no-err' and 'no-async' stopped working properly. 'err' and 'async' are directories under 'crypto/', but they are special insofar that they can't be simply skipped, like all the algorithm directories can, so they need special treatment among the disablable things. Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-09-16Rearrange the storage of build file template names in %configRichard Levitte
They are now relative paths as well Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-09-16Register the name of the config file each config target was found inRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-09-13Configure: detect gcc's dependency generation capability more accurately.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-09-13Configure: impose ^X on whole build procedure.Andy Polyakov
Traditionally Configure passed $ENV{PERL} to Makefile. But this resulted in ambiguilty as Configure script could be executed by interpreter different from one executing remaining scripts. Since we separate compile- and run-time interpreters with HASHBANGPERL variable, there is no reason to segment the build procedure. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-09-09Trim config outputRich Salz
With extensive help and feedback from Richard and Andy. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-09-07Allow asan, msan and ubsan to be configured with shared librariesRichard Levitte
The background story is that util/shlib_wrap.sh was setting LD_PRELOAD or similar platform dependent variables, just in case the shared libraries were built with -rpath. Unfortunately, this doesn't work too well with asan, msan or ubsan. So, the solution is to forbid the combination of shared libraries, -rpath and any of the sanity analyzers we can configure. This changes util/shlib_wrap.sh so it only contains the code that sets LD_PRELOAD when -rpath has been used when configuring. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-09-07Configure: Reorganise the checking of disabled optionsRichard Levitte
The way we figured out what options are crypto algorithms and what are something other was somewhat sketchy. This change bases the distinction on available sdirs instead. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-09-03Configure: clarify and refine -static.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-09-01Revert "Make it possible to disable fuzz testing"Richard Levitte
This reverts commit eb40eaed727500bf4a15f848c99e37edd18e142e. Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-08-31Have Configure's HASH or TABLE produce complete listsRichard Levitte
Because some targets execute perl code that might die, we risk incomplete lists. Make it so dying doesn't happen when we're listing targets. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-31Configure's print_table_entry printed incorrect informationRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-31Make it possible to disable fuzz testingRichard Levitte
These tests take a very long time on some platforms, and arent't always strictly necessary. This makes it possible to turn them off. The necessary binaries are still built, though, in case someone still wants to do a manual run. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-08-31The Perl interpreter might be in a path with spaces, so maybe quote itRichard Levitte
Note: some shells do not like the command verb to be quoted, so we avoid it unless it's actually necessary. RT#4665 Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-30Configure: save away the value of OPENSSL_LOCAL_CONFIG_DIR for reconfRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-30Configure: Redo the logic for finding build file templatesRichard Levitte
Build file templates would be looked up like this if the user gave us an additional directory to look for configuration files and build file templates: $OPENSSL_LOCAL_CONFIG_DIR/$OSTYPE-Makefile.tmpl $SOURCEDIR/Configurations/$OSTYPE-Makefile.tmpl $OPENSSL_LOCAL_CONFIG_DIR/Makefile.tmpl $SOURCEDIR/Configurations/Makefile.tmpl So for example, if the user created his own Makefile.tmpl and tried to use it with a unixly config, it would never be user because we have a unix-Makefile.tmpl in our Configurations directory. This is clearly wrong, and this change makes it look in this order instead: $OPENSSL_LOCAL_CONFIG_DIR/$OSTYPE-Makefile.tmpl $OPENSSL_LOCAL_CONFIG_DIR/Makefile.tmpl $SOURCEDIR/Configurations/$OSTYPE-Makefile.tmpl $SOURCEDIR/Configurations/Makefile.tmpl Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-30Configure: clean away temporary section of codeRichard Levitte
We've done away with Makefile as source of information and now use configdata.pm exclusively. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-30Make it possible for the user to specify a different default build fileRichard Levitte
Make sure the information is kept for reconfiguration too. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-26Improve the definition of STITCHED_CALL in e_rc4_hmac_md5.cRichard Levitte
The definition of STITCHED_CALL relies on OPENSSL_NO_ASM. However, when a configuration simply lacks the assembler implementation for RC4 (which is where we have implemented the stitched call), OPENSSL_NO_ASM isn't implemented. Better, then, to rely on specific macros that indicated that RC4 (and MD5) are implemented in assembler. For this to work properly, we must also make sure Configure adds the definition of RC4_ASM among the C flags. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-08-22Configure: Properly cache the configured compiler commandRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>