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