[oe] [meta-oe][PATCHv2] llvm: Add recipe for llvm-3.7.0.

Philip Balister philip at balister.org
Fri Oct 30 19:56:55 UTC 2015


On 10/30/2015 12:51 PM, Martin Jansa wrote:
> On Fri, Oct 30, 2015 at 11:13:28AM -0700, Philip Balister wrote:
>> From: Philip Balister <philip at opensdr.com>
>>
>> This version builds in parallel with the 3.3 recipe. I had to use the
>> mesa llvmpipe driver, which required updates to llvm and mesa before it
>> worked. With updates, I succesfully used the mesa llvmpipe driver.
>>
>>  * Move the licence file checksum to the version specific part of the recipe
>>  * License changed for 3.7.0 due to year change and adding related software
>>  * llvm source is now compressed with xz not gz.
>>  * Disable compiler version check since it checks the host compiler.
> 
> I made one more change in master-next already, I've renamed it to 
> llvm3.7_3.7.0.bb
> 
> I don't know if there will be 3.7.1 release, but I would assume that 3.7
> series will be ABI compatible, so users of this won't need to update
> DEPENDS when switching from 3.7.0 to 3.7.1 (if that exists).
> 
> OK?

I tried doing this as 3.7, but for some reason (possibly installing
something that required me to set the LLVM_VERSION to the full version,
not 3.7) led me to version it this way.

Check what gets installed as llvmconfig.x.y.x.

Philip

> 
>> Signed-off-by: Philip Balister <philip at opensdr.com>
>> ---
>>  meta-oe/recipes-core/llvm/llvm.inc           |  6 +++---
>>  meta-oe/recipes-core/llvm/llvm3.3_3.3.bb     |  4 ++++
>>  meta-oe/recipes-core/llvm/llvm3.7.0_3.7.0.bb | 24 ++++++++++++++++++++++++
>>  3 files changed, 31 insertions(+), 3 deletions(-)
>>  create mode 100644 meta-oe/recipes-core/llvm/llvm3.7.0_3.7.0.bb
>>
>> diff --git a/meta-oe/recipes-core/llvm/llvm.inc b/meta-oe/recipes-core/llvm/llvm.inc
>> index 04c87aa..c9a4ce4 100644
>> --- a/meta-oe/recipes-core/llvm/llvm.inc
>> +++ b/meta-oe/recipes-core/llvm/llvm.inc
>> @@ -23,7 +23,6 @@ HOMEPAGE = "http://llvm.org"
>>  # 3-clause BSD-like
>>  # University of Illinois/NCSA Open Source License
>>  LICENSE = "NCSA"
>> -LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
>>  
>>  DEPENDS = "libffi libxml2-native llvm-common"
>>  
>> @@ -32,7 +31,7 @@ inherit perlnative pythonnative autotools
>>  LLVM_RELEASE = "${PV}"
>>  LLVM_DIR = "llvm${LLVM_RELEASE}"
>>  
>> -SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
>> +SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.xz"
>>  S = "${WORKDIR}/llvm-${PV}.src"
>>  
>>  LLVM_BUILD_DIR = "${WORKDIR}/llvm-${PV}.build"
>> @@ -46,7 +45,8 @@ EXTRA_OECONF += "--disable-assertions \
>>                   --enable-libffi \
>>                   --enable-optimized \
>>                   --enable-shared \
>> -                 --enable-targets=host-only"
>> +                 --enable-targets=host-only \
>> +                 --disable-compiler-version-checks"
>>  EXTRA_OEMAKE += "REQUIRES_RTTI=1 VERBOSE=1"
>>  
>>  do_configure_prepend() {
>> diff --git a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
>> index 60a2221..f1562f6 100644
>> --- a/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
>> +++ b/meta-oe/recipes-core/llvm/llvm3.3_3.3.bb
>> @@ -1,8 +1,12 @@
>>  require llvm.inc
>>  
>> +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=d0a3ef0d3e0e8f5cf59e5ffc273ab1f8"
>> +
>>  DEPENDS += "zlib"
>>  EXTRA_OECONF += "--enable-zlib"
>>  
>> +# Overwrite SRC_URI from include file since older llvm uses .gz compression
>> +SRC_URI = "http://llvm.org/releases/${PV}/llvm-${PV}.src.tar.gz"
>>  SRC_URI += "file://Remove-error-output-from-configure-if-CFLAGS-is-set-.patch"
>>  
>>  SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
>> diff --git a/meta-oe/recipes-core/llvm/llvm3.7.0_3.7.0.bb b/meta-oe/recipes-core/llvm/llvm3.7.0_3.7.0.bb
>> new file mode 100644
>> index 0000000..813b185
>> --- /dev/null
>> +++ b/meta-oe/recipes-core/llvm/llvm3.7.0_3.7.0.bb
>> @@ -0,0 +1,24 @@
>> +require llvm.inc
>> +
>> +LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=4c0bc17c954e99fd547528d938832bfa"
>> +
>> +DEPENDS += "zlib"
>> +EXTRA_OECONF += "--enable-zlib"
>> +
>> +SRC_URI_append_libc-uclibc = " file://arm_fenv_uclibc.patch "
>> +
>> +SRC_URI[md5sum] = "b98b9495e5655a672d6cb83e1a180f8e"
>> +SRC_URI[sha256sum] = "ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153"
>> +
>> +PACKAGECONFIG ??= ""
>> +PACKAGECONFIG[r600] = "--enable-experimental-targets=R600,,,"
>> +
>> +PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
>> +
>> +# Fails to build with thumb-1 (qemuarm)
>> +# | {standard input}: Assembler messages:
>> +# | {standard input}:22: Error: selected processor does not support Thumb mode `stmdb sp!,{r0,r1,r2,r3,lr}'
>> +# | {standard input}:31: Error: lo register required -- `ldmia sp!,{r0,r1,r2,r3,lr}'
>> +# | {standard input}:32: Error: lo register required -- `ldr pc,[sp],#4'
>> +# | make[3]: *** [/home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/llvm3.3/3.3-r0/llvm-3.3.build/lib/Target/ARM/Release/ARMJITInfo.o] Error 1
>> +ARM_INSTRUCTION_SET = "arm"
>> -- 
>> 1.9.3
>>
>> -- 
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> 
> 




More information about the Openembedded-devel mailing list