Commit Graph

6 Commits

Author SHA1 Message Date
Ross Burton
9fab94b8c3 llvm: don't do out-of-tree builds manually
cmake.bbclass as of oe-core 783fb88 defaults to out-of-tree builds.  Use that
functionality directly to clean up the recipe.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Reviewed-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-01-22 12:22:35 +01:00
Martin Jansa
9ba440308e llvm2: add dependency on perl-native
* it fails without it:
  | -- Could NOT find Perl (missing:  PERL_EXECUTABLE)
  | CMake Error at tools/llvm-config/CMakeLists.txt:5 (message):
  |   Perl required but not found!

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-08-14 13:34:29 +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