1 // Check that SDKROOT is used to define the default for -isysroot on Darwin.
2 //
3 // RUN: rm -rf %t.tmpdir
4 // RUN: mkdir -p %t.tmpdir
5 // RUN: env SDKROOT=%t.tmpdir %clang -target x86_64-apple-darwin10 --sysroot="" \
6 // RUN:   -c %s -### 2> %t.log
7 // RUN: FileCheck --check-prefix=CHECK-BASIC < %t.log %s
8 //
9 // CHECK-BASIC: clang
10 // CHECK-BASIC: "-cc1"
11 // CHECK-BASIC: "-isysroot" "{{.*tmpdir}}"
12 
13 // Check that we don't use SDKROOT as the default if it is not a valid path.
14 //
15 // RUN: rm -rf %t.nonpath
16 // RUN: env SDKROOT=%t.nonpath %clang -target x86_64-apple-darwin10 --sysroot="" \
17 // RUN:   -c %s -### 2> %t.log
18 // RUN: FileCheck --check-prefix=CHECK-NONPATH < %t.log %s
19 //
20 // CHECK-NONPATH: clang
21 // CHECK-NONPATH: "-cc1"
22 // CHECK-NONPATH-NOT: "-isysroot"
23 
24 // Check that we don't use SDKROOT as the default if it is just "/"
25 //
26 // RUN: env SDKROOT=/ %clang -target x86_64-apple-darwin10 --sysroot="" \
27 // RUN:   -c %s -### 2> %t.log
28 // RUN: FileCheck --check-prefix=CHECK-NONROOT < %t.log %s
29 //
30 // CHECK-NONROOT: clang
31 // CHECK-NONROOT: "-cc1"
32 // CHECK-NONROOT-NOT: "-isysroot"
33 //
34 // This test fails with MSYS or MSYS2 env.exe, since it does not preserve
35 // root, expanding / into C:/MINGW/MSYS/1.0 or c:/msys64. To reproduce the
36 // problem, run:
37 //
38 //   env SDKROOT=/ cmd //c echo %SDKROOT%
39 //
40 // This test do pass using GnuWin32 env.exe.
41 
42 // Check if clang set the correct deployment target from -sysroot
43 //
44 // RUN: rm -rf %t/SDKs/iPhoneOS8.0.0.sdk
45 // RUN: mkdir -p %t/SDKs/iPhoneOS8.0.0.sdk
46 // RUN: env SDKROOT=%t/SDKs/iPhoneOS8.0.0.sdk %clang -target arm64-apple-darwin -mlinker-version=400 --sysroot="" %s -### 2>&1 \
47 // RUN:   | FileCheck --check-prefix=CHECK-IPHONE %s
48 //
49 // CHECK-IPHONE: clang
50 // CHECK-IPHONE: "-cc1"
51 // CHECK-IPHONE: "-triple" "arm64-apple-ios8.0.0"
52 // CHECK-IPHONE: ld
53 // CHECK-IPHONE: "-iphoneos_version_min" "8.0.0"
54 //
55 //
56 // RUN: rm -rf %t/SDKs/iPhoneSimulator8.0.sdk
57 // RUN: mkdir -p %t/SDKs/iPhoneSimulator8.0.sdk
58 // RUN: env SDKROOT=%t/SDKs/iPhoneSimulator8.0.sdk %clang -target x86_64-apple-darwin -mlinker-version=400 --sysroot="" %s -### 2>&1 \
59 // RUN:   | FileCheck --check-prefix=CHECK-SIMULATOR %s
60 //
61 // CHECK-SIMULATOR: clang
62 // CHECK-SIMULATOR: "-cc1"
63 // CHECK-SIMULATOR: "-triple" "x86_64-apple-ios8.0.0-simulator"
64 // CHECK-SIMULATOR: ld
65 // CHECK-SIMULATOR: "-ios_simulator_version_min" "8.0.0"
66 //
67 // RUN: rm -rf %t/SDKs/MacOSX10.10.0.sdk
68 // RUN: mkdir -p %t/SDKs/MacOSX10.10.0.sdk
69 // RUN: env SDKROOT=%t/SDKs/MacOSX10.10.0.sdk %clang -target x86_64-apple-darwin -mlinker-version=400 --sysroot="" %s -### 2>&1 \
70 // RUN:   | FileCheck --check-prefix=CHECK-MACOSX %s
71 //
72 // CHECK-MACOSX: clang
73 // CHECK-MACOSX: "-cc1"
74 // CHECK-MACOSX: "-triple" "x86_64-apple-macosx10.10.0"
75 // CHECK-MACOSX: ld
76 // CHECK-MACOSX: "-macosx_version_min" "10.10.0"
77