summaryrefslogtreecommitdiffstats
path: root/Configure
AgeCommit message (Collapse)Author
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>
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>