llvm: Add recipe for 5.0
v2 cover llvm: Add recipe for 5.0
Bring in ninja recipe from meta-oe since llvm is using it
The following changes since commit 28fc6ba761ed4a47efa7c43e7f7dff5e2fe72b5e:
core-image-minimal-initramfs: use initramfs-framework by default (2017-07-27 22:20:16 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib kraj/llvm
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=kraj/llvm
Khem Raj (2):
llvm: Add recipe for 5.0
ninja: Add recipe
...LibraryInfo-Undefine-libc-functions-if-th.patch | 93 ++++++++++++ .../0002-llvm-allow-env-override-of-exe-path.patch | 39 +++++ meta/recipes-devtools/llvm/llvm_git.bb | 169 +++++++++++++++++++++ meta/recipes-devtools/ninja/ninja_1.7.2.bb | 29 ++++ 4 files changed, 330 insertions(+) create mode 100644 meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch create mode 100644 meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch create mode 100644 meta/recipes-devtools/llvm/llvm_git.bb create mode 100644 meta/recipes-devtools/ninja/ninja_1.7.2.bb
Signature · 1 line
2.13.3
PATCH v2 1/2 llvm: Add recipe for 5.0
Needed by mesa
Fixes
[YOCTO #11529]
--- ...LibraryInfo-Undefine-libc-functions-if-th.patch | 93 ++++++++++++ .../0002-llvm-allow-env-override-of-exe-path.patch | 39 +++++ meta/recipes-devtools/llvm/llvm_git.bb | 169 +++++++++++++++++++++ 3 files changed, 301 insertions(+) create mode 100644 meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch create mode 100644 meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch create mode 100644 meta/recipes-devtools/llvm/llvm_git.bb
meta/recipes-devtools/llvm/llvm/0001-llvm-TargetLibraryInfo-Undefine-libc-functions-if-th.patch new file +93 -0
@@ -0,0 +1,93 @@ +From 28293e48cf1a52004c6a78de448718441f9e05f9 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Sat, 21 May 2016 00:33:20 +0000 +Subject: [PATCH 1/2] llvm: TargetLibraryInfo: Undefine libc functions if they + are macros + +musl defines some functions as macros and not inline functions +if this is the case then make sure to undefine them + +Signed-off-by: Khem Raj <[email protected]> +--- +Upstream-Status: Pending + + include/llvm/Analysis/TargetLibraryInfo.def | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/include/llvm/Analysis/TargetLibraryInfo.def b/include/llvm/Analysis/TargetLibraryInfo.def +index 9cbe917c146..aff8419cf54 100644 +--- a/include/llvm/Analysis/TargetLibraryInfo.def ++++ b/include/llvm/Analysis/TargetLibraryInfo.def +@@ -656,6 +656,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl") + TLI_DEFINE_ENUM_INTERNAL(fopen) + TLI_DEFINE_STRING_INTERNAL("fopen") + /// FILE *fopen64(const char *filename, const char *opentype) ++#ifdef fopen64 ++#undef fopen64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(fopen64) + TLI_DEFINE_STRING_INTERNAL("fopen64") + /// int fprintf(FILE *stream, const char *format, ...); +@@ -691,6 +694,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek") + /// int fseeko(FILE *stream, off_t offset, int whence); + TLI_DEFINE_ENUM_INTERNAL(fseeko) + TLI_DEFINE_STRING_INTERNAL("fseeko") ++#ifdef fseeko64 ++#undef fseeko64 ++#endif + /// int fseeko64(FILE *stream, off64_t offset, int whence) + TLI_DEFINE_ENUM_INTERNAL(fseeko64) + TLI_DEFINE_STRING_INTERNAL("fseeko64") +@@ -701,6 +707,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos") + TLI_DEFINE_ENUM_INTERNAL(fstat) + TLI_DEFINE_STRING_INTERNAL("fstat") + /// int fstat64(int filedes, struct stat64 *buf) ++#ifdef fstat64 ++#undef fstat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(fstat64) + TLI_DEFINE_STRING_INTERNAL("fstat64") + /// int fstatvfs(int fildes, struct statvfs *buf); +@@ -716,6 +725,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell") + TLI_DEFINE_ENUM_INTERNAL(ftello) + TLI_DEFINE_STRING_INTERNAL("ftello") + /// off64_t ftello64(FILE *stream) ++#ifdef ftello64 ++#undef ftello64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(ftello64) + TLI_DEFINE_STRING_INTERNAL("ftello64") + /// int ftrylockfile(FILE *file); +@@ -836,6 +848,9 @@ TLI_DEFINE_STRING_INTERNAL("logl") + TLI_DEFINE_ENUM_INTERNAL(lstat) + TLI_DEFINE_STRING_INTERNAL("lstat") + /// int lstat64(const char *path, struct stat64 *buf); ++#ifdef lstat64 ++#undef lstat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(lstat64) + TLI_DEFINE_STRING_INTERNAL("lstat64") + /// void *malloc(size_t size); +@@ -1055,6 +1070,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf") + TLI_DEFINE_ENUM_INTERNAL(stat) + TLI_DEFINE_STRING_INTERNAL("stat") + /// int stat64(const char *path, struct stat64 *buf); ++#ifdef stat64 ++#undef stat64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(stat64) + TLI_DEFINE_STRING_INTERNAL("stat64") + /// int statvfs(const char *path, struct statvfs *buf); +@@ -1184,6 +1202,9 @@ TLI_DEFINE_STRING_INTERNAL("times") + TLI_DEFINE_ENUM_INTERNAL(tmpfile) + TLI_DEFINE_STRING_INTERNAL("tmpfile") + /// FILE *tmpfile64(void) ++#ifdef tmpfile64 ++#undef tmpfile64 ++#endif + TLI_DEFINE_ENUM_INTERNAL(tmpfile64) + TLI_DEFINE_STRING_INTERNAL("tmpfile64") + /// int toascii(int c); +-- +2.13.1 +
meta/recipes-devtools/llvm/llvm/0002-llvm-allow-env-override-of-exe-path.patch new file +39 -0
@@ -0,0 +1,39 @@ +From d776487bac17650704614248d19d1e6b35775001 Mon Sep 17 00:00:00 2001 +From: Martin Kelly <[email protected]> +Date: Fri, 19 May 2017 00:22:57 -0700 +Subject: [PATCH 2/2] llvm: allow env override of exe path + +When using a native llvm-config from inside a sysroot, we need llvm-config to +return the libraries, include directories, etc. from inside the sysroot rather +than from the native sysroot. Thus provide an env override for calling +llvm-config from a target sysroot. + +Signed-off-by: Martin Kelly <[email protected]> +Signed-off-by: Khem Raj <[email protected]> +--- +Upstream-Status: Pending + + tools/llvm-config/llvm-config.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp +index 08b096afb05..d8d7742744e 100644 +--- a/tools/llvm-config/llvm-config.cpp ++++ b/tools/llvm-config/llvm-config.cpp +@@ -225,6 +225,13 @@ Typical components:\n\ + + /// \brief Compute the path to the main executable. + std::string GetExecutablePath(const char *Argv0) { ++ // Hack for Yocto: we need to override the root path when we are using ++ // llvm-config from within a target sysroot. ++ const char *Sysroot = std::getenv("YOCTO_ALTERNATE_EXE_PATH"); ++ if (Sysroot != nullptr) { ++ return Sysroot; ++ } ++ + // This just needs to be some symbol in the binary; C++ doesn't + // allow taking the address of ::main however. + void *P = (void *)(intptr_t)GetExecutablePath; +-- +2.13.1 +
meta/recipes-devtools/llvm/llvm_git.bb new file +169 -0
169 lines not on this page · raw message
Signature · 1 line
2.13.3
PATCH v2 2/2 ninja: Add recipe
In reply to Khem Rajllvm is using it, therefore move it from meta-oe
--- meta/recipes-devtools/ninja/ninja_1.7.2.bb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta/recipes-devtools/ninja/ninja_1.7.2.bb
meta/recipes-devtools/ninja/ninja_1.7.2.bb new file +29 -0
@@ -0,0 +1,29 @@ +SUMMARY = "Ninja is a small build system with a focus on speed." +HOMEPAGE = "http://martine.github.com/ninja/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" + +DEPENDS = "re2c-native ninja-native" + +SRCREV = "717b7b4a31db6027207588c0fb89c3ead384747b" + +SRC_URI = "git://github.com/martine/ninja.git;branch=release" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile_class-native() { + ./configure.py --bootstrap +} + +do_compile() { + ./configure.py + ninja +} + +do_install() { + install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja +} + +BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.13.3
Re: [PATCH 2/2] ninja: Add recipe
Quoted 14 lines · Khem Raj
llvm is using it, therefore move it from meta-oe
Signed-off-by Khem Raj <[email protected]>--- meta/recipes-devtools/ninja/ninja_1.7.2.bb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta/recipes-devtools/ninja/ninja_1.7.2.bbmeta/recipes-devtools/ninja/ninja_1.7.2.bb new file +0
-0
meta/recipes-devtools/ninja/ninja_1.7.2.bb line 6
Quoted 6 lines
meta/recipes-devtools/ninja/ninja_1.7.2.bb new file +6
-0@@ -0,0 +1,29 @@ +SUMMARY = "Ninja is a small build system with a focus on speed." +HOMEPAGE = "http://martine.github.com/ninja/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" + +DEPENDS = "re2c-native ninja-native"
Should the re2c recipe also be moved to oe-core?
Quoted 30 lines
meta/recipes-devtools/ninja/ninja_1.7.2.bb new file +22
-1+SRCREV = "717b7b4a31db6027207588c0fb89c3ead384747b" + +SRC_URI = "git://github.com/martine/ninja.git;branch=release" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile_class-native() { + ./configure.py --bootstrap +} + +do_compile() { + ./configure.py + ninja +} + +do_install() { + install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja +} + +BBCLASSEXTEND = "native nativesdk" --2.13.3
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [PATCH 2/2] ninja: Add recipe
Quoted 9 lines · Andre McCurdy
Quoted 8 lines · Khem Raj
llvm is using it, therefore move it from meta-oe
Signed-off-by Khem Raj <[email protected]>--- meta/recipes-devtools/ninja/ninja_1.7.2.bb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta/recipes-devtools/ninja/ninja_1.7.2.bb
Quoted 14 lines
meta/recipes-devtools/ninja/ninja_1.7.2.bb line 6
Quoted 12 lines
meta/recipes-devtools/ninja/ninja_1.7.2.bb new file +6
-0@@ -0,0 +1,29 @@ +SUMMARY = "Ninja is a small build system with a focus on speed." +HOMEPAGE = "http://martine.github.com/ninja/" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" + +DEPENDS = "re2c-native ninja-native"Should the re2c recipe also be moved to oe-core?
yes indeed
Quoted 31 lines
Quoted 31 lines
meta/recipes-devtools/ninja/ninja_1.7.2.bb new file +22
-1+SRCREV = "717b7b4a31db6027207588c0fb89c3ead384747b" + +SRC_URI = "git://github.com/martine/ninja.git;branch=release" + +S = "${WORKDIR}/git" + +do_configure[noexec] = "1" + +do_compile_class-native() { + ./configure.py --bootstrap +} + +do_compile() { + ./configure.py + ninja +} + +do_install() { + install -D -m 0755 ${S}/ninja ${D}${bindir}/ninja +} + +BBCLASSEXTEND = "native nativesdk" --2.13.3
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core