Clang Project

clang_source_code/test/Driver/darwin-sdkroot.c
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 \
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 \
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 \
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 %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 %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 %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