mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-06 13:32:49 +00:00
fd3cc70ed4
a CLANG_LIBDIR_SUFFIX down from the build system and using that as part of the default resource dir computation. Without this, essentially nothing that uses the clang driver works when building clang with a libdir suffix. This is probably the single biggest missing piece of support for multilib as without this people could hack clang to end up installed in the correct location, but it would then fail to find its own basic resources. I know of at least one distro that has some variation on this patch to hack around this; hopefully they'll be able to use the libdir suffix functionality directly as the rest of these bits land. This required fixing a copy of the code to compute Clang's resource directory that is buried inside of the frontend (!!!). It had bitrotted significantly relative to the driver code. I've made it essentially a clone of the driver code in order to keep tests (which use cc1 heavily) passing. This copy should probably just be removed and the frontend taught to always rely on an explicit resource directory from the driver, but that is a much more invasive change for another day. I've also updated one test which actually encoded the resource directory in its checked output to tolerate multilib suffixes. Note that this relies on a prior LLVM commit to add a stub to the autoconf build system for this variable. llvm-svn: 224924
17 lines
529 B
C
17 lines
529 B
C
// Check that -iwithprefix falls into the "after" search list.
|
|
//
|
|
// RUN: rm -rf %t.tmps
|
|
// RUN: mkdir -p %t.tmps/first %t.tmps/second
|
|
// RUN: %clang_cc1 -triple x86_64-unknown-unknown \
|
|
// RUN: -iprefix %t.tmps/ -iwithprefix second \
|
|
// RUN: -isystem %t.tmps/first -v %s 2> %t.out
|
|
// RUN: FileCheck %s < %t.out
|
|
|
|
// CHECK: #include <...> search starts here:
|
|
// CHECK: {{.*}}.tmps/first
|
|
// CHECK: {{/|\\}}lib{{(32|64)?}}{{/|\\}}clang{{/|\\}}{{[.0-9]+}}{{/|\\}}include
|
|
// CHECK: {{.*}}.tmps/second
|
|
// CHECK-NOT: {{.*}}.tmps
|
|
|
|
|