summaryrefslogtreecommitdiffstats
path: root/Configurations
AgeCommit message (Collapse)Author
2019-11-02Configure: Make --strict-warnings meaningful with MSVC clRichard Levitte
We also add this to our x86_64 builds on appveyor Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10287)
2019-10-31Fix find/rm command in Unix clean recipeTanzinul Islam
The `./pyca-cryptography/.travis/downstream.d` subdirectory that causes the `rm` command to fail (albeit harmlessly, but with a warning from `make` nonetheless). >rm -f `find . -name '*.d' \! -name '.*' -print` >rm: cannot remove './pyca-cryptography/.travis/downstream.d': Is a directory >make: [Makefile:1910: clean] Error 1 (ignored) Exclude directories from being matched by the `find` commands. CLA: trivial Reviewed-by: Patrick Steuer <patrick.steuer@de.ibm.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10264)
2019-10-20windows-makefile.tmpl: Convert all /I and /D to -I and -DRichard Levitte
We were not consistently using one or the other, and the perlasm code assumes dashes, which MSVC tolerates. Fixes #10075 Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/10222)
2019-10-17Configure: break long lines in build filesRichard Levitte
Fixes #8961 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8990)
2019-10-14Building: Add modules with DEPENDs to GENERATEd filesRichard Levitte
For files GENERATEd from templates (.in files), any perl module (.pm file) that the file depends on will automatically be used. This means that these two lines: GENERATE[foo]=foo.in DEPEND[foo]=whatever.pm will emit this command in a Makefile (or corresponding): foo: foo.in whatever.pm configdata.pm $(PERL) -I. -Ipathto -Mwhatever -Mconfigdata $(SRCDIR)/util/dofile.pl \\ foo.in > foo Note that configdata.pm is automatically added, since util/dofile.pl itself depends on it. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/10162)
2019-10-10Build files: Make it possible to source libraries into other librariesRichard Levitte
Added functionality to use static libraries as source for other libraries. When done this way, the target library will use the object files from the sourced static libraries, making the sourced libraries work as "containers" for object files. We also need to make sure that the Unix Makefile template knows how to deal with shared libraries and modules that depend on static libraries. That's new situation we haven't had before. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10088)
2019-10-10Configurations/common.tmpl: Rework dependency resolutionRichard Levitte
The dependency resolution is made uniquely to resolve proper library order when linking a program, a module or a shared library. resolvedepends() did a little too much at once, so it's now reduced to only collect dependencies (and is renamed to collectdepends()), while a new function, expanddepends(), expands a list of dependency to insure that dependent libraries are present after depending libraries, and finally there is reducedepends() which removes unnecessary duplicates, leaving only the last one. resolvedepends() is now a simple utility routine that calls the three mentioned above in correct order. As part of this, we implement weak dependencies through the 'weak' build.info attribute. This is meant to cause a specific order between libraries without requiring that they are all present. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10088)
2019-10-10Configure: rework build.info grammar and attributesRichard Levitte
The build.info grammar's regular expressions were a horrible read. By assigning certain sub-expressions to variables, we hope to make it a little more readable. Also, the handling of build.info attributes is reworked to use a common function instead of having copies of the same code. Finally, the attributes are reorganized to specify if they belong with programs, libraries, modules or scripts. This will enable more intricate attribute assignment in changes to come. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10088)
2019-10-03Rename "private" file, doc doc changes in CHANGESRich Salz
Use err() for find-doc-nits -e output Doing this meant we could remove the -s flag, so we do so; move option/help stuff to top of script. Add a CHANGES entry. Rename missing to other.syms Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10039)
2019-09-28Reorganize local header filesDr. Matthias St. Pierre
Apart from public and internal header files, there is a third type called local header files, which are located next to source files in the source directory. Currently, they have different suffixes like '*_lcl.h', '*_local.h', or '*_int.h' This commit changes the different suffixes to '*_local.h' uniformly. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9333)
2019-09-20Exit non-zero if find-doc-nits finds nitsRich Salz
Filter all output to a new &err() routine, which sets the global exit status, $status. Also, fix all subroutine definitions and references to be consistent: no prototypes, no & before function calls. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Yang <kaishen.yy@antfin.com> (Merged from https://github.com/openssl/openssl/pull/9733)
2019-09-16Build files: Unify standard arguments for assembler generating scripsRichard Levitte
- Make the last argument always be the output file. - Make the first argument always be the flavour, even if there is no flavour (i.e. it might become the empty string). - Make the next to last argument to be $(PROCESSOR) if that one has a value. - Remaining arguments are C prepropressor arguments. Perl scripts that should handle this may use the following code: $output = pop; $flavour = shift; if ($ARGV[$#ARGV] eq '386') { # Do 386 specific things } else { # Do whatever else, with the knowledge the @ARGV contains # C preprocessor arguments } Some scripts don't care about anything than $output, and that's ok. Some scripts do care, but handle it a little differently, and that's ok too (notably, the x86 scripts call asm_init() with the first and the last argument after having popped $output). As long as they handle the argument order right, they are going to be fine. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9884)
2019-09-12Rework test/run_tests.pl to support selective verbosity and TAP copyRichard Levitte
This includes a complete rework of how we use TAP::Harness, by adding a TAP::Parser subclass that allows additional callbacks to be passed to perform what we need. The TAP::Parser callbacks we add are: ALL to print all the TAP output to a file (conditionally) to collect all the TAP output to an array (conditionally) EOF to print all the collected TAP output (if there is any) if any subtest failed To get TAP output to file, the environment variable HARNESS_TAP_COPY must be defined, with a file name as value. That file will be overwritten unconditionally. To get TAP output displayed on failure, the make variable VERBOSE_FAILURE or VF must be defined with a non-emoty value. Additionally, the output of test recipe names has been changed to only display its basename. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9862)
2019-08-27testing: set OPENSSL_MODULES to the providers directory by defaultRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9618)
2019-08-17Windows UWP builds: determine automatically if asm should be disabledRichard Levitte
Earlier Windows SDK versions lack the necessary support for our ASM builds, so we check for the SDK version that has the support. Information on exactly what registry key to check was found here: https://stackoverflow.com/questions/2665755/how-can-i-determine-the-version-of-the-windows-sdk-installed-on-my-computer Ref: #9125 Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> (Merged from https://github.com/openssl/openssl/pull/9440)
2019-08-12Configurations/unit-Makefile.tmpl: Don't clean away dotted filesRichard Levitte
A local 'make clean' did some sweeping removals of files execpt for the .git directory. This is a little too sweeping, as other dotted files might be cleaned away if they happen to match the pattern that's searched for. An example is a symlink .dir-locals.el that would keep disappearing if you build in the source tree and do a make clean... So we change this to leave all dotted files alone. Our builds do not produce such files anyway, so this is a harmless (or rather, less harmful) change. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9573)
2019-07-15Refactor apps/progs.* to be generate with 'make update'Richard Levitte
This makes for a cleaner apps/progs.h as well as as cleaner apps/build.info. We also break out the type declarations to apps/include/function.h apps/progs.c and apps/progs.h are NOT regenerated when 'apps' is disabled. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9340)
2019-07-02Fix TyposAntoine Cœur
CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/9288)
2019-07-01Remove EXPORT_VAR_AS_FUNCRich Salz
We only export functions, not global, so remove the config option and some of the #ifdef stuff. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9285)
2019-07-01Remove NextStep supportRich Salz
Because of that we can remove OPENSSL_UNISTD and some other macros from e_os2.h and opensslconf.h Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9204)
2019-06-21Remove OPENSSL_memcmp.Pauli
After avoiding OPENSSL_memcmp for EC curve comparison, there are no remaining uses in the source code. The function is only defined in an internal header and thus should be safe to remove for 3.0.0. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/9207)
2019-06-17Configure: final cleanup of asm related thingsRichard Levitte
Remove the *_asm templates in Configurations/00-base-templates.conf, all attempts to inherit them, and the asm() perl function. [extended tests] Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move padlock_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move keccak1600_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move poly1305_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move chacha_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move modes_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move cmll_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move wp_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move rc5_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move rmd160_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move rc4_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move cast_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move sha1_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move md5_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move bf_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move aes_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move des_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move ec_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move cpuid_asm_src file information to build.info filesRichard Levitte
Also took away the internal 'debug-linux-ia32-aes' config target, as it's broken (refers to files that no longer exist). Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move bn_asm_src file information to build.info filesRichard Levitte
Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Configure: add mechanism to specify asm target architectureRichard Levitte
As preparation for moving asm file specs to build.info files, we must make sure there is still some base information to help select the correct files. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Move uplink file information to build.info filesRichard Levitte
This file information was hidden in config target files, when they should really be part of build.info like any other file we build from. With build.info variables, the task became much easier. We take the opportunity to move apps_init_src and apps_aux_src to apps/build.info as well, and to clean up apps/build.info. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Configure: add mechanism to specify uplink target architectureRichard Levitte
As preparation for moving uplink file specs to build.info files, we must make sure there is still some base information to help select the correct files. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9166)
2019-06-17Configure: AIX needs a specific DSO extension functionRichard Levitte
DSO extensions are normally derived from platform->shlibextsimple() on Unix. This isn't the case for AIX, so it needs to define its own DSO extension specifically. Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9005)
2019-06-12Make find-doc-nits check for newly added undocumented symbolsMatt Caswell
We create lists of undocumented functions and macros as they are now so that find-doc-nits can check for newly introduced functions/macros that are undocumented. This works in a similar way to the -u and -d options to find-doc-nits. These count undocumented symbols and print a detailed list of undocumented symbols repsectively. This commit adds the -v and -e options to restrict the count/detailed list to newly added undocumented symbols only. There is also a new -s option that does the same as -e except that it produces no output if there are no newly undocumented symbols. We also amend "make doc-nits" to add the -s option which should cause travis to fail if a PR adds undocumented symbols. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9094)
2019-06-10Improve the Windows OneCore target support. (Add targets for building ↵MouriNaruto
libraries for Windows Store apps.) Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8917)
2019-06-04Remove last references to DEBUG_SAFESTACKDr. Matthias St. Pierre
The DEBUG_SAFESTACK preprocessor define is obsolete since 2008 when the non-safestack code was removed by commit 985de8634000. Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9070)
2019-06-03Ensure we get all the right defines for AES assembler in FIPS moduleMatt Caswell
There are various C macro definitions that are passed via the compiler to enable AES assembler optimisation. We need to make sure that these defines are also passed during compilation of the FIPS module. Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9038)
2019-06-01Windows: Add missing quotes in build fileRichard Levitte
All invokations of $(PERL) need to be quoted, in case it contains spaces. That was forgotten in one spot. Fixes #9060 Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/9062)