Hi Randy,

See below for the .bb file that Juan and I created to build llvm+clang 3.3, one 
thing need to mention is that we do not put llvm-config under crossscripts (the 
.bb file in oe-core does so) since we want the same behavior between yocto 
build on host and direct build on target.

LICENSE = "NCSA"
DEPENDS = "libffi libxml2"

SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz;name=llvm";
SRC_URI += 
"http://llvm.org/releases/${PV}/cfe-${PV}.src.tar.gz;apply=no;name=clang";
SRC_URI[llvm.md5sum] = "40564e1dc390f9844f1711c08b08e391"
SRC_URI[llvm.sha256sum] = 
"68766b1e70d05a25e2f502e997a3cb3937187a3296595cf6e0977d5cd6727578"
SRC_URI[clang.md5sum] = "8284891e3e311829b8e44ac813d0c9ef"
SRC_URI[clang.sha256sum] = 
"b1b55de4ab3a57d3e0331a83e0284610191c77d924e3446498d9113d08dfb996"

S = "${WORKDIR}/llvm-${PV}.src"
LIC_FILES_CHKSUM = 
"file://${S}/LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"

inherit cmake pkgconfig python-dir pythonnative

LLVM_BUILD_DIR = "${S}/build"

OECMAKE_SOURCEPATH = ".."
OECMAKE_BUILDPATH = "build"
do_unpack() {
    tar -xf ${DL_DIR}/llvm-${PV}.src.tar.gz -C ${WORKDIR}
    tar -xf ${DL_DIR}/cfe-${PV}.src.tar.gz -C ${S}/tools
    mv ${S}/tools/cfe-${PV}.src ${S}/tools/clang
}

do_configure() {
    mkdir -p ${LLVM_BUILD_DIR}
    cd ${LLVM_BUILD_DIR}
    cmake \
                .. \
                -DCMAKE_INSTALL_PREFIX:PATH=/usr \
                -DCMAKE_INSTALL_SO_NO_EXE=0 \
                -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
                -DCMAKE_VERBOSE_MAKEFILE=1 \
                -Wno-dev
}

do_compile() {
    cd ${LLVM_BUILD_DIR}
    oe_runmake llvm-tblgen
    oe_runmake clang-tblgen
    oe_runmake
}

SYSROOT_PREPROCESS_FUNCS += "llvm_sysroot_preprocess"

llvm_sysroot_preprocess() {
    install -d ${SYSROOT_DESTDIR}${bindir}
    install -m 0755 ${LLVM_BUILD_DIR}/bin/llvm-config 
${SYSROOT_DESTDIR}${bindir}/llvm-config
    install -m 0755 ${LLVM_BUILD_DIR}/bin/llvm-as 
${SYSROOT_DESTDIR}${bindir}/llvm-as
    install -m 0755 ${LLVM_BUILD_DIR}/bin/llvm-link 
${SYSROOT_DESTDIR}${bindir}/llvm-link
    install -m 0755 ${LLVM_BUILD_DIR}/bin/clang 
${SYSROOT_DESTDIR}${bindir}/clang
}

FILES_${PN}-dev += " ${libdir}/BugpointPasses.so \
                     ${libdir}/LLVMHello.so \
                     ${libdir}/clang  \
                   "

Thanks
Yejun

-----Original Message-----
From: Randy MacLeod [mailto:[email protected]] 
Sent: Wednesday, June 25, 2014 3:07 AM
To: Guo, Yejun
Cc: [email protected]
Subject: Re: [yocto] how to set LICENSE for llvm in .bb file

On 14-04-03 04:54 AM, Guo, Yejun wrote:
> Thank you Ross, what I actually need is llvm+clang, it is a very good 
> reference for me to resolve the license issue, and the 
> SYSROOT_PREPROCESS_FUNCS knowledge to resolve llvm-config issue.
>
>
> Thanks
> Yejun

Yejun,

Did you ever produce a recipe to build clang?

Are you also trying to build all of YP with it?

A student that worked with me did some work to use clang to build yocto 
packages:

http://lists.openembedded.org/pipermail/openembedded-core/2013-November/086275.html

so I'd be interested in hearing about your work.

../Randy


>
>
> -----Original Message-----
> From: Burton, Ross [mailto:[email protected]]
> Sent: Thursday, April 03, 2014 2:01 PM
> To: Guo, Yejun
> Cc: [email protected]
> Subject: Re: [yocto] how to set LICENSE for llvm in .bb file
>
> On 3 April 2014 03:16, Guo, Yejun <[email protected]> wrote:
>> I'm adding package llvm which has its own license: University of 
>> Illinois/NCSA Open Source License, see at 
>> http://llvm.org/releases/3.4/LICENSE.TXT .  I tried something for LICENSE in 
>> .bb file, but is not recognized by the system. Could you please let me know 
>> how to set this value? Thanks a lot!
>
> LLVM is already packaged outside of oe-core:
>
> http://layers.openembedded.org/layerindex/branch/master/recipes/?q=llv
> m
>
> Ross
>


--
# Randy MacLeod. SMTS, Linux, Wind River
Direct: 613.963.1350
-- 
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to