20 Commits

Author SHA1 Message Date
Jonathan Liu
a87cedaca3 llvm3.3: append --enable-zlib to EXTRA_OECONF instead of overwriting
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>
2013-07-20 17:03:29 +02:00
Martin Jansa
c383d62309 llvm3.3: Add zlib dependency and explicitly enable it
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-12 12:12:09 +02:00
Martin Jansa
654bcebd18 llvm3.3: Add zlib dependency and explicitly enable it
* it's autodetected from sysroot

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-12 12:06:01 +02:00
Martin Jansa
b95f9d5f58 llvm: split packages a bit more
* 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>
2013-07-12 12:06:01 +02:00
Martin Jansa
fc7eda558f llvm: use newer class-native overrides instead of virtclass
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-07-12 12:06:01 +02:00
Martin Jansa
1295dedccd llvm2: don't install llvm-config to bindir
* 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>
2013-07-12 12:06:01 +02:00
Martin Jansa
71e91988bb llvm: Consolidate .inc files
* 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>
2013-07-12 12:06:00 +02:00
Jonathan Liu
26366c8101 llvm3.3: new recipe
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>
2013-06-20 12:29:56 +02:00
Jonathan Liu
4704e25200 llvm: move cross script install to separate sysroot preprocess function
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>
2013-06-20 12:29:56 +02:00
Jonathan Liu
90e34fa05a llvm-common: move cross script install to sysroot preprocess function
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>
2013-06-20 12:29:56 +02:00
Jonathan Liu
76187e9a79 llvm3.2: replace LLVM_RELEASE with PV
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>
2013-06-20 12:29:56 +02:00
Jonathan Liu
5be2e7a096 llvm3.2: new recipe
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>
2013-06-12 16:23:22 +02:00
Jonathan Liu
8b9c1d2213 llvm: disable build rpath
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>
2013-06-12 16:23:22 +02:00
Jonathan Liu
a3ccaa1009 llvm2.9: allow parallel native make
* 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>
2013-06-12 16:23:22 +02:00
Martin Jansa
69400d286b llvm2.9: add LLVM_EXTRA_ARCH to enable X86 unless building for x86
* 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>
2013-04-29 10:37:32 +02:00
Martin Jansa
5399efdc66 llvm2.9: remove X86 from LLVM_TARGETS_TO_BUILD
* 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>
2013-04-26 19:40:50 +02:00
Martin Jansa
9d68ba4fc2 llvm2.9: try to fix thumb build and disable it after failure
* khem: could you check what I'm doing wrong? This is out of my league..

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-26 10:00:32 +02:00
Martin Jansa
87ccfd07de llvm2.9: fix build with gcc-4.7
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-26 10:00:32 +02:00
Martin Jansa
265e58da86 llvm2.9: Import from meta-java
* 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>
2013-04-26 10:00:32 +02:00
Martin Jansa
334f77d587 llvm2.8: Import from meta-java
* 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>
2013-04-19 02:45:27 +02:00