Lines Matching +full:ref +full:- +full:weight

2 # Copyright 2018-2022 The OpenSSL Project Authors. All Rights Reserved.
48 'case-insensitive' => \$case_insensitive)
53 die "--type argument must be equal to 'lib' or 'dso'"
63 # shlib_variant => "-opt",
67 # $ perl -le '
70 # printf "%s -> %s\n", $_, $l
75 # libcrypto-opt.so.1.1
76 # libcrypto.so -> libcrypto-opt.so.1.1
77 # libssl-opt.so.1.1
78 # libssl.so -> libssl-opt.so.1.1
84 # readelf -d $l | egrep 'SONAME|NEEDED.*(ssl|crypto)'
87 # 0x000000000000000e (SONAME) Library soname: [libcrypto-opt.so.1.1]
89 # 0x0000000000000001 (NEEDED) Shared library: [libcrypto-opt.so.1.1]
90 # 0x000000000000000e (SONAME) Library soname: [libssl-opt.so.1.1]
92 # We case-fold the variant tag to upper case and replace all non-alnum
95 # $ nm libcrypto.so | grep -w A
102 # $ nm libssl.so | grep -w A
108 my $libname = $type eq 'lib' ? platform->sharedname($name) : platform->dsoname($name);
114 "solaris-gcc" => 'solaris', # alias
116 "bsd-gcc" => 'solaris', # alias
144 } while(ref($OS) eq '');
146 my %disabled_uc = map { my $x = uc $_; $x =~ s|-|_|g; $x => 1 } keys %disabled;
149 $ordinal_opts{sort} = $OS->{sort} if $OS->{sort};
154 $item->exists()
158 my $ordinals = OpenSSL::Ordinals->new(from => $ordinals_file);
160 my $writer = $OS->{writer};
163 $writer->($ordinals->items(%ordinal_opts));
169 my %platforms = ( $item->platforms() );
178 if (exists $OS->{platforms}->{$_}) {
179 return $platforms{$_} == $OS->{platforms}->{$_};
192 my @features = ( $item->features() );
214 my %weight = (
223 my $verdict = $weight{$item1->type()} <=> $weight{$item2->type()};
225 $verdict = $by_name->($item1, $item2);
239 my $verdict = $by_version->($item1, $item2);
241 $verdict = $by_unix->($item1, $item2);
254 if ($thisversion && $_->version() ne $thisversion) {
266 $thisversion = $_->version();
275 print ' ', $_->name(), ";\n";
286 print $_->name(),"\n";
292 print "-export ",$_->name(),"\n";
307 print " ",$_->name();
308 if (platform->can('export2internal')) {
309 print "=". platform->export2internal($_->name());
343 my $this_num = $_->number();
347 push @slot_collection, $collector->(); # Just occupy a slot
352 } -> {$_->type()};
353 push @slot_collection, $collector->($_->name(), $type);
363 SYMBOL_VECTOR=(-
381 $settextlength--; # only one space indentation on the first one
387 SYMBOL_VECTOR=(-
398 $indent$_ -
431 my $this_num = $_->number();
434 if ($_->type() eq 'VARIABLE') {
435 print "\textern int ", $_->name(), '; /* type unknown */ /* ',
436 $this_num, ' ', $_->version(), " */\n";
438 print "\textern int ", $_->name(), '(); /* type unknown */ /* ',
439 $this_num, ' ', $_->version(), " */\n";