Files
MINGW-packages/mingw-w64-openssl/002-relocation.patch
Christoph Reiter 3c238e9727 openssl: Update to 3.4.0
Refresh 002-relocation.patch.

The whole openssl dir code was changed upstream and now has everything
in one place with the option to read the dirs from the Windows registry
if built with OSSL_WINCTX defined.

The registry parts are from what I see namespaced by version and written
by the official installer, so we probably don't want to use that to avoid
any conflicts with the official installation.

The upside though is that we need to add relocation in fewer places now,
and even the "openssl info" commands will use the new functions to now
show proper Windows paths instead of the configure time cygwin ones.

Besides that there shouldn't be any functional change.

and -j1 for make install to avoid it failing
2024-10-27 09:38:14 +01:00

61 lines
2.0 KiB
Diff

--- openssl-3.4.0/crypto/defaults.c.orig 2024-10-26 22:31:02.982502600 +0200
+++ openssl-3.4.0/crypto/defaults.c 2024-10-26 22:42:06.278689000 +0200
@@ -12,6 +12,7 @@
#include "internal/thread_once.h"
#include "internal/cryptlib.h"
#include "internal/e_os.h"
+#include "pathtools.h"
#if defined(_WIN32) && defined(OSSL_WINCTX)
@@ -148,6 +149,12 @@
if (!RUN_ONCE(&defaults_setup_init, do_defaults_setup))
return NULL;
return (const char *)openssldirptr;
+#elif defined(__MINGW32__)
+ static char * reloc = NULL;
+ if (reloc == NULL) {
+ reloc = single_path_relocation_lib(OPENSSLBIN, OPENSSLDIR);
+ }
+ return reloc;
# else
return OPENSSLDIR;
#endif
@@ -164,6 +171,12 @@
if (!RUN_ONCE(&defaults_setup_init, do_defaults_setup))
return NULL;
return (const char *)enginesdirptr;
+#elif defined(__MINGW32__)
+ static char * reloc = NULL;
+ if (reloc == NULL) {
+ reloc = single_path_relocation_lib(OPENSSLBIN, ENGINESDIR);
+ }
+ return reloc;
#else
return ENGINESDIR;
#endif
@@ -180,6 +193,12 @@
if (!RUN_ONCE(&defaults_setup_init, do_defaults_setup))
return NULL;
return (const char *)modulesdirptr;
+#elif defined(__MINGW32__)
+ static char * reloc = NULL;
+ if (reloc == NULL) {
+ reloc = single_path_relocation_lib(OPENSSLBIN, MODULESDIR);
+ }
+ return reloc;
#else
return MODULESDIR;
#endif
--- openssl-3.4.0/crypto/build.info.orig 2024-10-22 14:26:59.000000000 +0200
+++ openssl-3.4.0/crypto/build.info 2024-10-26 22:39:26.015573200 +0200
@@ -107,7 +107,7 @@
comp_methods.c cversion.c info.c cpt_err.c ebcdic.c uid.c o_time.c \
o_dir.c o_fopen.c getenv.c o_init.c init.c trace.c provider.c \
provider_child.c punycode.c passphrase.c sleep.c deterministic_nonce.c \
- quic_vlint.c time.c defaults.c
+ quic_vlint.c time.c defaults.c pathtools.c
SOURCE[../providers/libfips.a]=$UTIL_COMMON
SOURCE[../libcrypto]=$UPLINKSRC