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