summaryrefslogtreecommitdiffstats
path: root/Configurations
AgeCommit message (Collapse)Author
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)
2021-07-10Configurations/unix-Makefile.tmpl: use platform->sharedlib() as fallbackRichard Levitte
If platform->sharedlib_simple() and platform->sharedlib_import() return undefined, try platform->sharedlib() as a fallback before platform->staticlib(). Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16023)
2021-07-10platform->sharedlib_simple(): return undef when same as platform->sharedlib()Richard Levitte
On some Unix-like platforms, there is no such thing as versioned shared libraries. In this case, platform->sharedlib_simple() should simply return undef. Among others, this avoids the shared libraries to be installed as symlinks on themselves. Fixes #16012 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16023)
2021-06-29Ensure ordinals are created during release processMatt Caswell
We introduce a new makefile target "make release-update" that forces ordinal file renumbering, and also does the fips checksum updates. We then call that from the release script. Fixes #15806 Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15901)
2021-06-26Only the fips module dependencies are relevant for fips.module.sourcesTomas Mraz
Fixes #15639 Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15903)
2021-06-18Make util/wrap.pl work better on VMSRichard Levitte
Perl's system() on VMS needs to have the command line properly fixed up, even with arguments passed in list form. We arrange that by having util/wrap.pl use the same command line fixups as OpenSSL::Test. As a consequence, util/wrap.pl needs to be generated, to easily pick up data from configdata.pm. This also removes yet another file copying hack from the build file templates. Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15791)
2021-06-16Build file templates: Fix in2script dependenciesRichard Levitte
The in2script functions generates the build file rules for generating scripts from .in files. A dependency on configdata.pm is needed, since it's being used for this. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15792)
2021-06-16Configuration: Fix incorrect $unified_info{attributes} referencesRichard Levitte
Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15758)
2021-06-16VMS build: drop a spurious debug printRichard Levitte
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15758)
2021-06-14Add -latomic only for architectures where neededTomas Mraz
Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15640)
2021-06-08Add aix64-gcc-as architecture and p2align callbackDaniel Bevenius
This commit adds an architecture named aix64-gcc-as which can generate assembler source code compatible with AIX assembler (as) instead of the GNU Assembler (gas). This architecture name is then used in a callback for the .p2align directive which is not available in AIX as. The motivation for this addition came out of an issue we ran into when working on upgrading OpenSSL in Node.js. We ran into the following compilation error on one of the CI machines that uses AIX: 05:39:05 Assembler: 05:39:05 crypto/bn/ppc64-mont-fixed.s: line 4: Error In Syntax This machine is using AIX Version 7.2 and does not have gas installed and the .p2align directive is causing this error. After asking around if it would be possible to install GAS on this machine I learned that AIX GNU utils are not maintained as well as the native AIX ones and we (Red Hat/IBM) have run into issues with the GNU utils in the past and if possible it would be preferable to be able to use the AIX native assembler. Refs: https://github.com/nodejs/node/pull/38512 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15638)
2021-06-08Fix AIX FIPS DEP.Shane Lontis
The entry point needs the option 'binitfini', but it was not being added since the perl code to detect the match did not work. The entry point for AIX is no longer static - so a wrapper has been added to call the static version. Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15636)