1# Ensure that a nonexistent path is ignored with a syslibroot
2
3RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
4RUN:   -syslibroot /var/empty | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT
5
6CHECK-NONEXISTENT-SYSLIBROOT: Library search paths:
7CHECK-NONEXISTENT-SYSLIBROOT-NEXT: Framework search paths:
8
9RUN: mkdir -p %t/usr/lib
10RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
11RUN:   -syslibroot %t 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
12
13CHECK-SYSLIBROOT-NOT: directory not found{{.*}}usr/local/lib
14CHECK-SYSLIBROOT: Library search paths:
15CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib
16
17RUN: mkdir -p %t/Library/libxml2-development
18RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
19RUN:   -syslibroot %t -L /Library/libxml2-development | FileCheck %s -check-prefix CHECK-ABSOLUTE-PATH-REROOTED -DROOT=%t
20
21CHECK-ABSOLUTE-PATH-REROOTED: Library search paths:
22CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/Library/libxml2-development
23CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/usr/lib
24
25RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
26RUN:   -syslibroot %t -L %t/Library/libxml2-development | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development
27CHECK-PATH-WITHOUT-REROOT:      Library search paths:
28CHECK-PATH-WITHOUT-REROOT-NEXT: [[PATH]]
29
30RUN: mkdir -p %t.2/usr/lib
31RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
32RUN:   -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
33
34CHECK-SYSLIBROOT-MATRIX: Library search paths:
35CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib
36CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib
37
38RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
39RUN:   -syslibroot %t -syslibroot %t.2 -syslibroot / | \
40RUN:   FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED -DROOT=%t
41
42CHECK-SYSLIBROOT-IGNORED: Library search paths:
43CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]]/usr/lib
44CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]].2/usr/lib
45
46RUN: mkdir -p %t/System/Library/Frameworks
47RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
48RUN:   -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
49
50CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths:
51CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks
52
53RUN: mkdir -p %t/Library/Frameworks
54RUN: mkdir -p %t.2/Library/Frameworks
55RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
56RUN:   -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | \
57RUN:   FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
58
59CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths:
60CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks
61CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks
62
63RUN: ld64.lld -arch x86_64 -platform_version macos 10 11 -v -dylib -o /dev/null \
64RUN:   -syslibroot %t -syslibroot %t.2 -syslibroot / -F /Library/Frameworks | \
65RUN:   FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED -DROOT=%t
66
67CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: Framework search paths:
68CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]]/Library/Frameworks
69CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]].2/Library/Frameworks
70