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

Philip Balister philip at balister.org
Thu Oct 29 20:22:33 UTC 2015


On 10/29/2015 12:14 PM, Martin Jansa wrote:
> On Mon, Oct 26, 2015 at 04:24:46PM -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.
> 
> It fails to build on older Ubuntu-12.04 with:
> | checking whether GCC is new enough... no
> | configure: error:
> | The selected GCC C++ compiler is not new enough to build LLVM. Please upgrade
> | to GCC 4.7. You may pass --disable-compiler-version-checks to configure to
> | bypass these sanity checks.
> 
> Shouldn't it check the cross compiler instead of the native one from
> host? (in this build it was 5.2)


How about disabling the check with the flag the message mentions? We
aren't going to use this with any OE that has an older gcc.

Philip
> 
>> Signed-off-by: Philip Balister <philip at opensdr.com>
>> ---
>>  meta-oe/recipes-core/llvm/llvm.inc           |  3 +--
>>  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, 29 insertions(+), 2 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..7df4f4c 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"
>> 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