summaryrefslogtreecommitdiffstats
path: root/Configure
AgeCommit message (Collapse)Author
2016-08-22Configure: Properly cache the configured compiler commandRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-19Sort %disabled in ConfigureBenjamin Kaduk
@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>
2016-08-16Configure: recognize -static as link option and disable incompatible options.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-05The capi engine uses stdio, so don't build it when configuring 'no-stdio'Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-28Add memory sanitizer config, and run on travis.Emilia Kasper
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-18build.info: implement PROGRAM_NO_INST, and dito for ENGINES, SCRIPTS, LIBSRichard Levitte
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>
2016-07-16Make fuzzer and fuzz tester builds less magicRichard Levitte
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>
2016-07-04perl: Separate compile-time environment from runtime environmentRichard Levitte
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>
2016-07-01Make build.info INCLUDE stmts be both source and build tree relativeRichard Levitte
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>
2016-07-01Run the fuzzing corpora as tests.Ben Laurie
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-22Spelling... and more spellingFdaSilvaYY
Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1245)
2016-06-21Fix typoPetr Vaněk
Reviewed-by: Kurt Roeckx <kurt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1241)
2016-06-16no-ripemd is an alias for no-rmd160Matt Caswell
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>
2016-06-14Move the Configure generated header files to the top build.infoRichard Levitte
This turns these headers into build file generated ones. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-14Configure: Make it possible to generate mandatory header filesRichard Levitte
'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>
2016-06-05Configure: complete the changed fuzz option checksRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-06-04Clean away the last unixmake vestigesRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-06-04Add support for fuzzing with AFLKurt Roeckx
Reviewed-by: Ben Laurie <ben@links.org> MR: #2740
2016-06-01Add final(?) set of copyrights.Rich Salz
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>
2016-05-30perl: use the 'if' module to conditionally load File::GlobRichard Levitte
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>
2016-05-29Configure,test/recipes: "pin" glob to File::Glob::glob.Andy Polyakov
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>
2016-05-27Configure: handle spaces in source directory specRichard Levitte
RT#4486 Reviewed-by: Matt Caswell <matt@openssl.org>
2016-05-25Configure: pull 'which' back.Andy Polyakov
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>
2016-05-25Don't clean away headers generated by ConfigureRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-25Make sure crypto-mdebug-backtrace must be enabled explicitelyRichard Levitte
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>
2016-05-25Configure: To allow file names with spaces, tokenize with respect for quotesRichard Levitte
For parsing build.info files. RT#4492 Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-05-25Communicate Configure generated header files to build filesRichard Levitte
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>
2016-05-23Add buf-freelists to deprecated optionsTodd Short
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>
2016-05-16Add support for RC / WINDRES env variablesRichard Levitte
RT#2558 Reviewed-by: Tim Hudson <tjh@openssl.org>
2016-05-10Configure: replace which() with IPC::Cmd::can_run.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-10Configure: adhere to $(CROSS_COMPILE)ranlib.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-10Configure: make it work with Perl 5.10.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-05-07Add fuzzing!Ben Laurie
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-05-02Add the possibility for local build file templatesRichard Levitte
Use the environment variable OPENSSL_LOCAL_CONFIG_DIR to find build file templates as well. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-05-02Add the possibility to have an extra local OpenSSL configs directoryRichard Levitte
The environment variable OPENSSL_LOCAL_CONFIG_DIR is used to indicate that there's a local directory with extra configuration files. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-04-28various spelling fixesFdaSilvaYY
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/952)
2016-04-26Remove the never-functional no-sctBenjamin Kaduk
It was added as part of 2df84dd3299ff25fa078ca7ffbdeaac65b361feb but has never actually been used for anything; presumably it was a typo for one of SCTP or CT. This removes the last '??' entry from INSTALL. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-25Build system: add include directories and dependencies for generatorsRichard Levitte
In the case of generating a file like this: GENERATE[foo.S]=mkfoo.pl arg1 arg2 the 'mkfoo.pl' generator itself might need to include other files, such as perl modules within our source tree. We can reuse already existing syntax for it, like this: INCLUDE[mkfoo.pl]=module/path or: DEPEND[mkfoo.pl]=modules/mymodule.pm This change implements the support for such constructs, and for the DEPEND statement, for any value that indicates a perl module (.pm file), it will automatically infer an INCLUDE statement for its directory, just like it does for C header files, so you won't have do write this: DEPEND[mkfoo.pl]=modules/mymodule.pm INCLUDE[mkfoo.pl]=modules Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-04-22Warn when doing an out-of-source build and finding in-source build artifactsRichard Levitte
The reason to warn is that configuration *may* pick up on configuration header files that are in the source tree, that might be for a wildly different configuration than what is expected in the current out-of-source configuration. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-04-20Copyright consolidation; .pm and ConfigureRich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-20Remove --classic build entirelyRichard Levitte
The Unix build was the last to retain the classic build scheme. The new unified scheme has matured enough, even though some details may need polishing. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-20Cascade no-dgram from no-sock in Configure not e_os.hMatt Caswell
e_os.h was defining OPENSSL_NO_DGRAM if OPENSSL_NO_SOCK was defined. This causes link problems on Windows because the generated .def files still contain the DGRAM symbols even though they have not been compiled. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-14Make "shared" builds the defaultMatt Caswell
In most cases we expect that people will be using shared libraries not static ones, therefore we make that the default. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-14Fix no-stdio and no-autoalginitMatt Caswell
no-stdio does not work with the apps. Since the tests also need the apps it doesn't support that either. Therefore we disable building of both. no-autoalginit is not compatible with the apps because it requires explicit loading of the algorithms, and the apps don't do that. Therefore we disable building the apps for this option. Similarly the tests depend on the apps so we also disable the tests. Finally the whole point about no-autoalginit is to avoid excessive executable sizes when doing static linking. Therefore we disable "shared" if this option is selected. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-13Remove no-aes, no-rsa, no-sha, no-md5 and no-hmacMatt Caswell
These algorithms are fundamental and extensively used. The "no-" options do not work either in 1.1.0 or in other released branches. Therefore the ability to disable them should be removed. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-13Fix the handling of --with-zlib-includeRichard Levitte
The handling was Unix centric, already in Configure. Change that to just collect the value and let the build file templates figure out what to do with it. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-04-07Clean-up *_DEBUG options.Andy Polyakov
Since NDEBUG is defined unconditionally on command line for release builds, we can omit *_DEBUG options in favour of effective "all-on" in debug builds exercised though CI. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-04-06Perl cleanup: don't create lists unnecessarilyRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-06Configure: add BLAKE_DEBUG to --strict-warnings set.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-04Revert "various spelling fixes"Rich Salz
This reverts commit 620d540bd47a96fb6905fbbdd8ea5167a8841a3e. It wasn't reviewed. Reviewed-by: Rich Salz <rsalz@openssl.org>