Commit f6196227 authored by Richard Levitte's avatar Richard Levitte
Browse files

VMS: stop trying to build shared libraries from static ones



The possibility to do this was killed when we started producing object
file names with encoded intention (and possibly different builds), and
leads to build errors.

With that, 'libobj2shlib' is renamed to 'obj2shlib' to reflect this
design change.  The old name is still used if the new one isn't
available, for the sake of backward compatibility.

Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7198)
parent c402e943
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -116,14 +116,15 @@
 }

 # dolib is responsible for building libraries.  It will call
 # libobj2shlib is shared libraries are produced, and obj2lib in all
 # obj2shlib is shared libraries are produced, and obj2lib in all
 # cases.  It also makes sure all object files for the library are
 # built.
 sub dolib {
     my $lib = shift;
     return "" if $cache{$lib};
     unless ($disabled{shared} || $lib =~ /\.a$/) {
         $OUT .= libobj2shlib(shlib => $unified_info{sharednames}->{$lib},
         my $obj2shlib = defined &obj2shlib ? \&obj2shlib : \&libobj2shlib;
         $OUT .= $obj2shlib->(shlib => $unified_info{sharednames}->{$lib},
                              lib => $lib,
                              objs => $unified_info{shared_sources}->{$lib},
                              deps => [ reducedepends(resolvedepends($lib)) ],
+3 −3
Original line number Diff line number Diff line
@@ -902,7 +902,7 @@ $obj.OBJ : $deps
        - PURGE $obj.OBJ
EOF
  }
  sub libobj2shlib {
  sub obj2shlib {
      my %args = @_;
      my $lib = $args{lib};
      my $shlib = $args{shlib};
@@ -914,7 +914,7 @@ EOF
      my @defs = grep { $_ =~ /\.opt$/ } @{$args{objs}};
      my @deps = compute_lib_depends(@{$args{deps}});
      die "More than one symbol vector" if scalar @defs > 1;
      my $deps = join(", -\n\t\t", @defs, @deps);
      my $deps = join(", -\n\t\t", @objs, @defs, @deps);
      my $shlib_target = $disabled{shared} ? "" : $target{shared_target};
      my $translatesyms_pl = abs2rel(rel2abs(catfile($config{sourcedir},
                                                     "VMS", "translatesyms.pl")),
@@ -934,7 +934,7 @@ EOF
                             "WRITE OPT_FILE \"$x\"" } @deps)
          || "\@ !";
      return <<"EOF"
$shlib.EXE : $lib.OLB $deps
$shlib.EXE : $deps
        \$(PERL) $translatesyms_pl \$(BLDDIR)CXX\$DEMANGLER_DB. < $defs[0] > $defs[0]-translated
        OPEN/WRITE/SHARE=READ OPT_FILE $lib-components.OPT
        $write_opt1
+1 −1
Original line number Diff line number Diff line
@@ -1085,7 +1085,7 @@ EOF
  # On Unix, we build shlibs from static libs, so we're ignoring the
  # object file array.  We *know* this routine is only called when we've
  # configure 'shared'.
  sub libobj2shlib {
  sub obj2shlib {
      my %args = @_;
      my $lib = $args{lib};
      my $shlib = $args{shlib};
+1 −1
Original line number Diff line number Diff line
@@ -616,7 +616,7 @@ EOF
 # On Unix, we build shlibs from static libs, so we're ignoring the
 # object file array.  We *know* this routine is only called when we've
 # configure 'shared'.
 sub libobj2shlib {
 sub obj2shlib {
     my %args = @_;
     my $lib = $args{lib};
     my $shlib = $args{shlib};