summaryrefslogtreecommitdiffstats
path: root/Configurations
AgeCommit message (Collapse)Author
2022-08-23Makefile: Generate crypto objects only as far as neededDr. David von Oheimb
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com> (Merged from https://github.com/openssl/openssl/pull/15224)
2022-08-23Makefile: Call mknum.pl on 'make ordinals' only if neededDr. David von Oheimb
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com> (Merged from https://github.com/openssl/openssl/pull/15224)
2022-08-22Add BSD-armv4 target based on linux-armv4Piotr Kubaj
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18910)
2022-07-28Fix quotes install_fips in Configurations/windows-makefile.tmplRichard Levitte
Directories and file names with spaces require quoting... again Fixes #18880 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18881)
2022-07-26Configurations/10-main.conf: In the VC-common target, unquote $(CC)Richard Levitte
Some of the VC-common attributes have values that use `$(CC)`, wrapped with quotes. However, `Configurations/windows-makefile.tmpl` already quotes the `CC` value, like this: CC="{- $config{CC} -}" The interaction between that makefile variable and the attributes using `$(CC)` wrapped with quotes is a command line with the quotes doubled. For example, the value of `$(CPP)` becomes `""cl""`. Strangely enough, this appears to be tolerated, at least on some versions of Windows. However, this has been reported not to be the case. This is fixed by removing the quotes in `Configurations/10-main.conf`, making `Configurations/windows-makefile.tmpl` responsible for proper quoting. Fixes #18823 Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18861) (cherry picked from commit c04b8819161de007cee831dd9e58dde52268da18)
2022-07-08Windows: use the basename of the product (.dll) for definition filesRichard Levitte
This resolves the faulty LIBRARY value that contained the directory of the product (.dll) in the build tree. This applies to engines and other modules alike. Fixes #18726 Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/18732)
2022-06-16Remove debug and other outdated build targets.Daniel Fiala
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18571)
2022-06-03Add OSSL_QUIC methods to headers and manual pagesTomas Mraz
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18307)
2022-05-27Configurations/gentemplate.pm: Generate generators too, when necessaryRichard Levitte
A generator in a `GENERATE[generated]=generator` build.info statement may itself be generated. That needs to be taken into account. This was always meant to be, but we missed the spot, for lack of use cases. Now we have one. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18263)
2022-05-25Remove include/openssl/configuration.h from mandatory dependenciesRichard Levitte
Since this file is generated by configdata.pm, there's no need to include it among the mandatory dependencies (which end up in the `GENERATE_MANDATORY` Makefile variable). In fact, it shouldn't be there any more, as that would also cause it to be removed by `make clean`. To compensate, we add an explicit removal of that file in the `distclean` target on all platform families. Fixes #18396 Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18398)
2022-05-25Add riscv64 asm_arch to BSD-riscv64 targetHongren (Zenithal) Zheng
Following cb2764f2a8 Add riscv64 asm_arch to linux64-riscv64 target Current ASM does not have Linux specific thing thus this is suitable for BSD Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18309)
2022-05-22Building: For the FIPS module checksum, keep track of configuration,hRichard Levitte
The FIPS module checksum needs to know that configuration.h is generated from configuration.h.in, so that information is conserved. To make this possible, it's now possible to have attributes with the GENERATE keyword, and the attribute "skip" is added to make a keyword a no-op, which makes it informative only. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/16378)
2022-05-19Prepare NonStop for fixed-size integer types.Randall S. Becker
This commit removes platform defines the interfere with loading and resolution of platform and memory model variants of integer types and includes the appropriate files, stdint.h and sys/types.h where the types are defined. Fixes #17669 Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18325)
2022-05-13mkdef.pl: Add cmd-line flag to differentiate shared libs and DSO.Daniel Fiala
Fixes openssl#16984. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18284)
2022-05-11Add quotes around perl scriptsKeith W. Campbell
Otherwise, it seems nmake doesn't invoke perl properly. Signed-off-by: Keith W. Campbell <keithc@ca.ibm.com> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18215)
2022-05-11Add riscv64 asm_arch to linux64-riscv64 targetHenry Brausen
Reviewed-by: Philipp Tomsich <philipp.tomsich@vrull.eu> Signed-off-by: Henry Brausen <henry.brausen@vrull.eu> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18275)
2022-04-05Add -static-libgcc to solaris-sparcv7-gcc shared_ldflagTodd C. Miller
This avoids a run-time dependency on libgcc_s.so which may not be present on all systems. OpenSSL already uses -static-libgcc for the solaris-x86-gcc and solaris64-x86_64-gcc configurations. CLA: trivial Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14538)
2022-04-05Fix AIX build when no-shared is passed to Configure.Todd C. Miller
AIX shared libs are also .a files so the AIX platform staticname() appends a '_a' to the name to avoid a collision. However, this must not be done when no-shared is passed to Configure or the binaries that link with -lcrypto and -lssl be unable to link as those libraries won't exist without the '_a' suffix. CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18006)
2022-04-04Add loongarch64 targetShi Pujin
Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17712)
2022-03-09android-x86 target: Add -latomicMarcel Raad
Fixes https://github.com/openssl/openssl/issues/14083 again after being broken by https://github.com/openssl/openssl/pull/15640. CLA: trivial Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17833)
2022-03-04Rework dependencies between config files and build filesRichard Levitte
Before PR #15310, which reworked how build files (Makefile, ...) were generated, everything was done when configuring, so configdata.pm could depend on build file templates and we'd get away with it. However, since building configdata.pm is now independent of the build file templates, that dependency is unnecessary, and would lead to surprises of the build file template is updated, with an unexpected full reconfiguration as a result, when all that's needed is to run configdata.pm with no flags to get the build file re-generated. This change is therefore a completion of what was forgotten in #15310. Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17756)
2022-02-25VMS: copy prologue/epilogue headers when header files are generatedRichard Levitte
This is crucial when the build tree isn't the source tree, as they only take effect in directories where included header files reside. The issue only comes up when linking with the static libraries, since the shared libraries have upper case aliases of all symbols. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/17755)
2022-02-03Fix copyrightsTodd Short
Add copyright to files that were missing it. Update license from OpenSSL to Apache as needed. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17606)
2022-01-28Include the modules directory in openssl.pcRichard Levitte
Affected file: Configurations/unix-Makefile.tmpl Fixes #17602 Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17605)
2022-01-24`make clean` should clean up fips provider shared object.Todd Short
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17556) (cherry picked from commit 45036df45048c6498efa49d3572869830d05df45)
2021-12-22Add support for BSD-riscv64 targetPiotr Kubaj
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Ben Kaduk <kaduk@mit.edu> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17306)
2021-12-14Fix VMS installation - Override the openssl logical name in descrip.mms.tmplRichard Levitte
This was part of 0cbb6f6a9ac5aa3ff813ef2e5afe6e443708ee20, but was incomplete in that commit. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16842) (cherry picked from commit 71a78784e8f000703267276b2f87d055bfa0e00e)
2021-12-14Fix VMS installation - Define the logical name OSSL$MODULESRichard Levitte
Also, the modules installation directory is version agnostic on other platforms, there's no real reason why it shouldn't be on VMS. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16842) (cherry picked from commit a4f1e23e6cffdf2ef1aadf96572c251e07869787)
2021-12-14Fix VMS installation - consistent program names with version infoRichard Levitte
The program name version info is supposed to be the major release version number. This was forgotten when the versioning scheme was changed for 3.0, so the minor release version number slipped in as well. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16842) (cherry picked from commit 3c9293b4715229dc7ea2116d22c623c2a92ac69a)
2021-12-09Add support for BSD-ppc, BSD-ppc64 and BSD-ppc64le configurationspkubaj
OpenSSL assumes AT_HWCAP = 16 (as on Linux), but on FreeBSD AT_HWCAP = 25 Switch to using AT_HWCAP, and setting it to 16 if it is not defined. CLA: trivial Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17090)
2021-11-26Detect arm64-*-*bsd and enable assembly optimizationsAllan Jude
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17084)
2021-11-26Don't delete the doc/html directories when cleaningMatt Caswell
The doc/html sub-dirs get created by Configure. Therefore they should not be cleaned away by "nmake clean". Otherwise the following sequence fails: perl Configure VC-WIN64A nmake clean nmake nmake install Fixes #17114 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17128)
2021-10-27Configurations/windows-makefile.tmpl: obj2bin(): use the resource file tooRichard Levitte
When remaking how programs were linked, the variable `$ress` was forgotten. Unfortunately, perl treats this with silence. Fixes #16870 Fixes #16667 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16875)
2021-09-24Update 15-ios.confDominic Letz
CLA: trivial I assume this has been an error in the initial ios conf file. In order to build for ios the shared engine library, needs to be disabled because iOS doesn't have the concept of shared libraries. But instead of only disabling `dynamic-engine` (or like in this commit disabled the `shared`) option the previous config did disable `engine` and with that the `static-engine` compilation as well. This restores the `static-engine` option being enabled by default, but keeping compilation going on iOS. Cheers! Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/16659)
2021-09-18Configurations/platform/Unix.pm: account for variants in sharedlib_simple()Richard Levitte
OpenSSL 1.1.1 links the simple libcrypto.so to libcrypto_variant.so, this was inadvertently dropped. Fixes #16605 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16608)
2021-09-13Fix the build file templates where uplink mattersRichard Levitte
We changed the manner in which a build needing applink is detected, but forgot to change the installation targets accordingly. Fixes #16570 Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16577) (cherry picked from commit de36ce47bf9858f3c517345f46e52d5a6fc506de)
2021-09-13linux-x86-clang target: Add -latomicTomas Mraz
Fixes #16572 Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16578)
2021-09-10install_fips: Create the OPENSSLDIR as it might not existTomas Mraz
Fixes #16564 Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16569)
2021-09-10VMS: Fix descrip.mms templateRichard Levitte
away the use of $(DEFINES), which does get populated with defines given through configuration. This makes it impossible to configure with extra defines on VMS. Uncommenting and moving $(DEFINES) to a more proper spot gives the users back that ability. Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16561) (cherry picked from commit 1dc15a3330434ef1f79921a2d97c585048dcf05e)
2021-09-09OpenSSL::Ordinals::set_version() should only be given the short versionRichard Levitte
This function tried to shave off the pre-release and build metadata text from the the version number it gets, but didn't do that quite right. Since this isn't even a documented behaviour, the easier, and arguably more correct path is for that function not to try to shave off anything, and for the callers to feed it the short version number, "{MAJOR}.{MINOR}.{PATCH}", nothing more. The build file templates are adjusted accordingly. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16556)
2021-09-07Update copyright yearRichard Levitte
Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16534) (cherry picked from commit 54d987b92ce57c1cc38c6d9b6bf879b003f4cbd4)
2021-09-06Configuration: support building for OpenVMS for x86_64Richard Levitte
OpenVMS for x86_64 is currently out on a field test. Building programs for it is currently done with cross compilation on Itanium. The cross compilation tools are made available by running a script, which makes cross-compilation variants of most commands available, and adds the cross-compilation C compiler XCC. Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16498)
2021-09-02always use the same perl in $PATHa1346054
Different tests may use unexpectedly different versions of perl, depending on whether they hardcode the path to the perl executable or if they resolve the path from the environment. This fixes it so that the same perl is always used. Fix some trailing whitespace and spelling mistakes as well. CLA: trivial Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16362)
2021-08-27Fix libdir path on darwinXiaofei Bai
In current Configure script, libdir can be specified either an absolute path or relative, while in Configurations/shared-info.pl, on darwin system "-install_name" only accepts relative libdir path, and the program fails when receiving absolute libdir path. This PR is to fix this and match requirements of scripts. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16393)
2021-08-25Add multilib to the NonStop configuration definitions.Richard Levitte
Fixes: #16373 Co-authored-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16398)
2021-08-25VMS: Correct faulty source directory specificationRichard Levitte
$(SRCDIR)/doc doesn't work right on VMS. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16395)
2021-08-04Use copy.pl to install the fips module on WindowsTomas Mraz
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16208)
2021-08-04Windows, VMS: Do install_fips on install if fips is enabledTomas Mraz
Also fix some inconsistencies and minor bugs related to the install_fips target on Windows and VMS. Fixes #16194 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16208)
2021-07-23Makefile: Avoid changing LIBDIR based on whether it already existsjenda1
unix-Makefile.tmpl checks if the target LIBDIR exists on the build machine or not and based on the result modify the final LIBDIR. This should be avoided, build results should not depend on the build machine root filesystem layout. It makes the build results unstable. The fix simply removes the dir existence test from the unix-Makefile.tmpl. Fixes: openssl#16121 Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16122)
2021-07-13Avoid empty lines in nmake rule bodiesRichard Levitte
nmake is tolerant of those empty lines, but jom isn't. That tolerance isn't standard make behaviour, so we lean towards avoiding them. We simply use '@rem' instead. Fixes #16014 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16048)