Lines Matching +full:bare +full:- +full:cross +full:- +full:build
4 #//===----------------------------------------------------------------------===//
8 #// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10 #//===----------------------------------------------------------------------===//
25 # --------------------------------------------------------------------------------------------------
27 # $tool -- Name of tool.
28 # @bulk -- Output of the tool.
29 # $n -- Number of line caused parse error.
34 push( @bulk, ( $i == $n ? ">>> " : " " ) . $bulk->[ $i ] );
40 # --------------------------------------------------------------------------------------------------
47 # /lib64/ld-linux-x86-64.so.2 (0x0000003879400000)
50 # requires libdl.so, and libdl.so requires /lib/ld-linux.so, ldd prints both libdl.so and
51 # /lib/ld-linux.so). If you do not want indirect dependencies, look at readelf tool.
60 execute( [ $tool, $lib ], -stdout => \@bulk );
63 foreach my $i ( 0 .. @bulk - 1 ) {
65 if ( $line !~ m{^\s*(?:([_a-z0-9.+-/]*)\s+=>\s+)?([_a-z0-9.+-/]*)\s+\(0x[0-9a-z]*\)$}i ) {
77 # --------------------------------------------------------------------------------------------------
80 # $ readelf -d exports/lin_32e/lib/libomp.so
103 $tool = "x86_64-k1om-linux-readelf";
113 execute( [ $tool, "-d", $file ], -stdout => \@bulk );
121 if ( $i == @bulk - 1 and $bulk[ $i ] =~ m{^There is no dynamic section in this file\.\s*$} ) {
125 …( $i < @bulk and $bulk[ $i ] =~ m{^Dynamic (?:segment|section) at offset 0x[0-9a-f]+ contains \d+ …
134 if ( $line !~ m{^\s*0x[0-9a-f]+\s+\(?([_A-Z0-9]+)\)?\s+(.*)\s*$}i ) {
153 # --------------------------------------------------------------------------------------------------
156 # $ otool -L libname.dylib
170 # On older (Tiger) systems otool does not recognize 64-bit binaries, so try to locate
178 execute( [ $tool, "-L", $file ], -stdout => \@bulk );
211 # --------------------------------------------------------------------------------------------------
214 # > link -dump -dependents libname.dll
227 # > link -dump -directives libname.lib
233 # -----------------
234 # -defaultlib:"uuid.lib"
235 # -defaultlib:"uuid.lib"
256 -stdout => \@bulk
277 } elsif ( $line =~ m{^\s*[-/]defaultlib\:(.*)\s*$}i ) {
285 } elsif ( $line =~ m{^\s*-+\s*$} ) {
327 # --------------------------------------------------------------------------------------------------
329 # --------------------------------------------------------------------------------------------------
333 my $bare;
338 "bare" => \$bare,
357 if ( not -e $lib ){
375 if ( $bare ) {
399 B<check-depends.pl> -- Check dependencies for a specified library.
403 B<check-depends.pl> I<OPTIONS>... I<library>
407 C<check-depends.pl> finds direct dependencies for a specified library. List of actual dependencies
410 issues error message and exits with non-zero code.
415 The script uses external tools. On Linux* OS, it runs F<readelf>, on OS X* -- F<otool> (or F<otool6…
416 on Windows* OS -- F<link>.
424 =item B<--bare>
426 Do not use fancy formatting; produce plain, bare output: just a list of libraries,
429 =item B<--expected=>I<list>
431 I<list> is comma-separated list of expected dependencies (or C<none>).
432 If C<--expected> option specified, C<check-depends.pl> checks the specified library
435 =item B<--os=>I<str>
438 Useful for cross-build, when host OS is not the same as target OS.
447 =item B<--help>
451 =item B<--doc>
453 =item B<--manual>
457 =item B<--quiet>
461 =item B<--version>
481 > check-depends.pl exports/win_32/lib/libompmd.dll
482 check-depends.pl: (i) Dependencies:
483 check-depends.pl: (i) kernel32.dll
485 Print library dependencies, use bare output (Linux* OS):
487 $ check-depends.pl --bare exports/lin_32e/lib/libomp_db.so
494 $ check-depends.pl --expected=none exports/mac_32/lib/libomp.dylib
495 check-depends.pl: (i) Dependencies:
496 check-depends.pl: (i) /usr/lib/libSystem.B.dylib
497 check-depends.pl: (x) Unexpected dependencies:
498 check-depends.pl: (x) /usr/lib/libSystem.B.dylib