aboutsummaryrefslogtreecommitdiffstats
path: root/Configurations
Commit message (Collapse)AuthorAgeFilesLines
* Add s390x cross-compile workflowTimo Keller2026-09-291-4/+24
| | | | | | | | | | | | Add s390x cross-compile workflow and change Configure for the s390x- optimized implementations of ML-KEM and ML-DSA. Signed-off-by: Timo Keller <[email protected]> Assisted-by: IBM Bob:2.0.3 Reviewed-by: Mounir Idrassi <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 29 16:47:14 2026 Merged-from: https://github.com/openssl/openssl/pull/31929
* Add windows arm64 hybridcrt configNorbert Pocs2026-09-231-0/+9
| | | | | | | | Signed-off-by: Norbert Pocs <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Wed Sep 23 09:28:51 2026 Merged-from: https://github.com/openssl/openssl/pull/32882
* Remove /Gs0 windows compiler flagNorbert Pocs2026-09-211-1/+1
| | | | | | | | | | | | | | | | | | /Gs0 forces a __chkstk call into every function prologue. On ARM64 the compiler copies the MD4 state into registers before the frame is set up, then loads the __chkstk size argument into x15 while x15 still holds one of those live values, clobbering it. Without /Gs0 the compiler uses the default probe threshold (/Gs4096) and emits no __chkstk for small frames, so the clobber never happens. Resolves: https://github.com/openssl/openssl/issues/28310 Signed-off-by: Norbert Pocs <[email protected]> Reviewed-by: Mounir Idrassi <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Mon Sep 21 10:13:23 2026 Merged-from: https://github.com/openssl/openssl/pull/32872
* Convert the paths for generator scripts on windows.Bob Beck2026-09-071-1/+17
| | | | | | | | | | | | | | | | jom as used in CI apparenty handles this for us, but nmake (at least in older versions) does not. we passed CI because it appears to only exercise the jom path on windows. If we convert the slashes in the paths ourselves it works for both. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Merge-date: Mon Sep 7 18:21:29 2026 Merged-from: https://github.com/openssl/openssl/pull/32648
* Make most generated files read-only, and write them atomicallyBob Beck2026-09-011-14/+34
| | | | | | | | | | | | | | | | | | | | | | | | Generated files were left writable, so a hand edit looked like it had worked and was silently lost at the next build. Only the pods and the generated scripts were protected, by a chmod either side of the recipe, which cost a shell and two processes for each file. Route the generators that write to standard output through a helper that collects the output, sets the mode and renames the result into place. Renaming needs no permission on the file it replaces, so there is no unlocking step, and a generator that fails part way now leaves the previous file rather than a truncated one with a fresh timestamp that make would believe. The perlasm modules name their own output rather than writing to standard output, so they are unchanged and their output stays writable. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:12 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Stop reloading Pod::Html for every manual pageBob Beck2026-09-011-1/+24
| | | | | | | | | | | | | | | | | | | | Pod::Html is compiled before the first pod is read, so converting the manual to HTML started nine hundred perl processes to do about a second of work. Convert the whole set in one invocation that loads the module once and divides the pages between a few forked workers. Nothing depends on an individual page, since the install recipe takes them as arguments, so a stamp is enough to order the work, and the per-page rules stay for building one page by name. The single page option the VMS and Windows build files use is unchanged, and both paths convert through the same code. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:11 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Stop reloading Pod::Man for every manual pageBob Beck2026-09-011-4/+36
| | | | | | | | | | | | | | | | | | | | | pod2man is a perl program that compiles Pod::Man before it reads a single pod, and there are over nine hundred pages, so formatting the manual spent most of its effort compiling the same module again and again -- 24 seconds of user time and 6 of system time to produce about two and a half seconds of formatting. Format the manual in one invocation that loads the module once and divides the pages between a few forked workers. No target depends on an individual page, since the install recipes take them as arguments, so a stamp is enough to order the work. The per-page rules stay, calling the same script with a single pod, so one page can still be built by name, and that path is quicker than pod2man was too. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:10 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Install the HTML manual pages through install-files.plBob Beck2026-09-011-35/+14
| | | | | | | | | | | | | The per-page copy loops become one process per section that replaces only a page whose content changed, matching the man page and header installs; an unchanged page keeps its timestamp and a reinstall is quiet. The image documents get the same treatment. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:09 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Install only changed development and runtime filesBob Beck2026-09-011-50/+89
| | | | | | | | | | | | | | | | | | | Install the public headers and the pkg-config and cmake exporters through a new util/install-files.pl, which handles a whole file set in one process and replaces a file only when its content differs; an unchanged file keeps its timestamp, so builds against the installed tree no longer see every header change after each install. The static and shared library installs keep their staged copies -- the mv is what makes replacing a mapped library safe -- but now compare the staged copy against what is installed and discard it when identical, and only report an install when one happens. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:05 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Install man pages a section at a time, not a process per pageBob Beck2026-09-011-60/+24
| | | | | | | | | | | | | | | | | | | | | Replace util/write-man-symlinks with util/install-man-pages.pl, which installs or uninstalls an entire man section in one process: copy, chmod and the NAME-alias symlinks that previously cost a basename, cp, chmod and a full perl interpreter for every one of the ~900 installed pages. Stale alias links are removed before being recreated, with one constraint carried over from the old script's silent symlink failures: on a case-insensitive file system an alias can collide with an installed page (OSSL_TRACE_ENABLED alongside OSSL_trace_enabled), so nothing that is not a symlink is ever removed, and an occupied alias name is skipped. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:04 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Generate the error headers and tables at build timeBob Beck2026-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach util/mkerr.pl two new modes. -emit FILE writes one generated error file to standard output as a pure function of openssl.ec and openssl.txt, with no source scan and no state update; every file in the openssl.ec L table becomes a GENERATE rule driven by it, and the generated error headers join the mandatory generated headers. -state scans the sources and maintains openssl.txt but writes no other files; "make errors" now uses it, so the developer flow only curates the state and the build emits everything else. Reason-code assignment moves out of the header emission into its own pass, the three emitters become subroutines writing to a filehandle, and the up-to-date stamp moves from the statefile's own timestamp to a separate gitignored stamp file, since the statefile is now a build input whose timestamp must track its content. Removing the committed copies also retires 15 that had silently drifted from the generator's output, among them crypto/bio/bio_err.c, which was missing the reason strings for three BIO error codes that exist in the state file. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:03 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Generate the committed generator-output headers at build timeBob Beck2026-09-011-48/+12
| | | | | | | | | | | | | | | | | | | | Move charmap.h, bn_prime.h, conf_def.h, obj_mac.h, obj_dat.h and obj_xref.h from committed generator output to GENERATE rules with DEPENDs on their consumers; obj_mac.h joins the mandatory generated headers built before everything else. objects.pl learns -a to append the obj_compat.h aliases itself, replacing the sed step, and obj_dat.pl reads only the guarded body of obj_mac.h so the appended aliases cannot pollute its tables. obj_mac.num remains the curated NID registry in git; the generate_crypto_objects developer target shrinks to maintaining it, generate_fuzz_oids now depends on the build-generated obj_dat.h, and the other generate_* developer targets for these files are retired. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:02 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Skip the small generator scripts when their output is currentBob Beck2026-09-011-5/+22
| | | | | | | | | | | | | Guard the generate_apps, generate_crypto_bn, generate_crypto_conf, generate_crypto_asn1 and generate_fuzz_oids recipes with test -nt checks against their inputs, so "make update" no longer reruns them when nothing they consume has changed. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:01 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Replace generated crypto/objects files only when their content changesBob Beck2026-09-011-17/+28
| | | | | | | | Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:03:00 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Build the software once before installing itBob Beck2026-09-011-1/+12
| | | | | | | | | | | | | | | | | | install_dev, install_modules and install_runtime each reach the build through a recursive make of their own, and the sets they build overlap: apps/libapps.a is one of the libraries and is also needed to link the installable programs. Under "make -j" the three run concurrently, so the archive gets built twice at the same time and one job removes it while the other is indexing it, failing the install with a ranlib error. Build the installable software in a single make before the install targets run, so they find everything current. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Merge-date: Tue Sep 1 14:02:57 2026 Merged-from: https://github.com/openssl/openssl/pull/32243
* Add a build target for MSVC 2013Bob Beck2026-08-261-0/+19
| | | | | | | | | | | | | | | Apparently it is desired to keep this on life support. So we add a build target for this non-C99 platform, and provide internal versions of snprintf and vsnprintf for use only on this platform that match the C99 semantics. This allows us to use C99 semantics normally elsewhere. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Andrew Dinh <[email protected]> MergeDate: Wed Aug 26 16:20:04 2026 (Merged from https://github.com/openssl/openssl/pull/31640)
* Configurations: Add configurations for the Elbrus2000 architectureGleb Popov2026-07-311-0/+20
| | | | | | | Reviewed-by: Andrew Dinh <[email protected]> Reviewed-by: Igor Ustinov <[email protected]> MergeDate: Fri Jul 31 16:49:14 2026 (Merged from https://github.com/openssl/openssl/pull/31269)
* Fix clean target find/-prune precedence bugAndrew Dinh2026-07-211-2/+2
| | | | | | | | | | | | | | | | | | | | | The clean target's find command intended -prune to apply to the whole -o chain of excluded submodule paths, but -prune only binds to the immediately preceding -path, so only the last path (wycheproof) was actually protected from recursion. Earlier submodules (cloudflare-quiche, pkcs11-provider, etc.) were still descended into, letting make clean delete vendored symlinks inside them. Move -prune outside the parenthesized path list so it applies whenever any excluded path matches. Assisted-by: Claude:claude-sonnet-5 Fixes: 70741ee62a50 "Configurations/unix-Makefile.tmpl: make cleanup faster" Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Bob Beck <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Tue Jul 21 09:21:37 2026 (Merged from https://github.com/openssl/openssl/pull/32006)
* Add mandoc output support for manpagesEnji Cooper2026-07-201-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change modifies the Makefile generator to support mandoc format manpages, in lieu of \*roff format manpages. After this commit the user has the ability of specifying the manpage format to the `--manpage-format` flag. The 2 supported manpage formats as of writing are "mdoc" and "roff" and the default remains the "roff" format for legacy and portability reasons. The mandoc format requires pod2mdoc to be installed, whereas the roff output format requires pod2man to be installed. The former requires an additional utility be installed, whereas the latter uses pod2man, a utility that has been present with perl distributions for well over a decade. mandoc format support is being added as it is an easier/arguably more structured manpage format to parse, making it easier for downstream consumers like FreeBSD to implement OS-specific build support, as the minimum dependencies for the OpenSSL build process are more involved than the tools available for the FreeBSD OS bootstrapping process. Signed-off-by: Enji Cooper <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jul 20 09:52:29 2026 (Merged from https://github.com/openssl/openssl/pull/28450)
* test: add Windows unit tests setup and initial dgram testJakub Zelenka2026-07-152-8/+15
| | | | | | | | | | | | | | | | | This adds an initial setup for unit testing on Windows that allows mocking of system functions using Detour library. This works only for library functions and not object function like wrap so it is a bit limited but it is still useful for BIO mocking. An initial BIO bss_dgram test is added covering the Windows specific parts. Assisted-by: Claude:claude-opus-4-8 Reviewed-by: Igor Ustinov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Wed Jul 15 16:00:35 2026 (Merged from https://github.com/openssl/openssl/pull/31915)
* Drop Windows-on-Itanium (VC-WIN64I) support.Bob Beck2026-07-101-12/+1
| | | | | | | | | | | | | | | | | | | Similar to Windows CE, Windows Itanium has not had a toolchain to work on it since VS 2010, and Windows server 2008 was the last thing that ran on it. This does *not* change the other (linux, HPUX) targets which have modern toolchain support, and likely even still run these days. While never letting go seems noble when you won't share the door you're floating on, the time has come. Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Fri Jul 10 17:39:39 2026 (Merged from https://github.com/openssl/openssl/pull/31913)
* Allow MinGW-w64 builds to use BCryptGenRandomMounir IDRASSI2026-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | MinGW-w64 has provided bcrypt headers and import libraries since version 2.0, but OpenSSL only enabled the BCryptGenRandom seeding path for supported MSVC builds. Enable the existing direct BCryptGenRandom flow for MinGW-w64 when targeting Windows Vista or newer, and link MinGW builds with bcrypt alongside the other Windows import libraries. Use __MINGW64_VERSION_MAJOR to detect MinGW-w64 because it is defined by both the 32-bit and 64-bit MinGW-w64 toolchains. Builds targeting older Windows versions keep the CryptoAPI fallback because USE_BCRYPTGENRANDOM remains disabled when _WIN32_WINNT is below 0x0600. Fixes #13878 Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Fri Jul 10 12:05:09 2026 (Merged from https://github.com/openssl/openssl/pull/13882)
* We no longer need to test for GCC versions this oldBob Beck2026-07-101-1/+0
| | | | | | | | | | | | | | The minimum gcc to compile our code appears to be version 9, and we are now C99. All these older checks become a tautology on anything that will build a modern OpenSSL tree, so clean this up. Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Fri Jul 10 11:47:17 2026 (Merged from https://github.com/openssl/openssl/pull/31677)
* Add unit testing cmocka based frameworkJakub Zelenka2026-07-091-1/+5
| | | | | | | | | | | | | | | This adds the unit testing framework that extends the build so it can be enabled and tests are built. It is executed as part of the test using a recipe which executes all unit tests. The documentation is added with more info about writing the unit tests. Assisted-by: Claude:claude-opus-4-8 Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jul 9 17:39:14 2026 (Merged from https://github.com/openssl/openssl/pull/30788)
* Add WRAP build.info variableJakub Zelenka2026-07-091-1/+8
| | | | | | | | | | This is used for adding per target --wrap ld flags for each listed function. Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jul 9 17:39:12 2026 (Merged from https://github.com/openssl/openssl/pull/30788)
* Drop Windows CE support.Bob Beck2026-06-251-111/+0
| | | | | | | | | | | | | | | | | | Windows CE has been out of mainstream support since 2018 and will not have a modern toolchain capable of compiling a modern OpenSSL. The vc_wince_info Perl helper, the crypto/LPdir_wince.c directory backend, and a long tail of _WIN32_WCE / OPENSSL_SYS_WINCE guards across the Windows code paths get removed. Spotted by idrassi. Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 25 07:27:18 2026 (Merged from https://github.com/openssl/openssl/pull/31601)
* Fix unix Makefile template to avoid command line too long error on windowssunnyqeen2026-06-211-1/+16
| | | | | | | | | | | | | On cygwin/msys systems that run on Windows, command line length is limited. using response file instead of putting objects on the command line will avoid this error CLA: trivial Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Sun Jun 21 15:56:08 2026 (Merged from https://github.com/openssl/openssl/pull/23077)
* Configurations/50-nonstop.conf: remove 'atexit' from disable mapsEugene Syromiatnikov2026-06-181-12/+6
| | | | | | | | | | | | | | | | | | Since there is no atexit() handler installation after [1], the associated configuratoin option (that was initially introduced to support the configurations in question[2]) has no effect and can be removed from NonStop configurations. [1] https://github.com/openssl/openssl/pull/29385 [2] 99fb31c167e3 "Add atexit configuration option to using atexit() in libcrypto at build-time." Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Thu Jun 18 12:20:36 2026 (Merged from https://github.com/openssl/openssl/pull/30767)
* Configurations/unix-Makefile.tmpl: make cleanup fasterNikola Pajkovsky2026-05-211-3/+20
| | | | | | | | | | | | | | | Walk the source tree once instead of thrice when removing generated dependency files, object files, and symlinks; avoid descending into submodules. Co-Authored-by: Eugene Syromiatnikov <[email protected]> Signed-off-by: Nikola Pajkovsky <[email protected]> Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu May 21 09:02:44 2026 (Merged from https://github.com/openssl/openssl/pull/31212)
* Add coverage files clean up make targetsJakub Zelenka2026-05-071-1/+7
| | | | | | | Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Thu May 7 07:09:02 2026 (Merged from https://github.com/openssl/openssl/pull/31071)
* Add /MTd build for debug configuration for VC-noCE-commonMoryakhin Stas2026-05-061-1/+1
| | | | | | | | | Fixes #30936 Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed May 6 19:17:18 2026 (Merged from https://github.com/openssl/openssl/pull/31073)
* Fix: Typo "configdata.pem" -> "configdata.pm"Pascal Ernster2026-05-031-1/+1
| | | | | | | | | | | | | CLA: trivial Fixes: ddf1847dc81c "unified build scheme: add and document the "unified" driving engine" Signed-off-by: Pascal Ernster <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun May 3 13:42:56 2026 (Merged from https://github.com/openssl/openssl/pull/31064)
* We now have ml-dsa asm, add it to fips-checksumsTomas Mraz2026-04-131-1/+4
| | | | | | | | | | | | | | We also add other PQC algorithm directories that might appear in future so they are picked-up by the script once they appear. This requires checking whether the directory exists. Also update the fips sources and checksums. Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Mon Apr 13 09:35:17 2026 (Merged from https://github.com/openssl/openssl/pull/30502)
* Windows: Use /Z7 compiler flag to enable parallel buildsMilan Broz2026-04-132-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MSVC compilation on Windows cannot be reliably parallelized with tools like jom (an nmake replacement) due to contention on shared .pdb files used for debug info. Writes to a shared .pdb must be serialized. The /FS compiler flag serializes concurrent compiler writes, but does not resolve contention when the compiler and linker access the same .pdb file. With shared .pdb files (e.g. app.pdb), the makefile does not prevent races between the linker and compilation of multiple targets. This can be resolved either by restructuring the makefile to introduce sentinel dependencies that serialize the conflicting steps, or by eliminating the shared .pdb entirely. This patch takes the latter approach: it replaces /Zi with /Z7, which embeds debug info directly into each .obj file and avoids any shared-file contention. /Z7 is supported by all MSVC versions. The linker-generated .pdb is unaffected. Side effects: object files are slightly larger, and all .pdb files are now named after their target — the shared app.pdb, ossl_static.pdb, and dso.pdb no longer exist. With this change, jom can be used to parallelize the build. Fixes: #9931 Signed-off-by: Milan Broz <[email protected]> Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Mon Apr 13 08:46:20 2026 (Merged from https://github.com/openssl/openssl/pull/30703)
* Configurations/10-main.conf: minimum NASM version needs to be 2.09 on WindowsTomas Mraz2026-03-311-1/+2
| | | | | | | | | | | Otherwise some assembler code might be miscompiled. Fixes: https://github.com/openssl/openssl/issues/20529 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Tue Mar 31 01:47:41 2026 (Merged from https://github.com/openssl/openssl/pull/30576)
* windows-makefile: make clean target less noisyMilan Broz2026-03-051-9/+9
| | | | | | | | | | | | | | Using del on files that are not present creates many warning messages. Let's wrap them in "if exists" check to make them silent if not present. Signed-off-by: Milan Broz <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Thu Mar 5 17:37:20 2026 (Merged from https://github.com/openssl/openssl/pull/30222)
* remove OPENSSL_BUILDING_OPENSSL from the configBeat Bolli2026-03-041-1/+1
| | | | | | | | | | | | Commit 262cda1cda ("Remove some safestack things that are no longer needed", 2020-09-03) removed the last usage on this macro. Remove it in the configuration as well. Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Wed Mar 4 10:21:38 2026 (Merged from https://github.com/openssl/openssl/pull/30199)
* remove OPENSSL_USE_NODELETE from the configBeat Bolli2026-03-041-3/+1
| | | | | | | | | | | | Commits 31659fe326 (Introduce OPENSSL_ATEXIT_CLEANUP env. variable., 2025-11-24) and 994413f995 (Update NEWS.md, 2025-12-15) removed the last uses of this macro. Remove it in the configuration as well. Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Wed Mar 4 10:21:36 2026 (Merged from https://github.com/openssl/openssl/pull/30199)
* Fix clean target to remove test-runs directoryWilliam Faber2026-02-262-2/+4
| | | | | | | | | Fixes: #29931 Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Richard Levitte <[email protected]> MergeDate: Thu Feb 26 14:26:16 2026 (Merged from https://github.com/openssl/openssl/pull/30100)
* ECH build artefacts and a bit of codeStephen Farrell2026-02-201-1/+2
| | | | | | Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (Merged from https://github.com/openssl/openssl/pull/25193)
* Add abilty to use static vcruntimeNeil Horman2026-02-171-3/+3
| | | | | | | | | | | | Add a config option to selectively enable disable static vcruntime linkage (default disabled, implying dynamic vcruntime linkage) Fixes #12210 Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Tue Feb 17 09:43:37 2026 (Merged from https://github.com/openssl/openssl/pull/29995)
* config: use -path instead of -wholenameNikola Pajkovsky2026-02-091-1/+1
| | | | | | | | | | | | | | -wholename is mostly alias to -path, and -path is more portable. E.g. -wholename does not exist on NetBSD. Signed-off-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Shane Lontis <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Feb 9 09:53:10 2026 (Merged from https://github.com/openssl/openssl/pull/29944)
* Drop darwin-ppc{,64} targetsEugene Syromiatnikov2026-01-221-29/+0
| | | | | | | | | | | | | | | PowerPC support has been dropped in Mac OS X with the release of Mac OS X Lion (10.7) in 2010, and the last supporting release, Snow Leopard (10.6.x) is out of support since 2011. Also remove Rhapsody (the Mac OS X precursor) targets. Complements: https://github.com/openssl/openssl/pull/29653 Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Thu Jan 22 09:55:26 2026 (Merged from https://github.com/openssl/openssl/pull/29672)
* Drop darwin-i386(-cc) targets from ConfigurationsDaniel Kubec2026-01-201-10/+0
| | | | | | | | | | Fixes #18515 Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Tue Jan 20 12:12:43 2026 (Merged from https://github.com/openssl/openssl/pull/29653)
* fix: Fix uninstall_dev failing to remove empty dirRyan Keane2026-01-191-0/+1
| | | | | | | | | | | | | | | | | | | Fix this error: ``` rmdir "$PREFIX/lib64/cmake/OpenSSL" rmdir "$PREFIX/lib64" rmdir: failed to remove '$PREFIX/lib64': Directory not empty ``` Because `rmdir $PREFIX/lib64/cmake` is missing CLA: trivial Signed-off-by: Ryan Keane <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Matt Caswell <[email protected]> MergeDate: Mon Jan 19 11:58:05 2026 (Merged from https://github.com/openssl/openssl/pull/29472)
* Fix make check-format targetNeil Horman2026-01-161-4/+12
| | | | | | | | | | | | | | | | With our move to clang-format we no longer have a check-format script, and so this make target is broken. Fix it up to use clang-format-diff instead Fixes #29594 Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Fri Jan 16 14:37:09 2026 (Merged from https://github.com/openssl/openssl/pull/29634)
* windows-makefile: Don't prefix libdir when it is absolute pathNorbert Pocs2026-01-121-1/+1
| | | | | | | | | | | | | | When --libdir was passed to configuration as an absolute path then the makefile MODULESDIR_dir became concat(prefix, libdir) creating an invalid path. Fixes: https://github.com/openssl/project/issues/1797 Signed-off-by: Norbert Pocs <[email protected]> Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Richard Levitte <[email protected]> (Merged from https://github.com/openssl/openssl/pull/29579)
* win-makefile.tmpl: Fix program install checkNorbert Pocs2025-12-191-2/+2
| | | | | | | | | | | | | When the array is empty then copy.pl fails, because there is nothing to copy. The empty check was done on a different variable. Signed-off-by: Norbert Pocs <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> (Merged from https://github.com/openssl/openssl/pull/29427)
* Remove engine-related testsMilan Broz2025-12-041-1/+1
| | | | | | | | | | | | | | | | | | | As engines are no longer included in test, these configuration options make no longer sense. All other test should be already enabled. Fixes openssl/project#1376 Signed-off-by: Milan Broz <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (Merged from https://github.com/openssl/openssl/pull/29305)
* Remove ENGINE symbols from API.Milan Broz2025-12-041-0/+1
| | | | | | | | | | | | | | | Note, that engine.h now does not contain any real forward declarations, so it should be excluded from the symbols parsing. Signed-off-by: Milan Broz <[email protected]> Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> (Merged from https://github.com/openssl/openssl/pull/29305)