The options added to EXTRA_OECONF in llvm3.inc were being overwritten
with --enable-zlib in llvm3.3_3.3.bb.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* use split for llvm3.* like we did for llvm2.*
* use PACKAGESPLITFUNCS instead of populate_packages_prepend
* improve regexp in PACKAGES_DYNAMIC
* append ${LLVM_RELEASE} to split package name, otherwise sstate
will complain about multiple recipes trying to install pkgdata
* split also -staticdev and -dbg libs, PN-dbg and PN-staticdev
were huge, let old PN-dbg/PN-staticdev to RDEPEND on splitted
packages
* mesa packages libegl-gallium, libgbm-gallium, mesa-driver-pipe-swrast,
mesa-driver-pipe-vmwgfx, mesa-driver-swrast, mesa-driver-vmwgfx are
now depending only on libllvm3.2-llvm-3.2 (>= 3.2) instead of main
llvm3.2 package, but for llvm-3* it's not big improvement
(installed size wise), because libLLVM-3.2.so was creating 99% of that
size.
* there are still some huge packages:
llvm2.8-dbg is huge because BUILD_SHARED_LIBS is disabled for 2.8
causing all binaries in ${bindir}/.debug to contain big
static libs
llvm2.9 is missing, because it has BUILD_SHARED_LIBS enabled and
unlike 3.* it doesn't build static versions at all unless
explicitly requested
51M llvm-test/llvm3.2/3.2-r0/packages-split/libllvm3.2-llvmselectiondag-staticdev
53M llvm-test/llvm2.8/2.8-r3/packages-split/llvm2.8-dev
54M llvm-test/llvm2.8/2.8-r3/packages-split/libllvm2.8-llvmanalysis-staticdev
55M llvm-test/llvm3.3/3.3-r0/packages-split/libllvm3.3-llvmselectiondag-staticdev
62M llvm-test/llvm3.2/3.2-r0/packages-split/libllvm3.2-llvmanalysis-staticdev
63M llvm-test/llvm3.3/3.3-r0/packages-split/libllvm3.3-llvmanalysis-staticdev
67M llvm-test/llvm2.9/2.9-r3/packages-split/llvm2.9-dbg
90M llvm-test/llvm3.2/3.2-r0/packages-split/llvm3.2-dbg
92M llvm-test/llvm3.3/3.3-r0/packages-split/llvm3.3-dbg
102M llvm-test/llvm2.8/2.8-r3/packages-split/libllvm2.8-llvmcodegen-staticdev
127M llvm-test/llvm3.2/3.2-r0/packages-split/libllvm3.2-llvmcodegen-staticdev
133M llvm-test/llvm3.3/3.3-r0/packages-split/libllvm3.3-llvmcodegen-staticdev
190M llvm-test/llvm3.2/3.2-r0/packages-split/libllvm3.2-llvm-3.2-dbg
207M llvm-test/llvm3.3/3.3-r0/packages-split/libllvm3.3-llvm-3.3-dbg
628M llvm-test/llvm2.8/2.8-r3/packages-split/llvm2.8-dbg
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* there is llvm-config in binconfig/LLVM_RELEASE
* this one was creating conflict between different llvm*-dev versions
installed on target:
./llvm2.9/2.9-r3/packages-split/llvm2.9-dev/usr/bin/llvm2.9/llvm-config
./llvm2.9/2.9-r3/packages-split/llvm2.9-dev/usr/bin/llvm-config
./llvm2.8/2.8-r3/packages-split/llvm2.8-dev/usr/bin/llvm2.8/llvm-config
./llvm2.8/2.8-r3/packages-split/llvm2.8-dev/usr/bin/llvm-config
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* unlike other recipes where we have a rule to keep only one
version, llvm is different so we'll keep .inc files
* llvm.inc is shared by all, llvm[23].inc are separated because
2.* is built with cmake and 3.* with automake
* fix staticdev packaging and move it to shared llvm.inc
FILES_${PN}-static-dev = "${libdir}/${LLVM_DIR}/*.a"
(it's staticdev not static-dev)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
arm_fenv_uclibc.patch was copied from llvm3.2 recipe.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The llvm-config2.x script doesn't get placed in the target sysroot
crosscripts directory otherwise.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The llvm-config script doesn't get placed in the target sysroot
crossscripts directory otherwise.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Setting LLVM_RELEASE is redundant as the version can be retrieved from
PV instead.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
arm_fenv_uclibc.patch was copied from llvm2.9 recipe.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This avoids QA Issue where tblgen has an rpath to lib in the shadow
build directory.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* fix parallel build
Doing a parallel build may result in the following:
*** No rule to make target `native/bin/tblgen', needed by `include/llvm/Intrinsics.gen.tmp'
Avoid this by building tblgen first before building the rest of llvm.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* now I see why it was there before, at least on arm it fails with:
| CMake Error at cmake/modules/LLVMConfig.cmake:127 (message):
| Library `X86' not found in list of llvm libraries.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* when building for qemux86* it tries to build X86 twice and fails with:
| CMake Error at lib/Target/CMakeLists.txt:24 (add_subdirectory):
| The binary directory
|
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-oe-linux/llvm2.9/2.9-r2.0/llvm-2.9/build/lib/Target/X86
|
| is already used to build a source directory. It cannot be used to build
| source directory
|
| /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-oe-linux/llvm2.9/2.9-r2.0/llvm-2.9/lib/Target/X86
|
| Specify a unique binary directory name.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* llvm is generic enough to be useful outside meta-java
e.g. we need it to enable llvmpipe galium driver in mesa
* imported without any modification (except indentation), all
credits go to Henning Heinold and Khem Raj for maintaining
it in meta-java
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* llvm is generic enough to be useful outside meta-java
e.g. we need it to enable llvmpipe galium driver in mesa
* imported without any modification (except indentation), all
credits go to Henning Heinold and Khem Raj for maintaining
it in meta-java
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>