From 71b3df1cbbfeb69d9f9a39af9a1ae5722215a9a3 Mon Sep 17 00:00:00 2001 From: Valentin Korenblit Date: Wed, 30 May 2018 13:46:51 +0200 Subject: [PATCH] package/clang: fix host-clang binaries This patch fixes the following error when trying to execute clang compiler (host-variant): CommandLine Error: Option 'x86-use-base-pointer' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options The same happens for the other binaries, such as clang-format: ./clang-format : CommandLine Error: Option 'help-list' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options Clang binaries are tools, and given that DLLVM_LINK_LLVM_DYLIB is set, they are linked against libLLVM.so. The problem is that binaries are also linking against some LLVM static libraries, resulting in the error shown above. However, it is not the same case for libclang, which is also a tool but links only against libLLVM.so. To fix this problem, add LLVM_DYLIB_COMPONENTS=all. Signed-off-by: Valentin Korenblit Tested-by: Joseph Kogut Signed-off-by: Peter Korsgaard --- package/clang/clang.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package/clang/clang.mk b/package/clang/clang.mk index ae0140c783..dc086c6eed 100644 --- a/package/clang/clang.mk +++ b/package/clang/clang.mk @@ -89,5 +89,9 @@ HOST_CLANG_POST_INSTALL_HOOKS = HOST_CLANG_INSTALL_CLANG_TBLGEN HOST_CLANG_CONF_OPTS += -DLLVM_LINK_LLVM_DYLIB=ON CLANG_CONF_OPTS += -DLLVM_LINK_LLVM_DYLIB=ON +# Prevent clang binaries from linking against LLVM static libs +HOST_CLANG_CONF_OPTS += -DLLVM_DYLIB_COMPONENTS=all +CLANG_CONF_OPTS += -DLLVM_DYLIB_COMPONENTS=all + $(eval $(cmake-package)) $(eval $(host-cmake-package))