summaryrefslogtreecommitdiffstats
path: root/Configurations/10-main.conf
AgeCommit message (Collapse)Author
2016-02-13C64x+ assembly pack: add ChaCha20 and Poly1305 modules.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-11Move to REF_DEBUG, for consistency.Rich Salz
Add utility macros REF_ASSERT_NOT and REF_PRINT_COUNT This is also RT 4181 Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-11Add support for shared_rcflag, useful for windres (Cygwin and Mingw)Richard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-11Modernise the mingw cflags and ldflagsRichard Levitte
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10unified build scheme: add a "unified" template for VMS descrip.mmsRichard Levitte
As part of this, change util/mkdef.pl to stop adding libraries to depend on in its output. mkdef.pl should ONLY output a symbol vector. Because symbol names can't be longer than 31 characters, we use the compiler to shorten those that are longer down to 23 characters plus an 8 character CRC. To make sure users of our header files will pick up on that automatically, add the DEC C supported extra headers files __decc_include_prologue.h and __decc_include_epilogue.h. Furthermore, we add a config.com, so VMS people can configure just as comfortably as any Unix folks, thusly: @config Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10unified build scheme: add the tweaks to build on Cygwin & MingwRichard Levitte
Cygwin and Mingw name their libraries a bit differently from the rest of the POSIXly universe, we need to adapt to that. In Makefile.tmpl, it means that some hunks will only be output conditionally. This also means that shared_extension for the Cygwin and Mingw configurations in Configurations/10-main.conf are changing from .dll.a to .dll. Makefile.shared does a fine job without having them specified, and it's much easier to work with tucking an extra .a at the end of files in the installation recipes than any amount of name rewrites, especially with the support of the SHARED_NAME in the top build.info. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-06Enhance and clear the support of linker flagsRichard Levitte
Some time ago, we had a ex_libs configuration setting that could be divided into lflags and ex_libs. These got divided in two settings, lflags and ex_libs, and the former was interpreted to be general linking flags. Unfortunately, that conclusion wasn't entirely accurate. Most of those linking were meant to end up in a very precise position on the linking command line, just before the spec of libraries the linking depends on. Back to the drawing board, we're diving things further, now having lflags, which are linking flags that aren't depending on command line position, plib_lflags, which are linking flags that should show up just before the spec of libraries to depend on, and finally ex_libs, which is the spec of extra libraries to depend on. Also, documentation is changed in Configurations/README. This was previously forgotten. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2016-01-29Configure et al: split up the lflags configuration item into twoRichard Levitte
The lflags configuration had a weird syntax with a % as separator. If it was present, whatever came before ended up as PEX_LIBS in Makefile (usually, this is LDFLAGS), while whatever came after ended up as EX_LIBS. This change splits that item into lflags and ex_libs, making their use more explicit. Also, PEX_LIBS in all the Makefiles are renamed to LDFLAGS. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-29Make use of add() and add_before() in Configurations/Richard Levitte
A few more sub-joins could be replaced with calls to add() and add_before() Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-29Remove x86_gcc_des,x86_gcc_optsRich Salz
This is a followin from !1738, we no longer need those variables. Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-27Remove outdated legacy crypto optionsRich Salz
Many options for supporting optimizations for legacy crypto on legacy platforms have been removed. This simplifies the source code and does not really penalize anyone. DES_PTR (always on) DES_RISC1, DES_RISC2 (always off) DES_INT (always 'unsigned int') DES_UNROLL (always on) BF_PTR (always on) BF_PTR2 (removed) MD2_CHAR, MD2_LONG (always 'unsigned char') IDEA_SHORT, IDEA_LONG (always 'unsigned int') RC2_SHORT, RC2_LONG (always 'unsigned int') RC4_LONG (only int and char (for assembler) are supported) RC4_CHUNK (always long), RC_CHUNK_LL (removed) RC4_INDEX (always on) And also make D_ENCRYPT macro more clear (@appro) This is done in consultation with Andy. Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-01-22Refactor config - @MK1MF_Builds out, general build scheme inRichard Levitte
Time to get rid of @MK1MF_Builds and introduce a more flexible 'build_scheme' configuration key. Its value may be a string or an array of strings, meaning we need to teach resolve_config how to handle ARRAY referenses. The build scheme is a word that selects a function to create the appropriate result files for a certain configuration. Currently valid build schemes aer "mk1mf" and "unixmake", the plan is however to add at least one other for a more universal build scheme. Incidently, this also adds the functions 'add' and 'add_before', which can be used in a configuration, so instead of having to repeatedly write a sub like this: key1 => sub { join(" ", @_, "myvalues"); }, key2 => sub { join(" ", "myvalues", @_); }, one could write this: key1 => add(" ", "myvalues"), key2 => add_before(" ", "myvalues"), The good point with 'add' and 'add_before' is that they handle inheritances where the values are a misture of scalars and ARRAYs. If there are any ARRAY to be found, the resulting value will be an ARRAY, otherwise it will be a scalar with all the incoming valued joined together with the separator given as first argument to add/add_before. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-18Add some extra Cygwin targets as aliases for Cygwin-x86Richard Levitte
Cygwin was used for x86 before, so let's keep it around for those who still use it (it make Configure reconf possible). Cygwin-i[3456]86 for those that might generate and pass a target name directly to Configure. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-18Adjust the configuration target name from Cygwin-i686 to Cygwin-x86Richard Levitte
This is to reflect that it's not limited to just i686. Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-01-18Fix configuration system to support different architectures on Cygwin.Corinna Vinschen
This patch allows to recognize the architectures supported by Cygwin and to choose the right configuration from there. Drop -march to use default architecture on 32 bit x86. Drop pre-Cygwin-1.3 recognition since it's long gone and there's no valid configuration for this anymore. Signed-off-by: Corinna Vinschen <vinschen@redhat.com> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-12Move Makefiles to Makefile.inRich Salz
Create Makefile's from Makefile.in Rename Makefile.org to Makefile.in Rename Makefiles to Makefile.in Address review feedback from Viktor and Richard Reviewed-by: Viktor Dukhovni <viktor@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-11Enable/disable crypto-mdebug just like other featuresViktor Dukhovni
Also always abort() on leak failure. Reviewed-by: Stephen Henson <steve@openssl.org>
2016-01-07mem functions cleanupRich Salz
Only two macros CRYPTO_MDEBUG and CRYPTO_MDEBUG_ABORT to control this. If CRYPTO_MDEBUG is not set, #ifdef out the whole debug machinery. (Thanks to Jakob Bohm for the suggestion!) Make the "change wrapper functions" be the only paradigm. Wrote documentation! Format the 'set func' functions so their paramlists are legible. Format some multi-line comments. Remove ability to get/set the "memory debug" functions at runtme. Remove MemCheck_* and CRYPTO_malloc_debug_init macros. Add CRYPTO_mem_debug(int flag) function. Add test/memleaktest. Rename CRYPTO_malloc_init to OPENSSL_malloc_init; remove needless calls. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-12-11Configurations/10-main.conf: fix typos in mingw/cygwin configs.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-11-24Configuratons: add -DFILIO_H to harmonized Solaris targets.Andy Polyakov
Triggered by RT#4144. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-11-24Add perl modeline to Configure scriptsJacob Bandes-Storch
Encourages GitHub to perform proper syntax highlighting. Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-11-20Add pthread supportMatt Caswell
The forthcoming async code needs to use pthread thread local variables. This updates the various Configurations to add the necessary flags. In many cases this is an educated guess as I don't have access to most of these environments! There is likely to be some tweaking needed. Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2015-10-12Configurations: move -Wno-pedantic-ms-format to .travis.yml.Andy Polyakov
The option is not available in older toolchains and would cause breakage. Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-06Fix travis builds on masterAlessandro Ghedini
-Allow mingw debug builds to fail on Travis CI -Fix Travis email notifications config -Rename a variable to avoid a bogus warning with old GCC error: declaration of ``dup'' shadows a global declaration [-Werror=shadow] -Disable pedantic ms-format warnings with mingw -Properly define const DH parameters -Restore --debug flag in Travis CI builds; -d would get incorrectly passed to ./Configure in mingw debug builds. Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-25Properly format linux-arm64ilp32 target configAlessandro Ghedini
Otherwise the ./config script fails with errors like: > Operating system: x86_64-whatever-linux2 > This system (linux-x86_64) is not supported. See file INSTALL for details. The failure was introduced by a93d3e0. RT#4062 Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org>
2015-09-25Configurations: add linux-arm64ilp32 target.Andy Polyakov
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-08RT3969: Add OPENSSL_SYS_UEFIDavid Woodhouse
This provides support for building in the EDK II reference implementation of UEFI. Most UEFI firmware in existence uses OpenSSL for implementing the core cryptographic functionality needed for Secure Boot. This has always previously been handled with external patches to OpenSSL but we are now making a concerted effort to eliminate those. In this mode, we don't actually use the OpenSSL makefiles; we process the MINFO file generated by 'make files' and incorporate it into the EDK2 build system. Since EDK II builds for various targets with varying word size and we need to have a single prepackaged configuration, we deliberately don't hard-code the setting of SIXTY_FOUR_BIT vs. THIRTY_TWO_BIT in opensslconf.h. We bypass that for OPENSSL_SYS_UEFI and allow EDK II itself to set those, depending on the architecture. For x86_64, EDK II sets SIXTY_FOUR_BIT and thus uses 'long long' for the 64-bit type, even when building with GCC where 'long' is also 64-bit. We do this because the Microsoft toolchain has 32-bit 'long'. Signed-off-by: Rich Salz <rsalz@akamai.com> Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-08-02Build with --strict-warnings on FreeBSD.Ben Laurie
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-05-26Configure: replace -mv8 with -mcpu=v8 in SPARC config lines.Andy Polyakov
RT#3860 Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-05-13Configurations/10-main.conf: update iOS commentary.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-05-01Fix build on MacOS.Ben Laurie
Reviewed-by: Andy Polyakov
2015-04-20Add assembly support for 32-bit iOS.Andy Polyakov
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-04-20Configure: add initial support for 64-bit Android.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-04-17Use -Wall -Wextra with clangEmilia Kasper
The disabled set of -Weverything is hard to maintain across versions. Use -Wall -Wextra but also document other useful warnings that currently trigger. Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-04-02Configure: android-arm facelift.Andy Polyakov
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-03-28Configure: remove unused variables.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-03-18Configure: fold related configurations more aggressively and clean-up.Andy Polyakov
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-03-16Find debug- targets that can be combined with their non-debug counterparts ↵Richard Levitte
and do so Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-03-16Change all the main configurations to the new format.Richard Levitte
As part of this, remove some levitte examples that never were relevant. Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-03-11Move Configurations* out of the way and rename them.Richard Levitte
Configure would load the glob "Configurations*". The problem with this is that it also loads all kinds of backups of those configurations that some editors do, like emacs' classic 'Configurations~'. The solution is to give them an extension, such as '.conf', and make sure to end the glob with that. Also, because 'Configurations.conf' makes for a silly name, and because a possibly large number of configurations will become clutter, move them to a subdirectory 'Configurations/', and rename them to something more expressive, as well as something that sets up some form of sorting order. Thus: Configurations -> Configurations/10-main.conf Configurations.team -> Configurations/90-team.conf Finally, make sure that Configure sorts the list of files that 'glob' produces, and adapt Makefile.org. Reviewed-by: Rich Salz <rsalz@openssl.org>