Commit Graph

38 Commits

Author SHA1 Message Date
Joshua Lock efd3696e70 remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
2016-12-02 09:16:17 +01:00
Ross Burton 2318f8ee8b llvm: make llvm-config wrapper error message more understandable
The llvm-config wrapper has an error message that is quite abrupt, expand it so
it helps the user.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-05-27 15:38:22 +02:00
Martin Jansa 102e699864 llvm3.3: Disable auto -dbg packages
* set NOAUTOPACKAGEDEBUG to disable automatic creation of -dbg FILES split
* it doesn't work well with our do_split_packages calls and in the end breaks
  installing llvm3.3-dbg (e.g. when you enable IMAGE_GEN_DEBUGFS)
* it shows a bit ugly error where multiple messages are written over
  each other:
WARNING: [log_check] In line: [ConfiCollected errors:
]
WARNING: [log_check] luneos-dev-image: found an error message in the logfile (keyword 'Collected errors'):
[log_check] ConfiCollected errors:

ERROR:
ConfiCollected errors:

 * satisfy_dependencies_for: Cannot satisfy the following dependencies for llvm3.3-dbg:

 *      libllvm3.3-lto-dbg *    libllvm3.3-llvm-3.3-dbg *

 * opkg_install: Cannot install package llvm3.3-dbg.

guring gstreamer1.0-libav-dbg.

  but the main point is that do_split_packages returns some package
  names of packages which in the end aren't created, because there
  are no files in them after other -dbg packages eat them all due
  to automatic -dbg creation

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-05-10 20:18:56 +02:00
Jacob Stiffler d436de861d llvm: correct fix for the multilib libdir
* If llvm.inc is used for native and nativesdk class packages, the
  resulting llvm-config is broken since "${base_libdir}" is prefixed
  with the full patch to sysroot
* Replace "/lib" with "/${baselib}" instead of "${base_libdir}" as
  "${base_libdir}" is the full path and "${baselib}" is the name of
  the multilib directory.

Signed-off-by: Jacob Stiffler <j-stiffler@ti.com>
Acked-by: Denys Dmytriyenko <denys@ti.com>
Tested-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-04-21 21:33:19 +02:00
Martin Jansa 4954e3116e llvm: move BugpointPasses.so and LLVMHello.so to separate packages
* keep them RRECOMMENDed from -dev
* fixes following QA error:
  NOTE: recipe llvm3.3-3.3-r0: task do_package_qa: Started
  ERROR: QA Issue:
    -dev package contains non-symlink .so: llvm3.3-dev path 'llvm3.3/3.3-r0/packages-split/llvm3.3-dev/usr/lib/llvm3.3/LLVMHello.so'
    -dev package contains non-symlink .so: llvm3.3-dev path 'llvm3.3/3.3-r0/packages-split/llvm3.3-dev/usr/lib/llvm3.3/BugpointPasses.so' [dev-elf]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-25 17:45:41 +01:00
Martin Jansa f2208dc106 llvm.inc: fix PACKAGES_DYNAMIC
* all dynamically created packages start with libllvm${LLVM_RELEASE}-
  libllvm${LLVM_RELEASE}-%s-dbg
  libllvm${LLVM_RELEASE}-%s
  libllvm${LLVM_RELEASE}-%s-staticdev

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-10-13 12:27:51 +02:00
Martin Jansa e836f8f936 gegl, crash, libsecret, mpg123, tinymembench, gammu, mosh, llvm3.3, breakpad, php, mozjs, libopus: disable thumb where it fails for qemuarm
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-07-16 21:09:05 +02:00
Andre McCurdy befc528b8c llvm3.3: fix error output from configure if CFLAGS is set
Error is cosmetic, but distracting. Backport upstream fix.

  | .../build-vbox32/tmp/work/core2-32-rdk-linux-musl/llvm3.3/3.3-r0/llvm-3.3.src/configure: line 1990: -O2: command not found
  | .../build-vbox32/tmp/work/core2-32-rdk-linux-musl/llvm3.3/3.3-r0/llvm-3.3.src/configure: line 1991: -O2: command not found

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-23 12:43:11 +02:00
Yi Zhao af7112d00f llvm: fix libdir for multilib
Fix the hardcoded libdir in llvm-config and Makefile.config

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-06-08 14:15:24 +02:00
Martin Jansa d241efeef8 llvm: drop 2.8 and 2.9 versions
* mesa is now using 3.3 by default and I don't know about any llvm2* users

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-13 23:28:03 +02:00
Martin Jansa b4a886b52a llvm: set INSANE_SKIP only for one explicit package
* now when insane_qa is moved to separate task, we cannot set INSANE_SKIP in do_package task

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-07-22 12:09:09 +02:00
Khem Raj d47fe965e1 llvm3: Fix build when S != B
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-05-03 20:47:03 +02:00
Matthieu CRAPET c95e155780 recipes: convert remaining SUMMARY/DESCRIPTION cosmetic issues
Changes:
- rename SUMMARY with length > 80 to DESCRIPTION
- rename DESCRIPTION with length < 80 to (non present tag) SUMMARY
- drop final point character at the end of SUMMARY string
- remove trailing whitespace of SUMMARY line

Note: don't bump PR

Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-02-23 23:20:02 +01:00
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 6daf75e4e9 Update after toplevel LICENSE file checksum change
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-01-04 08:47:18 +01:00
Martin Jansa f2206daef2 llvm3.2: drop this version
* 3.3 is used by default mesa config, 2.8 is used in meta-java, keep 2.9 as last in 2*

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-10-28 09:22:59 +01:00
Jonathan Liu 9dd25136e8 llvm: include /usr/lib/libLLVM-*.so in lib package
/usr/lib/libLLVM-*.so was being split into the dev package but it should
be in the lib package otherwise software that depends on the LLVM shared
library will be unable to to locate it when the dev package isn't
installed.

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-08-23 19:21:56 +02: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
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