From 36b53720eb4cd23eb7e6c0b3a3fed94f757f27ef Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 19 Jul 2016 13:24:57 +0200 Subject: [PATCH] Install shared libraries in runtime install On non-Windows platforms, shared libraries are both development and runtime files. We only installed them as development files, this makes sure they get installed as runtime files as well. Reviewed-by: Rich Salz --- Configurations/descrip.mms.tmpl | 9 ++++++++- Configurations/unix-Makefile.tmpl | 13 +++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl index e256ef135f..bf1f248558 100644 --- a/Configurations/descrip.mms.tmpl +++ b/Configurations/descrip.mms.tmpl @@ -379,12 +379,13 @@ install_dev : check_INSTALLTOP @ ! Install header files - CREATE/DIR ossl_installroot:[include.openssl] COPY/PROT=W:R openssl:*.h ossl_installroot:[include.openssl] - @ ! Install libraries + @ ! Install static (development) libraries - CREATE/DIR ossl_installroot:[LIB.'arch'] {- join("\n ", map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } @{$unified_info{install}->{libraries}}) -} @ {- output_off() if $disabled{shared}; "" -} ! + @ ! Install shared (runtime) libraries {- join("\n ", map { "COPY/PROT=W:R $_.EXE ossl_installroot:[LIB.'arch']" } @install_shlibs) -} @@ -393,6 +394,12 @@ install_dev : check_INSTALLTOP install_runtime : check_INSTALLTOP @ ! {- output_off() if $disabled{apps}; "" -} @ WRITE SYS$OUTPUT "*** Installing runtime files" + @ {- output_off() if $disabled{shared}; "" -} ! + @ ! Install shared (runtime) libraries + {- join("\n ", + map { "COPY/PROT=W:R $_.OLB ossl_installroot:[LIB.'arch']" } + @install_shlibs) -} + @ {- output_on() if $disabled{shared}; "" -} ! @ ! Install the main program - CREATE/DIR ossl_installroot:[EXE.'arch'] COPY/PROT=W:RE [.APPS]openssl.EXE - diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 783fbc4138..6c4485be00 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -477,19 +477,28 @@ uninstall_engines: install_runtime: @[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1) @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin + @ : {- output_off() if windowsdll(); "" -} + @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/$(LIBDIR) + @ : {- output_on() if windowsdll(); "" -} @$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(OPENSSLDIR)/misc @echo "*** Installing runtime files" - @ : {- output_off() unless windowsdll(); "" -} @set -e; for s in dummy $(INSTALL_SHLIBS); do \ if [ "$$s" = "dummy" ]; then continue; fi; \ fn=`basename $$s`; \ + : {- output_off() unless windowsdll(); "" -}; \ echo "install $$s -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \ cp $$s $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \ chmod 644 $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \ mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \ $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \ + : {- output_on() unless windowsdll(); "" -}{- output_off() if windowsdll(); "" -}; \ + echo "install $$s -> $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \ + cp $$s $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new; \ + chmod 755 $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new; \ + mv -f $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn.new \ + $(DESTDIR)$(INSTALLTOP)/$(LIBDIR)/$$fn; \ + : {- output_on() if windowsdll(); "" -}; \ done - @ : {- output_on() unless windowsdll(); "" -} @set -e; for x in dummy $(INSTALL_PROGRAMS); do \ if [ "$$x" = "dummy" ]; then continue; fi; \ fn=`basename $$x`; \ -- 2.25.1