| # RUN: mkdir -p %t/a %t/b %t/c |
| # RUN: cp %p/Inputs/std64.lib %t/a/ |
| # RUN: cp %p/Inputs/std64.lib %t/b/ |
| # RUN: cp %p/Inputs/std64.lib %t/c/ |
| |
| # RUN: env LIB=%t/a lld-link /out:%t.exe /entry:main /verbose \ |
| # RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \ |
| # RUN: /libpath:%t/b /libpath:%t/c 2> %t.log |
| # RUN: FileCheck -check-prefix=CHECK1 %s < %t.log |
| |
| CHECK1: b{{[/\\]}}std64.lib |
| |
| # RUN: lld-link /out:%t.exe /entry:main /verbose \ |
| # RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \ |
| # RUN: /libpath:%t/a /libpath:%t/b /libpath:%t/c 2> %t.log |
| # RUN: FileCheck -check-prefix=CHECK2 %s < %t.log |
| |
| CHECK2: a{{[/\\]}}std64.lib |
| |
| # RUN: lld-link /out:%t.exe /entry:main /verbose \ |
| # RUN: %t/a/std64.lib /subsystem:console %p/Inputs/hello64.obj \ |
| # RUN: /libpath:%t/b /verbose > %t.log 2>&1 |
| # RUN: FileCheck -check-prefix=CHECK3 %s < %t.log |
| |
| CHECK3: Reading {{.*}}a/std64.lib |
| CHECK3-NOT: Reading {{.*}}b/std64.lib |
| |
| # RUN: env LIB=%t/a lld-link /out:%t.exe /entry:main /verbose \ |
| # RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \ |
| # RUN: 2> %t.log |
| # RUN: FileCheck -check-prefix=CHECK4 %s < %t.log |
| |
| CHECK4: a{{[/\\]}}std64.lib |
| |
| # This should fail because /lldignoreenv should make lld-link |
| # ignore the LIB env var. |
| # RUN: env LIB=%t/a not lld-link /out:%t.exe /entry:main /verbose \ |
| # RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \ |
| # RUN: /lldignoreenv |