1# Ensure that a nonexistent path is ignored with a syslibroot
2
3RUN: lld -flavor darwinnew -v -syslibroot /var/empty | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT
4
5CHECK-NONEXISTENT-SYSLIBROOT: Library search paths:
6CHECK-NONEXISTENT-SYSLIBROOT-NEXT: Framework search paths:
7
8RUN: mkdir -p %t/usr/lib
9RUN: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
10
11CHECK-SYSLIBROOT: Library search paths:
12CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib
13
14RUN: mkdir -p %t/Library/libxml2-development
15RUN: lld -flavor darwinnew -v -syslibroot %t -L /Library/libxml2-development | FileCheck %s -check-prefix CHECK-ABSOLUTE-PATH-REROOTED -DROOT=%t
16
17CHECK-ABSOLUTE-PATH-REROOTED: Library search paths:
18CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/Library/libxml2-development
19CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/usr/lib
20
21# NOTE: the match here is fuzzy because the default search paths exist on Linux
22# and macOS, but not on Windows (that is we ignore `/var/empty`).  This allows
23# us to run the test uniformly on all the platforms.
24RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED
25
26CHECK-SYSLIBROOT-IGNORED: /usr/lib
27CHECK-SYSLIBROOT-IGNORED: /usr/local/lib
28
29RUN: mkdir -p %t.2/usr/lib
30RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
31
32CHECK-SYSLIBROOT-MATRIX: Library search paths:
33CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib
34CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib
35
36RUN: mkdir -p %t/System/Library/Frameworks
37RUN: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
38
39CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths:
40CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks
41
42# NOTE: the match here is fuzzy because the default search paths exist on Linux
43# and macOS, but not on Windows (that is we ignore `/var/empty`).  This allows
44# us to run the test uniformly on all the platforms.
45RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED
46
47CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: /System/Library/Framework
48
49RUN: mkdir -p %t/Library/Frameworks
50RUN: mkdir -p %t.2/Library/Frameworks
51RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
52
53CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths:
54CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks
55CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks
56