*) Try to detect as much as possible from the system itself, not the distro. This should make it easier to port to a new distro and more likely to work on a unknown one. *) The distro enum now doesn't include the arch. Just use the existing host detection support in LLVM. *) Correctly handle --sysroot. A small regression is that now clang will pass bitcode file to the linker. This is necessary for the gold plugin support to work. It might be better to detect this at configure/cmake time, but doing it in c++ first is a lot easier. llvm-svn: 118382
29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
// Check for proper handling of --sysroot and -isysroot flags.
|
|
|
|
// RUN: %clang -### -fsyntax-only -isysroot /foo/bar %s 2>&1 | \
|
|
// RUN: FileCheck %s -check-prefix=ISYSROOT
|
|
// ISYSROOT: "-isysroot" "/foo/bar"
|
|
|
|
// Check that we get both isysroot for headers, and pass --sysroot on to GCC to
|
|
// produce the final binary.
|
|
// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu \
|
|
// RUN: --sysroot=/foo/bar -o /dev/null %s 2>&1 | \
|
|
// RUN: FileCheck %s -check-prefix=SYSROOT_EQ
|
|
// SYSROOT_EQ: "-isysroot" "/foo/bar"
|
|
// SYSROOT_EQ: "--sysroot" "/foo/bar"
|
|
|
|
// Check for overriding the header sysroot by providing both --sysroot and
|
|
// -isysroot.
|
|
// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu -isysroot /baz \
|
|
// RUN: --sysroot=/foo/bar -o /dev/null %s 2>&1 | FileCheck %s \
|
|
// RUN: -check-prefix=ISYSROOT_AND_SYSROOT
|
|
// ISYSROOT_AND_SYSROOT: "-isysroot" "/baz"
|
|
// ISYSROOT_AND_SYSROOT: "--sysroot" "/foo/bar"
|
|
|
|
// Check that omitting the equals works as well.
|
|
// RUN: %clang -### -ccc-host-triple x86_64-unknown-linux-gnu \
|
|
// RUN: --sysroot /foo/bar -o /dev/null %s 2>&1 | \
|
|
// RUN: FileCheck %s -check-prefix=SYSROOT_SEPARATE
|
|
// SYSROOT_SEPARATE: "-isysroot" "/foo/bar"
|
|
// SYSROOT_SEPARATE: "--sysroot" "/foo/bar"
|