summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-05-15 14:52:54 -0700
committerKhem Raj <raj.khem@gmail.com>2015-05-15 14:52:54 -0700
commitc582f59d3915b908f22b3cb9ebaa6fcbbc594bd8 (patch)
tree4b27fad44e8406c33329610b3b6ef58b4d93715d
parent8581dc624d1c10b37a5533ac168f6f491cddd86f (diff)
downloadmeta-clang-c582f59d3915b908f22b3cb9ebaa6fcbbc594bd8.tar.gz
clang: Fix building for target
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--conf/clang.conf1
-rw-r--r--recipes-devtools/clang/clang/0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch34
-rw-r--r--recipes-devtools/clang/clang_git.bb10
3 files changed, 44 insertions, 1 deletions
diff --git a/conf/clang.conf b/conf/clang.conf
index 0d13d1d..ed3194e 100644
--- a/conf/clang.conf
+++ b/conf/clang.conf
@@ -5,6 +5,7 @@ CXX_toolchain-clang = "${TARGET_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTION
5CPP_toolchain-clang = "${TARGET_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" 5CPP_toolchain-clang = "${TARGET_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E"
6CCLD_toolchain-clang = "${TARGET_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" 6CCLD_toolchain-clang = "${TARGET_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
7THUMB_TUNE_CCARGS_remove_toolchain-clang = "-mthumb-interwork" 7THUMB_TUNE_CCARGS_remove_toolchain-clang = "-mthumb-interwork"
8TUNE_CCARGS_append_toolchain-clang = " -D__extern_always_inline=inline"
8 9
9TOOLCHAIN_pn-lzo = "clang" 10TOOLCHAIN_pn-lzo = "clang"
10DEPENDS_append_pn-lzo = " clang-cross-${TARGET_ARCH} " 11DEPENDS_append_pn-lzo = " clang-cross-${TARGET_ARCH} "
diff --git a/recipes-devtools/clang/clang/0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch b/recipes-devtools/clang/clang/0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch
new file mode 100644
index 0000000..8945c66
--- /dev/null
+++ b/recipes-devtools/clang/clang/0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch
@@ -0,0 +1,34 @@
1From a004191b8e3976ac4a201ddc78c03a777d3193d9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 May 2015 12:13:17 -0700
4Subject: [PATCH] Remove CMAKE_CROSSCOMPILING so it can cross compile
5
6we already have llvm-config from clang-native
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 tools/llvm-config/CMakeLists.txt | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt
14index d2ef45a..3d8b7b1 100644
15--- a/tools/llvm-config/CMakeLists.txt
16+++ b/tools/llvm-config/CMakeLists.txt
17@@ -34,7 +34,7 @@ add_llvm_tool(llvm-config
18 # Add the dependency on the generation step.
19 add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH})
20
21-if(CMAKE_CROSSCOMPILING)
22+if(CMAKE_CROSSCOMPILING1)
23 set(${project}_LLVM_CONFIG_EXE "${LLVM_NATIVE_BUILD}/bin/llvm-config")
24 set(${project}_LLVM_CONFIG_EXE ${${project}_LLVM_CONFIG_EXE} PARENT_SCOPE)
25
26@@ -47,4 +47,4 @@ if(CMAKE_CROSSCOMPILING)
27 add_dependencies(${project}NativeLLVMConfig CONFIGURE_LLVM_NATIVE)
28
29 add_dependencies(llvm-config ${project}NativeLLVMConfig)
30-endif(CMAKE_CROSSCOMPILING)
31+endif(CMAKE_CROSSCOMPILING1)
32--
332.1.4
34
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index a1d3cf6..d197908 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -14,6 +14,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa; \
14 " 14 "
15SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \ 15SRC_URI = "git://github.com/llvm-mirror/llvm.git;branch=${BRANCH};name=llvm \
16 git://github.com/llvm-mirror/clang.git;branch=${BRANCH};destsuffix=git/tools/clang;name=clang \ 16 git://github.com/llvm-mirror/clang.git;branch=${BRANCH};destsuffix=git/tools/clang;name=clang \
17 file://0001-Remove-CMAKE_CROSSCOMPILING-so-it-can-cross-compile.patch \
17 " 18 "
18 19
19SRCREV_llvm = "08709687efd951d1d6c3ad5f8d518129c068c737" 20SRCREV_llvm = "08709687efd951d1d6c3ad5f8d518129c068c737"
@@ -44,6 +45,7 @@ def get_clang_target_arch(bb, d):
44#TUNE_CCARGS_remove = "-mthumb-interwork" 45#TUNE_CCARGS_remove = "-mthumb-interwork"
45#TUNE_CCARGS_remove = "-march=armv7-a" 46#TUNE_CCARGS_remove = "-march=armv7-a"
46#TUNE_CCARGS_remove = "-marm" 47#TUNE_CCARGS_remove = "-marm"
48TUNE_CCARGS_append_class-target = " -D__extern_always_inline=inline -L${PKG_CONFIG_SYSROOT_DIR}${libdir}/libxml2 -I${PKG_CONFIG_SYSROOT_DIR}${includedir}/libxml2 "
47 49
48EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI:BOOL=True \ 50EXTRA_OECMAKE="-DLLVM_ENABLE_RTTI:BOOL=True \
49 -DLLVM_ENABLE_FFI:BOOL=False \ 51 -DLLVM_ENABLE_FFI:BOOL=False \
@@ -59,6 +61,7 @@ EXTRA_OECMAKE_append_class-nativesdk = "\
59 -DLLVM_TARGETS_TO_BUILD:STRING='AArch64;ARM;Mips;PowerPC;X86' \ 61 -DLLVM_TARGETS_TO_BUILD:STRING='AArch64;ARM;Mips;PowerPC;X86' \
60" 62"
61EXTRA_OECMAKE_append_class-target = "\ 63EXTRA_OECMAKE_append_class-target = "\
64 -DLLVM_ENABLE_PIC=False \
62 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 65 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
63 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ 66 -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \
64 -DLLVM_TARGETS_TO_BUILD:STRING='${@get_clang_target_arch(bb, d)}' \ 67 -DLLVM_TARGETS_TO_BUILD:STRING='${@get_clang_target_arch(bb, d)}' \
@@ -70,7 +73,7 @@ EXTRA_OECMAKE_append_class-target = "\
70# 73#
71EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1" 74EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
72 75
73DEPENDS = "zlib libffi libxml2-native binutils" 76DEPENDS = "zlib libffi libxml2 binutils"
74 77
75do_configure_prepend() { 78do_configure_prepend() {
76 # Remove RPATHs 79 # Remove RPATHs
@@ -83,6 +86,11 @@ do_configure_prepend() {
83 sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp 86 sed -ri "s#/(bin|include|lib)(/?\")#/\1/${LLVM_DIR}\2#g" ${S}/tools/llvm-config/llvm-config.cpp
84} 87}
85 88
89do_compile_prepend_class-native () {
90 oe_runmake LLVM-tablegen-host
91 oe_runmake CLANG-tablegen-host
92}
93
86do_install_append_class-native () { 94do_install_append_class-native () {
87 install -Dm 0755 ${B}/NATIVE/bin/clang-tblgen ${D}${bindir}/clang-tblgen 95 install -Dm 0755 ${B}/NATIVE/bin/clang-tblgen ${D}${bindir}/clang-tblgen
88 for f in `find ${D}${bindir} -executable -type f -not -type l`; do 96 for f in `find ${D}${bindir} -executable -type f -not -type l`; do