llvm/lld/test/MachO/dependency-info.s

# REQUIRES: x86
# RUN: rm -rf %t; split-file %s %t

# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/foo.o %t/foo.s
# RUN: %lld -dylib -o %t/libfoo.dylib %t/foo.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/bar.o %t/bar.s
# RUN: llvm-ar csr  %t/bar.a %t/bar.o
# RUN: llvm-mc -filetype=obj -triple=x86_64-apple-macos -o %t/main.o %t/main.s

# RUN: %lld %t/main.o %t/bar.a %t/libfoo.dylib -lSystem -o %t/test.out -dependency_info %t/deps_info.out
# RUN: %python %S/Inputs/DependencyDump.py %t/deps_info.out | FileCheck %s

# CHECK: lld-version: {{.*}}LLD {{.*}}

# CHECK-DAG: input-file: {{.*}}{{[/\]}}bar.a
# CHECK-DAG: input-file: {{.*}}{{[/\]}}libfoo.dylib
# CHECK-DAG: input-file: {{.*}}{{[/\]}}libSystem.tbd
# CHECK-DAG: input-file: {{.*}}{{[/\]}}main.o
# CHECK-DAG: input-file: {{.*}}bar.o

# CHECK: not-found: {{.*}}{{[/\]}}libdyld.{{.*}}
## There could be more not-found here but we are not checking those because it's brittle.

# CHECK: output-file: {{.*}}{{[/\]}}test.out

#--- foo.s
.globl __Z3foo
__Z3foo:
  ret

#--- bar.s
.globl _bar
_bar:
  callq __Z3foo
  ret

#--- main.s
.globl _main
_main:
  callq _bar
  callq __Z3foo
  ret