libpath.test
1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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