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 21RUN: lld -flavor darwinnew -v -syslibroot %t -L %t/Library/libxml2-development | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development 22CHECK-PATH-WITHOUT-REROOT: Library search paths: 23CHECK-PATH-WITHOUT-REROOT-NEXT: [[PATH]] 24 25# NOTE: the match here is fuzzy because the default search paths exist on Linux 26# and macOS, but not on Windows (that is we ignore `/var/empty`). This allows 27# us to run the test uniformly on all the platforms. 28RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED 29 30CHECK-SYSLIBROOT-IGNORED: /usr/lib 31CHECK-SYSLIBROOT-IGNORED: /usr/local/lib 32 33RUN: mkdir -p %t.2/usr/lib 34RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t 35 36CHECK-SYSLIBROOT-MATRIX: Library search paths: 37CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib 38CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib 39 40RUN: mkdir -p %t/System/Library/Frameworks 41RUN: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t 42 43CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths: 44CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks 45 46# NOTE: the match here is fuzzy because the default search paths exist on Linux 47# and macOS, but not on Windows (that is we ignore `/var/empty`). This allows 48# us to run the test uniformly on all the platforms. 49RUN: lld -flavor darwinnew -v -syslibroot /var/empty -syslibroot / 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED 50 51CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: /System/Library/Framework 52 53RUN: mkdir -p %t/Library/Frameworks 54RUN: mkdir -p %t.2/Library/Frameworks 55RUN: lld -flavor darwinnew -v -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t 56 57CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths: 58CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks 59CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks 60