## This test checks deleting a LC_RPATH load command from a MachO binary.

# RUN: yaml2obj %s -o %t

## Deleting a single RPath entry:
# RUN: llvm-install-name-tool -delete_rpath @executable_a/. %t
# RUN: llvm-objdump -p %t | \
# RUN:   FileCheck %s --check-prefix=RPATHS --implicit-check-not=@executable

# RPATHS: @executable_b/.
# RPATHS: @executable_c/.
# RPATHS: @executable_d/.
# RPATHS: @executable_e/.

## Deleting multiple RPath entries:
# RUN: llvm-install-name-tool -delete_rpath @executable_b/. \
# RUN:                        -delete_rpath @executable_c/. %t
# RUN: llvm-objdump -p %t | \
# RUN:   FileCheck %s --check-prefix=RPATHS-MULTIPLE --implicit-check-not=@executable

# RPATHS-MULTIPLE: @executable_d/.
# RPATHS-MULTIPLE: @executable_e/.

## Duplicate delete_rpath commands:
# RUN: llvm-install-name-tool -delete_rpath @executable_d/. \
# RUN:                        -delete_rpath @executable_d/. %t
# RUN: llvm-objdump -p %t | \
# RUN:   FileCheck %s --check-prefix=DUPLICATE --implicit-check-not=@executable

# DUPLICATE: @executable_e/.

## Deleting a nonexistent RPath:
# RUN: not llvm-install-name-tool -delete_rpath @executable_a/. %t 2>&1 | \
# RUN:   FileCheck %s --check-prefix=ABSENT-RPATH

# ABSENT-RPATH: no LC_RPATH load command with path: @executable_a/.

## Adding and deleting RPATH at the same time:
# RUN: not llvm-install-name-tool -add_rpath @executable_b/. \
# RUN:                            -delete_rpath @executable_b/. %t 2>&1 | \
# RUN:   FileCheck %s --check-prefix=COMBINED

# COMBINED: cannot specify both -add_rpath '@executable_b/.' and -delete_rpath '@executable_b/.'

## Remove all RPATHS
# RUN: yaml2obj %s -o %t2
# RUN: llvm-install-name-tool -delete_all_rpaths %t2
# RUN: llvm-objdump -p %t2 | FileCheck %s

# CHECK-NOT: LC_RPATH

## Remove all RPATHS and add a new one.
# RUN: yaml2obj %s -o %t3
# RUN: llvm-install-name-tool --delete_all_rpaths -add_rpath @executable_b/. %t3
# RUN: llvm-objdump -p %t3 | \
# RUN:   FileCheck %s --check-prefix=DELETE_AND_ADD --implicit-check-not=@executable

# DELETE_AND_ADD: @executable_b/.

--- !mach-o
FileHeader:
  magic:           0xFEEDFACF
  cputype:         0x01000007
  cpusubtype:      0x00000003
  filetype:        0x00000001
  ncmds:           5
  sizeofcmds:      160
  flags:           0x00002000
  reserved:        0x00000000
LoadCommands:
  - cmd:             LC_RPATH
    cmdsize:         32
    path:            12
    Content:         '@executable_a/.'
  - cmd:             LC_RPATH
    cmdsize:         32
    path:            12
    Content:         '@executable_b/.'
  - cmd:             LC_RPATH
    cmdsize:         32
    path:            12
    Content:         '@executable_c/.'
  - cmd:             LC_RPATH
    cmdsize:         32
    path:            12
    Content:         '@executable_d/.'
  - cmd:             LC_RPATH
    cmdsize:         32
    path:            12
    Content:         '@executable_e/.'
