summaryrefslogtreecommitdiffstats
path: root/Configure
AgeCommit message (Collapse)Author
2016-03-21Remove the remainder of util/mk1mf.pl and companion scriptsRichard Levitte
This removes all scripts that deal with MINFO as well, since that's only used by mk1mf. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-21Remove generation of ms/version32.rc from Configure, use util/mkrc.plRichard Levitte
utils/mkrc.pl was added a while ago as a better generator for the Windows DLL resource file. Finalize the change by removing the ms/version32.rc generator from Configure and adding resource file support using mkrc.pl in Configurations/windows-makefile.pl Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-19Make apps/progs.pl more flexibleRichard Levitte
Make Configure write @disablables to configdata.pm and have apps/progs.pl use that data. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Correct the export list when writing configdata.pmRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-19Correct the check of files to depend on against known generated onesRichard Levitte
The check was erroneously inversed Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17Make picker, thread and combine standard config helper functionsRichard Levitte
Document them as well Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-17Remove Netware and OS/2Rich Salz
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-17Disallow --classic for WindowsRichard Levitte
With all the config changes, mk1mf is broken on Windows. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-17Added build.info debugging capability to ConfigureRichard Levitte
This is only enabled when the environment variable CONFIGURE_DEBUG_BUILDINFO is defined. This will cause every line in every build.info file to be displayed, along with the content of the skip stack before and after parsing. This can be a very powerful tool to see that all conditions are working as expected. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-16Disable AFALG when cross-compilingMatt Caswell
We don't currently support cross-compiling of the afalg engine. However we were failing to explicitly mark it as disabled during Configure leading to a failed build. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-15static-engine is no longer an internal keyword, remove it from %disabledRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-14Disable afalg when engine is disabled.Emilia Kasper
Also make it possible to disable afalg separately. we still need to update config again Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-14Enforce the demand for Perl 5.10.0 as a minimum.Richard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-14Fix a few Configure errorsRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-11Add blake2 support.Bill Cox
Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-11Configure: remove dependency on 'head'.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-11Don't build dynamic engines unless configured "shared"Richard Levitte
Experience has shown that dynamic engines with their own copy of libcrypto is problematic, so we disable that possibility. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-10Configure - don't trust $1 to stick around, save its value awayRichard Levitte
Reviewed-by: Stephen Henson <steve@openssl.org>
2016-03-09Correct slight logic error in processing IF in build.infoRichard Levitte
This corrects a fault where the inner IF in this example was still being acted upon: IF[0] ...whatever... IF[1] ...whatever more... ENDIF ENDIF With this change, the inner IF is skipped over. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-09Comment away the extra checks in ConfigureRichard Levitte
The "extra checks" is a debugging tool to check the config resolving mechanism. It uses Perl's smart match, which is experimental and therefore always causes Perl to give out a warning, and it causes older Perl versions to fail entirely. So, it gets commented away, but stays otherwise in place, as it may be useful again. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-09In build.info, an IF within a clause that's skipped over shouldn't applyRichard Levitte
If we find an IF within a clause that's skipped over, set it to be skipped as well. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-09Remove the old threading APIMatt Caswell
All OpenSSL code has now been transferred to use the new threading API, so the old one is no longer used and can be removed. We provide some compat macros for removed functions which are all no-ops. There is now no longer a need to set locking callbacks!! Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-09Don't check the conditions to build e_afalg if configured "no-engine"Richard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-09Have Configure display the value of SHARED_CFLAGRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-09Check gcc version to see if it supports -MM and friendsRichard Levitte
According to manuals found here: https://gcc.gnu.org/onlinedocs/, GNU C version 3 and on support the dependency generation options. We therefore need to check the gcc version to see if we're going to use it or makedepend for dependency generation. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-09Add the configure option 'no-makedepend'Richard Levitte
If no makedepend program or equaly capable compiler is present, 'makedepend' gets disabled automatically. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-08Add the Configure option --classic, to fall back on classic build schemesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-08Revert "unified build scheme: Try to nudge users to try the "unified" build"Richard Levitte
This reverts commit 242ffb05a2e4aa3fc7ffc131037e077b7e242189. Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-08Fix building without multiblock supportMatt Caswell
Not all platforms support multiblock. Building without it fails prior to this fix. RT#4396 Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-07Unified - Add the build.info command OVERRIDE, to avoid build file clashesRichard Levitte
Should it be needed because the recipes within a RAW section might clash with those generated by Configure, it's possible to tell it not to generate them with the use of OVERRIDES, for example: SOURCE[libfoo]=foo.c bar.c OVERRIDES=bar.o BEGINRAW[Makefile(unix)] bar.o: bar.c $(CC) $(CFLAGS) -DSPECIAL -c -o $@ $< ENDRAW[Makefile(unix)] Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-07Unified - Add the build.info command GENERATE, to generate source filesRichard Levitte
In some cases, one might want to generate some source files from others, that's done as follows: GENERATE[foo.s]=asm/something.pl $(CFLAGS) GENERATE[bar.s]=asm/bar.S The value of each GENERATE line is a command line or part of it. Configure places no rules on the command line, except the the first item muct be the generator file. It is, however, entirely up to the build file template to define exactly how those command lines should be handled, how the output is captured and so on. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-07Misc afalg build fixesMatt Caswell
Misc afalg build fixes as suggested by Richard Levitte for the latest Configure changes. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-07Rework based on feedback:clucey
1. Cleaned up eventfd handling 2. Reworked socket setup code to allow other algorithms to be added in future 3. Fixed compile errors for static build 4. Added error to error stack in all cases of ALG_PERR/ALG_ERR 5. Called afalg_aes_128_cbc() from bind() to avoid race conditions 6. Used MAX_INFLIGHT define in io_getevents system call 7. Coding style fixes Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-07ALG: Add AFALG engineclucey
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-05Change names of ordinals and libs, libeay => libcrypto and ssleay => libsslRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-04Disable SSLv3 by defaultKurt Roeckx
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Emilia Kasper <emilia@openssl.org> MR: #2203
2016-03-04Don't build RC4 ciphersuites into libssl by defaultMatt Caswell
RC4 based ciphersuites in libssl have been disabled by default. They can be added back by building OpenSSL with the "enable-weak-ssl-ciphers" Configure option at compile time. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-04Restore the zlib / zlib-dynamic logicRichard Levitte
The proper logic is that both zlib and zlib-dynamic are disabled by default and that enabling zlib-dynamic would enable zlib. Somewhere along the way, the logic got changed, zlib-dynamic was enabled by default and zlib didn't get automatically enabled. This change restores the original logic. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-02Don't copy from %target to %config so much, see %config as a complementRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - Get rid of the special thread_cflag, replace with thread_schemeRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - get rid of the special debug_ and release_ settingsRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Minimize copied config settingsRichard Levitte
$target{lflags} and $target{plib_flag} were copied to %config for no good reason. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - move the addition of the zlib / libz lib to configsRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - Rename BASE to DEFAULTS and add a few inheritable BASEsRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - Allow CODErefs and ARRAYrefs in configuration setting arraysRichard 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: Andy Polyakov <appro@openssl.org>
2016-03-02Configure - make the use of environment variables for overrides consistentRichard Levitte
We allow some commands to be overriden, but didn't handle that in a consistent manner. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-02Make uplink auxiliary source separate from cpuid sourceRichard Levitte
There are cases, for example when configuring no-asm, that the added uplink source files got in the way of the cpuid ones. The best way to solve this is to separate the two. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-01Unified - have configdata.pm depend on a few more thingsRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-27Remove last remains of old config stringsRichard Levitte
Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-02-27Apply default after having checked the given config target is validRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>