Install shared libraries in runtime install
authorRichard Levitte <levitte@openssl.org>
Tue, 19 Jul 2016 11:24:57 +0000 (13:24 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 20 Jul 2016 12:16:11 +0000 (14:16 +0200)
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 <rsalz@openssl.org>
Configurations/descrip.mms.tmpl
Configurations/unix-Makefile.tmpl

index e256ef1..bf1f248 100644 (file)
@@ -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 -
index 783fbc4..6c4485b 100644 (file)
@@ -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`; \