Signed-off-by: Djordje Senicic <[email protected]>
---
 ...p-compilation-of-native-helper-tools.patch | 95 +++++++++++++++++++
 recipes-devtools/glow/glow_git.bb             | 48 +++++++---
 recipes-devtools/glow/llvm-glow_git.bb        | 10 +-
 3 files changed, 137 insertions(+), 16 deletions(-)
 create mode 100644 
recipes-devtools/glow/files/0002-Skip-compilation-of-native-helper-tools.patch

diff --git 
a/recipes-devtools/glow/files/0002-Skip-compilation-of-native-helper-tools.patch
 
b/recipes-devtools/glow/files/0002-Skip-compilation-of-native-helper-tools.patch
new file mode 100644
index 0000000..e60c399
--- /dev/null
+++ 
b/recipes-devtools/glow/files/0002-Skip-compilation-of-native-helper-tools.patch
@@ -0,0 +1,95 @@
+From 923f66a209c329b2d5ab245e1c02f91fa6705d4c Mon Sep 17 00:00:00 2001
+From: Djordje Senicic <[email protected]>
+Date: Thu, 1 Aug 2019 04:58:24 -0400
+Subject: [PATCH] Skip compilation of native helper tools
+
+Signed-off-by: Djordje Senicic <[email protected]>
+---
+ lib/Backends/CPU/CMakeLists.txt    |  2 +-
+ lib/Backends/OpenCL/CMakeLists.txt | 12 ++++++------
+ lib/Graph/CMakeLists.txt           |  3 +--
+ lib/IR/CMakeLists.txt              |  3 +--
+ 4 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/lib/Backends/CPU/CMakeLists.txt b/lib/Backends/CPU/CMakeLists.txt
+index 1e734539..0d5c5e60 100644
+--- a/lib/Backends/CPU/CMakeLists.txt
++++ b/lib/Backends/CPU/CMakeLists.txt
+@@ -53,7 +53,7 @@ add_custom_command(
+ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/glow/CPU)
+ add_custom_command(
+     OUTPUT ${CMAKE_BINARY_DIR}/glow/CPU/libjit_bc.inc
+-    COMMAND include-bin "${CMAKE_BINARY_DIR}/CPU/libjit.bc" 
"${CMAKE_BINARY_DIR}/glow/CPU/libjit_bc.inc"
++    COMMAND ${GLOW_BINARY_DIR}/bin/include-bin 
"${CMAKE_BINARY_DIR}/CPU/libjit.bc" "${CMAKE_BINARY_DIR}/glow/CPU/libjit_bc.inc"
+     DEPENDS ${GLOW_BINARY_DIR}/CPU/libjit.bc
+     WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}")
+ 
+diff --git a/lib/Backends/OpenCL/CMakeLists.txt 
b/lib/Backends/OpenCL/CMakeLists.txt
+index fd9f965c..e37b4b35 100644
+--- a/lib/Backends/OpenCL/CMakeLists.txt
++++ b/lib/Backends/OpenCL/CMakeLists.txt
+@@ -8,25 +8,25 @@ add_custom_target(make_opencl_dir
+ 
+ add_custom_command(
+   OUTPUT "${OpenCL_DIR}/kernels.cl.inc"
+-  COMMAND include-bin
++  COMMAND ${GLOW_BINARY_DIR}/bin/include-bin
+           "${CMAKE_CURRENT_SOURCE_DIR}/kernels.cl"
+           "${OpenCL_DIR}/kernels.cl.inc"
+-  DEPENDS make_opencl_dir include-bin 
"${CMAKE_CURRENT_SOURCE_DIR}/kernels.cl")
++  DEPENDS make_opencl_dir ${GLOW_BINARY_DIR}/bin/include-bin 
"${CMAKE_CURRENT_SOURCE_DIR}/kernels.cl")
+ 
+ add_custom_command(
+   OUTPUT "${OpenCL_DIR}/kernels_fwd_conv.cl.inc"
+-  COMMAND include-bin
++  COMMAND ${GLOW_BINARY_DIR}/bin/include-bin
+           "${CMAKE_CURRENT_SOURCE_DIR}/kernels_fwd_conv.cl"
+           "${OpenCL_DIR}/kernels_fwd_conv.cl.inc"
+-  DEPENDS make_opencl_dir include-bin
++  DEPENDS make_opencl_dir ${GLOW_BINARY_DIR}/bin/include-bin
+           "${CMAKE_CURRENT_SOURCE_DIR}/kernels_fwd_conv.cl")
+ 
+ add_custom_command(
+   OUTPUT "${OpenCL_DIR}/kernels_fwd_quantized_conv.cl.inc"
+-  COMMAND include-bin
++  COMMAND ${GLOW_BINARY_DIR}/bin/include-bin
+           "${CMAKE_CURRENT_SOURCE_DIR}/kernels_fwd_quantized_conv.cl"
+           "${OpenCL_DIR}/kernels_fwd_quantized_conv.cl.inc"
+-  DEPENDS make_opencl_dir include-bin
++  DEPENDS make_opencl_dir ${GLOW_BINARY_DIR}/bin/include-bin
+           "${CMAKE_CURRENT_SOURCE_DIR}/kernels_fwd_quantized_conv.cl")
+ 
+ add_library(OpenCLBackend
+diff --git a/lib/Graph/CMakeLists.txt b/lib/Graph/CMakeLists.txt
+index 84589761..f0976259 100644
+--- a/lib/Graph/CMakeLists.txt
++++ b/lib/Graph/CMakeLists.txt
+@@ -7,8 +7,7 @@ add_custom_command(OUTPUT
+                    "${NODES_HDR}"
+                    "${NODES_SRC}"
+                    "${NODES_DEF}"
+-                   COMMAND NodeGen ${NODES_HDR} ${NODES_SRC} ${NODES_DEF}
+-                   DEPENDS NodeGen
++                   COMMAND ${GLOW_BINARY_DIR}/bin/NodeGen ${NODES_HDR} 
${NODES_SRC} ${NODES_DEF}
+                    COMMENT "NodeGen: Generating nodes." VERBATIM)
+ add_custom_target(AutoGenNode
+                    DEPENDS
+diff --git a/lib/IR/CMakeLists.txt b/lib/IR/CMakeLists.txt
+index 7660308d..d5861bbb 100644
+--- a/lib/IR/CMakeLists.txt
++++ b/lib/IR/CMakeLists.txt
+@@ -13,10 +13,9 @@ add_custom_command(OUTPUT
+                     "${INSTR_BLD_HDR}"
+                     "${INSTR_BLD_SRC}"
+                     "${INSTR_IR_GEN}"
+-                    COMMAND InstrGen
++                    COMMAND ${GLOW_BINARY_DIR}/bin/InstrGen
+                       "${INSTR_HDR}" "${INSTR_SRC}" "${INSTR_DEF}"
+                       "${INSTR_BLD_HDR}" "${INSTR_BLD_SRC}" "${INSTR_IR_GEN}"
+-                    DEPENDS InstrGen
+                     COMMENT "InstrGen: Generating instructions." VERBATIM)
+ add_custom_target(AutoGenInstr
+                    DEPENDS
+-- 
+2.17.1
+
diff --git a/recipes-devtools/glow/glow_git.bb 
b/recipes-devtools/glow/glow_git.bb
index 3aea4b1..3024230 100644
--- a/recipes-devtools/glow/glow_git.bb
+++ b/recipes-devtools/glow/glow_git.bb
@@ -8,13 +8,12 @@ PV = "0.1+git${SRCPV}"
 PR = "r0" 
 SRCREV_FORMAT = "glow"
 
-DEPENDS_class-native    = "zlib zlib-native llvm-glow-native ninja-native 
protobuf-native libpng-native protobuf-native protobuf-c-native gflags-native 
glog-native"
-DEPENDS_class-nativesdk = "ncurses protobuf libpng glow-native zlib 
llvm-glow-native ninja-native protobuf-native libpng-native protobuf-c-native 
gflags-native glog-native"
+DEPENDS_class-native    = "zlib zlib-native llvm-glow-native ninja-native 
protobuf-native libpng-native protobuf-native protobuf-c-native gflags-native 
glog-native patchelf-native "
+DEPENDS_class-nativesdk = "ncurses protobuf zlib protobuf-c gflags glog ninja 
llvm-glow-native glow-native libpng-native patchelf-native "
 
-RDEPENDS_${PN}_class-nativesdk = "libpng ncurses glog"
+RDEPENDS_${PN}_class-nativesdk = "libpng ncurses glog protobuf "
 
 SRC_URI = 
"git://github.com/pytorch/glow.git;protocol=https;destsuffix=git;name=glow \
-           
file://0001-Fix-path-and-dependencies-to-intermediate-executable.patch  \
            
git://github.com/stp/OutputCheck.git;protocol=https;destsuffix=git/tests/OutputCheck;name=outcheck
 \
            
git://github.com/google/benchmark.git;protocol=https;destsuffix=git/tests/googlebenchmark;name=gbench
 \
            
git://github.com/google/googletest.git;protocol=https;destsuffix=git/tests/googletest;name=gtest
 \
@@ -26,6 +25,11 @@ SRC_URI = 
"git://github.com/pytorch/glow.git;protocol=https;destsuffix=git;name=
            
git://github.com/wjakob/clang-cindex-python3.git;protocol=https;destsuffix=git/thirdparty/onnx/third_party/pybind11/tools/clang;name=onnxclang
 \
           "
 
+SRC_URI_append_class-native = " 
file://0001-Fix-path-and-dependencies-to-intermediate-executable.patch \
+                              "
+SRC_URI_append_class-nativesdk = 
"file://0002-Skip-compilation-of-native-helper-tools.patch \
+                              "
+
 SRCREV_glow = "ba8061367aea0b472b596448018107ca6e87929e"
 SRCREV_outcheck = "eab62a5dd5129f6a4ebfbe4bbe41d35611f7c48d"
 SRCREV_gbench = "090faecb454fbd6e6e17a75ef8146acb037118d4"
@@ -41,21 +45,43 @@ S = "${WORKDIR}/git"
 
 inherit pkgconfig cmake
 
-EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release 
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 " "
+EXTRA_OECMAKE_class-native += " -DCMAKE_BUILD_TYPE=Release 
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2 " "
+EXTRA_OECMAKE_class-nativesdk += " -DCMAKE_BUILD_TYPE=Release 
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-z,origin " "
+
+do_compile_class-native() {
+   cmake_runcmake_build --target ${OECMAKE_TARGET_COMPILE}
+}
+
+do_install_class-native() {
+   install -d ${D}${datadir}/glow/bin
+   install -d ${D}${datadir}/glow/tests/images
+   chrpath -d ${WORKDIR}/build/bin/*
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin/include-bin 
${D}${datadir}/glow/bin
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin/InstrGen 
${D}${datadir}/glow/bin
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin/NodeGen 
${D}${datadir}/glow/bin
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin/image-classifier 
${D}${datadir}/glow/bin
+   ${STAGING_DIR_NATIVE}/usr/bin/patchelf --set-rpath  
"\$ORIGIN/../../../lib:\$ORIGIN/../../../../lib" 
${D}${datadir}/glow/bin/image-classifier
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/tests/images/imagenet 
${D}${datadir}/glow/tests/images
+   cp -Prf --preserve=mode,timestamps  
${WORKDIR}/build/tests/images/imagenet_299 ${D}${datadir}/glow/tests/images
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/tests/images/mnist 
${D}${datadir}/glow/tests/images
+}
 
-do_compile() {
+do_compile_class-nativesdk() {
+   install -d ${WORKDIR}/build/bin
+   cp ${STAGING_DIR_NATIVE}/usr/share/glow/bin/include-bin ${WORKDIR}/build/bin
+   cp ${STAGING_DIR_NATIVE}/usr/share/glow/bin/NodeGen ${WORKDIR}/build/bin
+   cp ${STAGING_DIR_NATIVE}/usr/share/glow/bin/InstrGen ${WORKDIR}/build/bin
    cmake_runcmake_build --target ${OECMAKE_TARGET_COMPILE}
 }
 
-do_install () {
-   install -d ${D}${datadir}/glow
+do_install_class-nativesdk() {
+   install -d ${D}${datadir}/glow/bin
    install -d ${D}${datadir}/glow/tests/images
-   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin ${D}${datadir}/glow
-   cp -Prf --preserve=mode,timestamps  
${WORKDIR}/build/tests/images/EmotionSampleImages 
${D}${datadir}/glow/tests/images
+   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/bin/image-classifier 
${D}${datadir}/glow/bin
+   ${STAGING_DIR_NATIVE}/usr/bin/patchelf --set-rpath  
"\$ORIGIN/../../../lib:\$ORIGIN/../../../../lib" 
${D}${datadir}/glow/bin/image-classifier
    cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/tests/images/imagenet 
${D}${datadir}/glow/tests/images
    cp -Prf --preserve=mode,timestamps  
${WORKDIR}/build/tests/images/imagenet_299 ${D}${datadir}/glow/tests/images
    cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/tests/images/mnist 
${D}${datadir}/glow/tests/images
-   cp -Prf --preserve=mode,timestamps  ${WORKDIR}/build/tests/images/other 
${D}${datadir}/glow/tests/images
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-devtools/glow/llvm-glow_git.bb 
b/recipes-devtools/glow/llvm-glow_git.bb
index 58d392b..4c0d29e 100644
--- a/recipes-devtools/glow/llvm-glow_git.bb
+++ b/recipes-devtools/glow/llvm-glow_git.bb
@@ -2,16 +2,16 @@ DESCRIPTION = "LLVM release suggested for pytorch glow neural 
network compiler"
 HOMEPAGE = "https://github.com/llvm-mirror/llvm";
 SECTION = "devel"
 LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c6b766a4e85dd28301eeed54a6684648"
-PV = "8.0"
-PR = "r0"
+LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=c520ed40e11887bb1d24d86f7f5b1f05"
+PV = "7.0"
+PR = "r1"
 
 DEPENDS = "ninja-native protobuf-native libpng-native protobuf-native 
protobuf-c-native gflags-native glog-native"
 
 SOLIBVER = "1"
 
-SRC_URI = 
"git://github.com/llvm-mirror/llvm.git;protocol=https;branch=release_80;rev=5563a6a769b48912b9c8052124520610966eda28;destsuffix=git/llvm
 \
-           
git://github.com/llvm-mirror/clang.git;protocol=https;branch=release_80;rev=ccfe04576c13497b9c422ceef0b6efe99077a392;destsuffix=git/clang
 \
+SRC_URI = 
"git://github.com/llvm-mirror/llvm.git;protocol=https;branch=release_70;rev=dd3329aeb25d87d4ac6429c0af220f92e1ba5f26;destsuffix=git/llvm
 \
+           
git://github.com/llvm-mirror/clang.git;protocol=https;branch=release_70;rev=4519e2637fcc4bf6e3049a0a80e6a5e7b97667cb;destsuffix=git/clang
 \
            "
 
 
-- 
2.17.1

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to