diff --git a/Configure b/Configure index 074e44adf6ea6492442e1a6f317566386902c67d..4c5c2e2cd5fef64cca1d533157fc5cba4945e103 100755 --- a/Configure +++ b/Configure @@ -1438,6 +1438,8 @@ while () { if (/^#define\s+OPENSSLDIR/) { print OUT "#define OPENSSLDIR \"$openssldir\"\n"; } + elsif (/^#define\s+ENGINESDIR/) + { print OUT "#define ENGINESDIR \"$prefix/lib/engines\"\n"; } elsif (/^#((define)|(undef))\s+OPENSSL_EXPORT_VAR_AS_FUNCTION/) { printf OUT "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\n" if $export_var_as_fn; diff --git a/Makefile.org b/Makefile.org index d9c07cdc5927091c49e5a6f2bc6f56295e65d880..b64bf33da17870daf0442b02507deef829a48ae8 100644 --- a/Makefile.org +++ b/Makefile.org @@ -496,9 +496,9 @@ dist_pem_h: install: all install_docs @$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ $(INSTALL_PREFIX)$(INSTALLTOP)/lib \ + $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines \ $(INSTALL_PREFIX)$(INSTALLTOP)/lib/pkgconfig \ $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ - $(INSTALL_PREFIX)$(INSTALLTOP)/engines \ $(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ $(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ $(INSTALL_PREFIX)$(OPENSSLDIR)/private diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index 67d67df3ce43d7da0c3d4697bd9045ce0cc195dc..f337e0f3bc650b548d0c7fecbf551ac8a9abfddb 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -397,7 +397,7 @@ ENGINE *ENGINE_by_id(const char *id) #ifdef OPENSSL_SYS_VMS if((load_dir = getenv("OPENSSL_ENGINES")) == 0) load_dir = "SSLROOT:[ENGINES]"; #else - if((load_dir = getenv("OPENSSL_ENGINES")) == 0) load_dir = OPENSSLDIR "/engines"; + if((load_dir = getenv("OPENSSL_ENGINES")) == 0) load_dir = ENGINESDIR; #endif iterator = ENGINE_by_id("dynamic"); if(!iterator || !ENGINE_ctrl_cmd_string(iterator, "ID", id, 0) || diff --git a/crypto/opensslconf.h.in b/crypto/opensslconf.h.in index 685e83b7a33ff912a508ceb5b2bc25b9a941be07..cee83acf9898b43b5c5e4fbc9ca0cf76e8fefd48 100644 --- a/crypto/opensslconf.h.in +++ b/crypto/opensslconf.h.in @@ -5,6 +5,7 @@ #if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ #if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) +#define ENGINESDIR "/usr/local/lib/engines" #define OPENSSLDIR "/usr/local/ssl" #endif #endif diff --git a/engines/Makefile.ssl b/engines/Makefile.ssl index 8c383f95995761ea70650a55f036074969dc9bb7..8ae81f33ce31de98d9a1f32c92d20448a04316ac 100644 --- a/engines/Makefile.ssl +++ b/engines/Makefile.ssl @@ -99,9 +99,9 @@ install: set -e; \ for l in $(LIBNAMES); do \ ( echo installing $$l; \ - cp lib$$l.so $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new; \ - chmod 555 $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new; \ - mv -f $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so.new $(INSTALL_PREFIX)$(OPENSSLDIR)/engines/lib$$l.so ); \ + cp lib$$l.so $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \ + chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \ + mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so ); \ done; \ fi