blob: 461c451e12937bc4dbd23e8367237c7928a0fcdc [file] [log] [blame]
Chandler Carruth24e17e12010-10-20 07:00:47 +00001// Check for proper handling of --sysroot and -isysroot flags.
2
Chandler Carruth4baa6ef2010-10-20 07:16:18 +00003// RUN: %clang -### -fsyntax-only -isysroot /foo/bar %s 2>&1 | \
Chandler Carruth24e17e12010-10-20 07:00:47 +00004// RUN: FileCheck %s -check-prefix=ISYSROOT
5// ISYSROOT: "-isysroot" "/foo/bar"
6
7// Check that we get both isysroot for headers, and pass --sysroot on to GCC to
8// produce the final binary.
Chandler Carruthc7b34692010-10-20 08:24:03 +00009// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu \
10// RUN: --sysroot=/foo/bar -o /dev/null %s 2>&1 | \
11// RUN: FileCheck %s -check-prefix=SYSROOT_EQ
Chandler Carruth24e17e12010-10-20 07:00:47 +000012// SYSROOT_EQ: "-isysroot" "/foo/bar"
Chandler Carruth174305b2010-12-08 19:11:45 +000013// SYSROOT_EQ: "--sysroot{{" "|=}}/foo/bar"
Chandler Carruth24e17e12010-10-20 07:00:47 +000014
15// Check for overriding the header sysroot by providing both --sysroot and
16// -isysroot.
Chandler Carruthc7b34692010-10-20 08:24:03 +000017// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu -isysroot /baz \
Chandler Carruth4baa6ef2010-10-20 07:16:18 +000018// RUN: --sysroot=/foo/bar -o /dev/null %s 2>&1 | FileCheck %s \
Chandler Carruth24e17e12010-10-20 07:00:47 +000019// RUN: -check-prefix=ISYSROOT_AND_SYSROOT
20// ISYSROOT_AND_SYSROOT: "-isysroot" "/baz"
Chandler Carruth174305b2010-12-08 19:11:45 +000021// ISYSROOT_AND_SYSROOT: "--sysroot{{" "|=}}/foo/bar"
Chandler Carruth24e17e12010-10-20 07:00:47 +000022
23// Check that omitting the equals works as well.
Chandler Carruthc7b34692010-10-20 08:24:03 +000024// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu \
25// RUN: --sysroot /foo/bar -o /dev/null %s 2>&1 | \
26// RUN: FileCheck %s -check-prefix=SYSROOT_SEPARATE
Chandler Carruth24e17e12010-10-20 07:00:47 +000027// SYSROOT_SEPARATE: "-isysroot" "/foo/bar"
Chandler Carruth174305b2010-12-08 19:11:45 +000028// SYSROOT_SEPARATE: "--sysroot{{" "|=}}/foo/bar"