aboutsummaryrefslogtreecommitdiffstats
path: root/Configure
Commit message (Collapse)AuthorAgeFilesLines
* Have the configuration options 'no-err' and 'no-async' work againRichard Levitte2016-09-171-1/+2
| | | | | | | | | | 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>
* Rearrange the storage of build file template names in %configRichard Levitte2016-09-161-40/+42
| | | | | | They are now relative paths as well Reviewed-by: Andy Polyakov <appro@openssl.org>
* Register the name of the config file each config target was found inRichard Levitte2016-09-161-2/+7
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org>
* Configure: detect gcc's dependency generation capability more accurately.Andy Polyakov2016-09-131-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: impose ^X on whole build procedure.Andy Polyakov2016-09-131-18/+2
| | | | | | | | | | 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>
* Trim config outputRich Salz2016-09-091-42/+25
| | | | | | | With extensive help and feedback from Richard and Andy. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org>
* Allow asan, msan and ubsan to be configured with shared librariesRichard Levitte2016-09-071-1/+8
| | | | | | | | | | | | | | | 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>
* Configure: Reorganise the checking of disabled optionsRichard Levitte2016-09-071-17/+18
| | | | | | | | 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>
* Configure: clarify and refine -static.Andy Polyakov2016-09-031-0/+17
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Revert "Make it possible to disable fuzz testing"Richard Levitte2016-09-011-1/+0
| | | | | | This reverts commit eb40eaed727500bf4a15f848c99e37edd18e142e. Reviewed-by: Emilia Käsper <emilia@openssl.org>
* Have Configure's HASH or TABLE produce complete listsRichard Levitte2016-08-311-0/+3
| | | | | | | | 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>
* Configure's print_table_entry printed incorrect informationRichard Levitte2016-08-311-18/+30
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Make it possible to disable fuzz testingRichard Levitte2016-08-311-0/+1
| | | | | | | | | 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>
* The Perl interpreter might be in a path with spaces, so maybe quote itRichard Levitte2016-08-311-1/+10
| | | | | | | | | 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>
* Configure: save away the value of OPENSSL_LOCAL_CONFIG_DIR for reconfRichard Levitte2016-08-301-34/+39
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: Redo the logic for finding build file templatesRichard Levitte2016-08-301-17/+30
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Configure: clean away temporary section of codeRichard Levitte2016-08-301-21/+0
| | | | | | | We've done away with Makefile as source of information and now use configdata.pm exclusively. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Make it possible for the user to specify a different default build fileRichard Levitte2016-08-301-1/+8
| | | | | | Make sure the information is kept for reconfiguration too. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Improve the definition of STITCHED_CALL in e_rc4_hmac_md5.cRichard Levitte2016-08-261-0/+3
| | | | | | | | | | | | | 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>
* Configure: Properly cache the configured compiler commandRichard Levitte2016-08-221-1/+4
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Sort %disabled in ConfigureBenjamin Kaduk2016-08-191-3/+3
| | | | | | | | @disablables is sorted, but these were just added at the end of %disabled in commits c2e27310 and 22e3dcb7. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Configure: recognize -static as link option and disable incompatible options.Andy Polyakov2016-08-161-0/+7
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* The capi engine uses stdio, so don't build it when configuring 'no-stdio'Richard Levitte2016-08-051-1/+1
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add memory sanitizer config, and run on travis.Emilia Kasper2016-07-281-1/+9
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* build.info: implement PROGRAM_NO_INST, and dito for ENGINES, SCRIPTS, LIBSRichard Levitte2016-07-181-13/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PROGRAM_NO_INST, ENGINES_NO_INST, SCRIPTS_NO_INST and LIBS_NO_INST are to be used to specify program, engines, scripts and libraries that are not to be installed in the system. Fuzzers, test programs, that sort of things are of the _NO_INST type, for example. For the benefit of build file templates and other templates that use data from configdata.pm, a new hash table $unified_info{install} is created. It contains a set of subhashes, one for each type of installable, each having an array of file names as values. For example, it can look like this: "install" => { "engines" => [ "engines/afalg/afalg", "engines/capi", "engines/dasync", "engines/padlock", ], "libraries" => [ "libcrypto", "libssl", ], "programs" => [ "apps/openssl", ], "scripts" => [ "apps/CA.pl", "apps/tsget", "tools/c_rehash", ], }, Reviewed-by: Rich Salz <rsalz@openssl.org>
* Make fuzzer and fuzz tester builds less magicRichard Levitte2016-07-161-3/+0
| | | | | | | | Instead of having fuzz/build.info.fuzz magically and conditionally included along with the other build.info files, incorporate it in fuzz/build.info and add the conditions there instead. Reviewed-by: Rich Salz <rsalz@openssl.org>
* perl: Separate compile-time environment from runtime environmentRichard Levitte2016-07-041-0/+4
| | | | | | | | | | | | | Make it possible to have a separate and different perl command string for installable scripts than we use when building, with the environment variable HASHBANGPERL. Its value default to the same as the environment PERL if it's defined, otherwise '/usr/bin/env perl'. Note: this is only relevant for Unix-like environments. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Kurt Roeckx <kurt@openssl.org>
* Make build.info INCLUDE stmts be both source and build tree relativeRichard Levitte2016-07-011-5/+24
| | | | | | | | | | | | | | INCLUDE statements in build.info files were source tree centric. That meant that to get include directory specs in the build tree, we had to resort to perl fragments that specified the build tree include paths as absolute ones. This change has the INCLUDE statement consider both the source and build tree for any include directory. It means that there may be some extra unnecessary include paths, but it also makes life simpler for anyone who makes changes in the build.info files. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Run the fuzzing corpora as tests.Ben Laurie2016-07-011-6/+4
| | | | | Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
* Spelling... and more spellingFdaSilvaYY2016-06-221-3/+3
| | | | | Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1245)
* Fix typoPetr Vaněk2016-06-211-1/+1
| | | | | Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1241)
* no-ripemd is an alias for no-rmd160Matt Caswell2016-06-161-19/+23
| | | | | | | mkdef.pl was failing to understand no-ripemd. This is a deprecated option which should act as an alias for no-rmd160. Reviewed-by: Richard Levitte <levitte@openssl.org>
* Move the Configure generated header files to the top build.infoRichard Levitte2016-06-141-17/+0
| | | | | | This turns these headers into build file generated ones. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: Make it possible to generate mandatory header filesRichard Levitte2016-06-141-5/+5
| | | | | | | | | | 'DEPEND[]=file.h' becomes a special way to say that 'file.h' must be generated before anything else is built. It's likely that a number of source files depend on these header files, this provides a simple way to make sure they are always generated even it the dependency data hasn't been added to the build file yet. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: complete the changed fuzz option checksRichard Levitte2016-06-051-1/+2
| | | | Reviewed-by: Andy Polyakov <appro@openssl.org>
* Clean away the last unixmake vestigesRichard Levitte2016-06-041-39/+0
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add support for fuzzing with AFLKurt Roeckx2016-06-041-3/+18
| | | | | | Reviewed-by: Ben Laurie <ben@links.org> MR: #2740
* Add final(?) set of copyrights.Rich Salz2016-06-011-2/+0
| | | | | | | | | Add copyright to missing assembler files. Add copyrights to missing test/* files. Add copyrights Various source and misc files. Reviewed-by: Richard Levitte <levitte@openssl.org>
* perl: use the 'if' module to conditionally load File::GlobRichard Levitte2016-05-301-3/+1
| | | | | | | Trying to use normal perl conditions to conditionally 'use' a perl module didn't quite work. Using the 'if' module to do so does work. Reviewed-by: Andy Polyakov <appro@openssl.org>
* Configure,test/recipes: "pin" glob to File::Glob::glob.Andy Polyakov2016-05-291-2/+5
| | | | | | | | | | | | | | As it turns out default glob's behaviour for quoted argument varies from version to version, making it impossible to Configure or run tests in some cases. The reason for quoting globs was to accommodate source path with spaces in its name, which was treated by default glob as multiple paths. File::Glob::glob on the other hand doesn't consider spaces as delimiters and therefore works with unquoted patterns. [Unfortunaltely File::Glob::glob, being too csh-ly, doesn't work on VMS, hence the "pinning" is conditional.] Reviewed-by: Richard Levitte <levitte@openssl.org>
* Configure: handle spaces in source directory specRichard Levitte2016-05-271-2/+2
| | | | | | RT#4486 Reviewed-by: Matt Caswell <matt@openssl.org>
* Configure: pull 'which' back.Andy Polyakov2016-05-251-3/+23
| | | | | | | | | | At earlier point 'which' was replaced with IPC::Cmd::can_run call. Unfortunately on RPM-based systems it is a separate package and it's not given that it's installed. Resurrected 'which' provides poor-man fallback for IPC::Cmd::can_run. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
* Don't clean away headers generated by ConfigureRichard Levitte2016-05-251-7/+0
| | | | Reviewed-by: Rich Salz <rsalz@openssl.org>
* Make sure crypto-mdebug-backtrace must be enabled explicitelyRichard Levitte2016-05-251-0/+1
| | | | | | | As it was until now, crypto-mdebug-backtrace was enabled by default and only disabled if crypto-mdebug was disabled. Reviewed-by: Rich Salz <rsalz@openssl.org>
* Configure: To allow file names with spaces, tokenize with respect for quotesRichard Levitte2016-05-251-13/+51
| | | | | | | | For parsing build.info files. RT#4492 Reviewed-by: Tim Hudson <tjh@openssl.org>
* Communicate Configure generated header files to build filesRichard Levitte2016-05-251-0/+7
| | | | | | | | | Add Configure generated header files to $unified_info{generate}. This makes sure the build files will pick them up with the rest for the GENERATED macro, and thereby make sure they get cleaned away by 'make clean' Reviewed-by: Rich Salz <rsalz@openssl.org>
* Add buf-freelists to deprecated optionsTodd Short2016-05-231-0/+1
| | | | | | | | The buf-freelists option was removed in master. There may be some things that try to disable it, so don't error out. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
* Add support for RC / WINDRES env variablesRichard Levitte2016-05-161-0/+2
| | | | | | RT#2558 Reviewed-by: Tim Hudson <tjh@openssl.org>
* Configure: replace which() with IPC::Cmd::can_run.Andy Polyakov2016-05-101-18/+3
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>
* Configure: adhere to $(CROSS_COMPILE)ranlib.Andy Polyakov2016-05-101-3/+7
| | | | Reviewed-by: Richard Levitte <levitte@openssl.org>