summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvm: Fix wrong code generation when floor() libm function is calledpyroKhem Raj2017-09-213-4/+157
| | | | | | | see https://reviews.llvm.org/D38050 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nativesdk-clang-glue: Disable debug packagingOtavio Salvador2017-08-251-0/+1
| | | | | | | | | | | | | | | | This package does not provide binary files and is just to glue the paths for proper use by Clang so disabling debug avoids the packaging error we were seeing: ,---- | ERROR: nativesdk-clang-glue-4.0.0-r0 do_package: File | './usr/lib/debug' cannot be packaged into 'nativesdk-clang-glue-dbg' | because its parent directory structure does not exist. One of its | parent directories is a symlink whose target directory is not included | in the package. `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* nativesdk-clang-glue: Fix indenting of codeOtavio Salvador2017-08-251-4/+4
| | | | | | We were mixing tabs and spaces. Now we moved to use spaces only. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
* Merge remote-tracking branch 'origin/master' into pyroKhem Raj2017-05-181-0/+1
|\
| * clang: Handle return the clang arch for arm correctlyKhem Raj2017-05-181-0/+1
| | | | | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | Merge remote-tracking branch 'origin/master' into pyroKhem Raj2017-05-181-22/+18
|\|
| * clang: Fix get_clang_arch() to address OE target arch combosKhem Raj2017-05-181-15/+10
| | | | | | | | | | | | Use regular expressions for mapping to a llvm arch Signed-off-by: Khem Raj <raj.khem@gmail.com>
| * clang: Change LLVM_TARGETS_TO_BUILD to build everything by defaultKhem Raj2017-05-181-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As described in issue #33, LLVM_TARGETS_TO_BUILD should include build host as well as target arches and that fails since we build clang-native once for all due to its inherent cross compilable nature if one needs to limit the targets please set it in local.conf or via a bbappend in own layer e.g. LLVM_TARGETS_TO_BUILD = "ARM" if you only need 32bit arm or LLVM_TARGETS_TO_BUILD = "ARM;Aarch64" in case of both arm 32bit and 64bit fixes #33 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | Merge remote-tracking branch 'origin/master' into pyroKhem Raj2017-05-162-5/+6
|\|
| * clang/llvm: Upgrade to 4.0.1 releaseKhem Raj2017-05-161-5/+5
| | | | | | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
| * clang: update for cmake changes in oe-coreRoss Burton2017-05-051-6/+1
| | | | | | | | | | | | | | | | | | | | | | cmake.bbclass in oe-core master (soon to be Pyro) doesn't set CMAKE_CROSSCOMPILING unconditionally, but only when it's actually cross-compiling. This means the clang-native build doesn't think it's cross-compiling, so the recipe can be simplified. Signed-off-by: Ross Burton <ross.burton@intel.com>
| * compiler-rt: Disable xray for nowKhem Raj2017-04-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fails on some arches e.g. rpi3 /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:88:33: error: unknown type name 'L' std::lock_guard<std::mutex> L(LogMutex); ^ /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:182:26: error: no member named 'mutex' in namespace 'std' std::lock_guard<std::mutex> L(LogMutex); ~~~~~^ /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/compiler-rt/4.0.0+gitAUTOINC+1fdc27db84-r0/git/lib/xray/xray_inmemory_log.cc:182:33: error: unknown type name 'L' std::lock_guard<std::mutex> L(LogMutex); ^ Signed-off-by: Khem Raj <raj.khem@gmail.com>
* | clang: update for cmake changes in oe-coreRoss Burton2017-05-141-6/+1
|/ | | | | | | | | | | cmake.bbclass in oe-core master (soon to be Pyro) doesn't set CMAKE_CROSSCOMPILING unconditionally, but only when it's actually cross-compiling. This means the clang-native build doesn't think it's cross-compiling, so the recipe can be simplified. Signed-off-by: Ross Burton <ross.burton@intel.com>
* clang,llvm: update to latest on 4.0 releaseKhem Raj2017-04-141-2/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nonclangable: Add libdc1394Khem Raj2017-03-271-0/+6
| | | | | | Uses VLAs Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: remove binutils from DEPENDS.Ismo Puustinen2017-03-231-1/+3
| | | | | | | Binutils is not needed during compile time. Add it instead to RRECOMMENDS_clang. Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
* lldb: Fix build with muslKhem Raj2017-03-222-0/+31
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: Apply needed patches to llvm/clangKhem Raj2017-03-221-0/+17
| | | | | | helps in building lldb for musl Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass: Disable llvm-libunwind for mipsKhem Raj2017-03-231-0/+1
| | | | | | Its not ported to mips yet Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass: Add CCACHE prefix and use HOST_PREFIX instead of TARGET_PREFIXKhem Raj2017-03-211-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: allow override for not building all targetsMartin Kelly2017-03-211-6/+18
| | | | | | | | | | | | | Allow the user to not build all clang target architectures (by default, all architectures are built). This speeds up build times and reduces image size. Note, however, that the set of architectures built must still be the same between the native and cross clang, because the native llvm-config reports --targets-built according to what "clang-native" supports. Thus when we have target libraries that are a subset of native libraries, the cross llvm-config will fail because it can't find some of the libraries that the native llvm-config finds. Signed-off-by: Martin Kelly <mkelly@xevo.com>
* clang: build libLLVM.soMartin Kelly2017-03-213-9/+18
| | | | | | | It's useful to have a shared library version of LLVM for programs that require it. Signed-off-by: Martin Kelly <mkelly@xevo.com>
* clang: fix the llvm-common wrapperMartin Kelly2017-03-213-14/+70
| | | | | | | | | | | | | | | | | | | | | | The llvm-common wrapper refers to the LLVM_WANT_RELEASE variable, which is not actually exported, so it fails. In addition, meta-clang does not support multiple side-by-side LLVM versions anyway, so the logic isn't really needed. After fixing these issues, I discovered that llvm-config doesn't cross-compile properly without more extensive wrapping. Specifically, the native llvm-config supplies --libdir, and other arguments relative to its current executable path, so it points into the native sysroot rather than the target sysroot. In addition, it supplies the native rather than the target compile CFLAGS, LDFLAGS, etc. Fix these issues by doing the following: - Alter the llvm-config to intercept certain flags, such as --cflags, while passing on other flags to the native llvm-config. - Patch llvm-config to be able to specify an alternate root location on which to base --libdir, etc. in order to optionally point into the target sysroot when needed. Signed-off-by: Martin Kelly <mkelly@xevo.com>
* clang: remove commented-out codeMartin Kelly2017-03-211-15/+0
| | | | Signed-off-by: Martin Kelly <mkelly@xevo.com>
* clang: correct spacing issueMartin Kelly2017-03-211-2/+2
| | | | Signed-off-by: Martin Kelly <mkelly@xevo.com>
* clang/compiler-rt: Fix nativesdk builds break compiler-rt dep for clangKhem Raj2017-03-162-1/+6
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add clang runtime to dependencies when toolchain is clangKhem Raj2017-03-165-2/+14
| | | | | | A step towards unplugging gcc runtime Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Fix cross compiler search path for compiler-rtKhem Raj2017-03-162-0/+42
| | | | | | | | It was looking into compiler install area but for OE cross compiling scenario the compiler runtime is installed into target sysroot, Fix clang to look into sysroot Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Remove INHIBIT_DEFAULT_DEPSKhem Raj2017-03-165-14/+8
| | | | | | | Depend on clang for build runtime libs Build gobject-introspection for armv7 using gcc Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang/compiler-rt: Use compiler-rt and libcxx as default runtime for target ↵Khem Raj2017-03-165-49/+78
| | | | | | | | clang One can still use -stdlib=libstdc++ and -rtlib=libgcc to use gcc runtime Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lld: Add recipe for llvm linker (lld)Khem Raj2017-03-142-0/+50
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nonclangable: Remove packages which are now compilable with clang-4.0.0Khem Raj2017-03-131-10/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* m4: Fix build with clang especially on armv7Khem Raj2017-03-133-1/+22
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Disable using shared libs for llvm on targetKhem Raj2017-03-131-1/+2
| | | | | | Slows down compilation by 6x Signed-off-by: Khem Raj <raj.khem@gmail.com>
* nonclangable: Disable intrinsics for sqlite3Khem Raj2017-03-131-0/+5
| | | | | | | when building with clang it uses compiler-rt intrinsics which are not available in libgcc and link fails Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Fix install locations where clang looks for itKhem Raj2017-03-092-7/+8
| | | | | | | | | | This fixes building with clang using compiler-rt on target clang++ --rtlib compiler-rt --stdlib libc++ -lunwind hello.cpp would compile and run on target Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Use TATGET_SYS instead of just TARGETKhem Raj2017-03-081-1/+1
| | | | | | | | | | | We need full triplet for it to use right linker/assembler for complete compile step, otherwise it invokes gcc to do linking and that confuses options e.g. pasing -Wa,--noexecstack gets passed to gcc during link, this is a gnu assembler option gcc: error: unrecognized command line option ‘--noexecstack’; did you mean ‘--no-backtrace’? Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Add dependency on native pythonKhem Raj2017-03-081-1/+1
| | | | | | | | Fixes | /bin/sh: PYTHON_EXECUTABLE-NOTFOUND: command not found Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Disable XRAY on muslKhem Raj2017-03-081-2/+1
| | | | | | | XRAY depends on common pieces of sanitizers which need obstack stuff from glibc so we are going to disable everything thats sanitizers Signed-off-by: Khem Raj <raj.khem@gmail.com>
* llvm,libunwind: Update to 4.0.0-rc4Khem Raj2017-03-071-2/+2
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add m4 to non-clangable listKhem Raj2017-03-041-0/+1
| | | | | | regressed with clang 4.0.0 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang/llvm: Update to 4.0.0 rc3Khem Raj2017-03-031-3/+3
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Configure for target correctlyKhem Raj2017-02-281-0/+1
| | | | | | | | | | | Fixes #26 Configuring a default target to match the target is needed since we are cross building clang to run on target by default it chooss the build host as target Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to latest on 4.0 release candidateKhem Raj2017-02-271-4/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* lldb: Add recipeKai Ruhnau2017-02-272-0/+52
| | | | | | | lldb is llvm based native debugger Signed-off-by: Kai Ruhnau <kai.ruhnau@target-sg.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
* ncurses: fix build errors in some clang configurationsDaniel McGregor2017-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | ncurses' configure script strips the arguments from $CC when checking if -c and -o can be used together. Clang then doesn't have a default sysroot argument to use, so it checks the host for the existence of certain feature headers in libc. These checks fail, and it assumes that clang can't handle -o and -c together. Example config.log snippet: configure:2524: checking whether arm-poky-linux-gnueabi-clang understands -c and -o together configure:2540: arm-poky-linux-gnueabi-clang -c conftest.c -o conftest2.o >&5 In file included from conftest.c:1: In file included from /usr/include/stdio.h:27: In file included from /usr/include/features.h:399: /usr/include/gnu/stubs.h:7:11: fatal error: 'gnu/stubs-32.h' file not found # include <gnu/stubs-32.h> ^ 1 error generated. configure:2543: $? = 1 configure:2562: result: no Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
* nonclangable: use gcc for openjdk and openjreDaniel McGregor2017-02-131-0/+2
| | | | | | | | OpenJDK normally supports clang, but not currentlty with the settings in meta-java. More work is needed there, but for now allow them to build. Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
* clang: set target DEPENDS for gcc TOOLCHAINMikko Ylinen2017-02-131-1/+1
| | | | | | | | | | | With the layer defaults (TOOLCHAIN ??= gcc) clang for target fails to build due to missing compilers in the native (recipe specific) sysroot. Set the necessary additional DEPENDS if TOOLCHAIN = gcc to get the compilers installed. Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
* llvm-libunwind: Fix license checksumKhem Raj2017-02-111-1/+1
| | | | | | Year changed to 2017 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* compiler-rt: Fix build with mips/mips64Khem Raj2017-02-112-0/+45
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>