mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
Support multibin to allow multiple binary models to co-exist.
This change parallels the implementation of multilib and initially only applies to the NonStop platform's DLL loader limitations. Fixes: #16460 Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16472)
This commit is contained in:
parent
c99209264d
commit
d793a3253b
@ -202,6 +202,7 @@
|
||||
'nonstop-efloat-x86_64',
|
||||
'nonstop-model-put' ],
|
||||
multilib => '-put',
|
||||
multibin => '-put',
|
||||
},
|
||||
'nonstop-nsx_64' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -209,6 +210,7 @@
|
||||
'nonstop-lp64-x86_64',
|
||||
'nonstop-efloat-x86_64' ],
|
||||
multilib => '64',
|
||||
multibin => '64',
|
||||
disable => ['threads'],
|
||||
},
|
||||
'nonstop-nsx_64_put' => {
|
||||
@ -218,6 +220,7 @@
|
||||
'nonstop-efloat-x86_64',
|
||||
'nonstop-model-put' ],
|
||||
multilib => '64-put',
|
||||
multibin => '64-put',
|
||||
},
|
||||
'nonstop-nsx_spt' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -226,6 +229,7 @@
|
||||
'nonstop-efloat-x86_64',
|
||||
'nonstop-model-spt' ],
|
||||
multilib => '-spt',
|
||||
multibin => '-spt',
|
||||
},
|
||||
'nonstop-nsx_spt_floss' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -235,6 +239,7 @@
|
||||
'nonstop-model-floss',
|
||||
'nonstop-model-spt'],
|
||||
multilib => '-spt',
|
||||
multibin => '-spt',
|
||||
},
|
||||
'nonstop-nsx_g' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -265,6 +270,7 @@
|
||||
'nonstop-efloat-itanium',
|
||||
'nonstop-model-put' ],
|
||||
multilib => '-put',
|
||||
multibin => '-put',
|
||||
},
|
||||
'nonstop-nse_64' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -272,6 +278,7 @@
|
||||
'nonstop-lp64-itanium',
|
||||
'nonstop-efloat-itanium' ],
|
||||
multilib => '64',
|
||||
multibin => '64',
|
||||
disable => ['threads'],
|
||||
},
|
||||
'nonstop-nse_64_put' => {
|
||||
@ -281,6 +288,7 @@
|
||||
'nonstop-efloat-itanium',
|
||||
'nonstop-model-put' ],
|
||||
multilib => '64-put',
|
||||
multibin => '64-put',
|
||||
},
|
||||
'nonstop-nse_spt' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -289,6 +297,7 @@
|
||||
'nonstop-efloat-itanium',
|
||||
'nonstop-model-spt' ],
|
||||
multilib => '-spt',
|
||||
multibin => '-spt',
|
||||
},
|
||||
'nonstop-nse_spt_floss' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
@ -297,6 +306,7 @@
|
||||
'nonstop-efloat-itanium',
|
||||
'nonstop-model-floss', 'nonstop-model-spt' ],
|
||||
multilib => '-spt',
|
||||
multibin => '-spt',
|
||||
},
|
||||
'nonstop-nse_g' => {
|
||||
inherit_from => [ 'nonstop-common',
|
||||
|
@ -203,6 +203,13 @@ In each table entry, the following keys are significant:
|
||||
to have the different variants in different
|
||||
directories.
|
||||
|
||||
multibin => On systems that support having multiple
|
||||
implementations of a library and binaries
|
||||
(typically a 32-bit and a 64-bit variant),
|
||||
this is used to have the different variants
|
||||
in different binary directories. This setting
|
||||
works in conjunction with multilib.
|
||||
|
||||
bn_ops => Building options (was just bignum options in
|
||||
the earlier history of this option, hence the
|
||||
name). This is a string of words that describe
|
||||
|
@ -311,6 +311,14 @@ MODULESDIR=$(libdir)/ossl-modules
|
||||
# libraries and applications
|
||||
LIBRPATH=$(libdir)
|
||||
|
||||
BINDIR={- our $bindir = $config{bindir};
|
||||
unless ($bindir) {
|
||||
$bindir = "bin$target{multibin}";
|
||||
}
|
||||
file_name_is_absolute($bindir) ? "" : $bindir -}
|
||||
bindir={- file_name_is_absolute($bindir)
|
||||
? $bindir : '$(INSTALLTOP)/$(BINDIR)' -}
|
||||
|
||||
MANDIR=$(INSTALLTOP)/share/man
|
||||
DOCDIR=$(INSTALLTOP)/share/doc/$(BASENAME)
|
||||
HTMLDIR=$(DOCDIR)/html
|
||||
@ -871,18 +879,18 @@ install_runtime_libs: build_libs
|
||||
@ : {- output_off() if windowsdll(); "" -}
|
||||
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(libdir)
|
||||
@ : {- output_on() if windowsdll(); output_off() unless windowsdll(); "" -}
|
||||
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin
|
||||
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(bindir)/
|
||||
@ : {- output_on() unless windowsdll(); "" -}
|
||||
@$(ECHO) "*** Installing runtime libraries"
|
||||
@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 755 $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \
|
||||
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "install $$s -> $(DESTDIR)$(bindir)/$$fn"; \
|
||||
cp $$s $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
chmod 755 $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(bindir)/$$fn.new \
|
||||
$(DESTDIR)$(bindir)/$$fn; \
|
||||
: {- output_on() unless windowsdll(); "" -}{- output_off() if windowsdll(); "" -}; \
|
||||
$(ECHO) "install $$s -> $(DESTDIR)$(libdir)/$$fn"; \
|
||||
cp $$s $(DESTDIR)$(libdir)/$$fn.new; \
|
||||
@ -894,25 +902,25 @@ install_runtime_libs: build_libs
|
||||
|
||||
install_programs: install_runtime_libs build_programs
|
||||
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
|
||||
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(INSTALLTOP)/bin
|
||||
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(DESTDIR)$(bindir)
|
||||
@$(ECHO) "*** Installing runtime programs"
|
||||
@set -e; for x in dummy $(INSTALL_PROGRAMS); do \
|
||||
if [ "$$x" = "dummy" ]; then continue; fi; \
|
||||
fn=`basename $$x`; \
|
||||
$(ECHO) "install $$x -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
|
||||
cp $$x $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
|
||||
chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \
|
||||
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "install $$x -> $(DESTDIR)$(bindir)/$$fn"; \
|
||||
cp $$x $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
chmod 755 $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(bindir)/$$fn.new \
|
||||
$(DESTDIR)$(bindir)/$$fn; \
|
||||
done
|
||||
@set -e; for x in dummy $(BIN_SCRIPTS); do \
|
||||
if [ "$$x" = "dummy" ]; then continue; fi; \
|
||||
fn=`basename $$x`; \
|
||||
$(ECHO) "install $$x -> $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
|
||||
cp $$x $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
|
||||
chmod 755 $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(INSTALLTOP)/bin/$$fn.new \
|
||||
$(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "install $$x -> $(DESTDIR)$(bindir)/$$fn"; \
|
||||
cp $$x $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
chmod 755 $(DESTDIR)$(bindir)/$$fn.new; \
|
||||
mv -f $(DESTDIR)$(bindir)/$$fn.new \
|
||||
$(DESTDIR)$(bindir)/$$fn; \
|
||||
done
|
||||
|
||||
uninstall_runtime: uninstall_programs uninstall_runtime_libs
|
||||
@ -923,17 +931,17 @@ uninstall_programs:
|
||||
do \
|
||||
if [ "$$x" = "dummy" ]; then continue; fi; \
|
||||
fn=`basename $$x`; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(bindir)/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(bindir)/$$fn; \
|
||||
done;
|
||||
@set -e; for x in dummy $(BIN_SCRIPTS); \
|
||||
do \
|
||||
if [ "$$x" = "dummy" ]; then continue; fi; \
|
||||
fn=`basename $$x`; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(bindir)/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(bindir)/$$fn; \
|
||||
done
|
||||
-$(RMDIR) $(DESTDIR)$(INSTALLTOP)/bin
|
||||
-$(RMDIR) $(DESTDIR)$(bindir)
|
||||
|
||||
uninstall_runtime_libs:
|
||||
@$(ECHO) "*** Uninstalling runtime libraries"
|
||||
@ -941,8 +949,8 @@ uninstall_runtime_libs:
|
||||
@set -e; for s in dummy $(INSTALL_SHLIBS); do \
|
||||
if [ "$$s" = "dummy" ]; then continue; fi; \
|
||||
fn=`basename $$s`; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(INSTALLTOP)/bin/$$fn; \
|
||||
$(ECHO) "$(RM) $(DESTDIR)$(bindir)/$$fn"; \
|
||||
$(RM) $(DESTDIR)$(bindir)/$$fn; \
|
||||
done
|
||||
@ : {- output_on() unless windowsdll(); "" -}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user