From: Lee Chee Yang <[email protected]>

Improve the reproducibility of intel-graphics-compiler-src by replacing
the absolute build path with relative one in bison compiled files.
The --file-prefix-map could only work on bison 3.7 onward so add it only
when bison is newer than 3.7.

│ │ │ -#ifndef
YY_CISA_YOCTO_POKY_MASTER_BUILD_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ -# define
YY_CISA_YOCTO_POKY_MASTER_BUILD_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ +#ifndef
YY_CISA_YOCTO_POKY_MASTER_BUILD_2_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED
│ │ │ +# define
YY_CISA_YOCTO_POKY_MASTER_BUILD_2_TMP_WORK_SKYLAKE_64_POKY_LINUX_INTEL_GRAPHICS_COMPILER_1_0_4241_R0_BUILD_IGC_VISA_CISA_TAB_HPP_INCLUDED

Also suppress #line directives in scanner that have the build path:

│ │ │ -#line 2593
"/yocto/poky-master/build/tmp/work/skylake-64-poky-linux/intel-graphics-compiler/1.0.4241-r0/build/IGC/visa/lex.CISA.cpp"
│ │ │ +#line 2593
"/yocto/poky-master/build-2/tmp/work/skylake-64-poky-linux/intel-graphics-compiler/1.0.4241-r0/build/IGC/visa/lex.CISA.cpp"

Signed-off-by: Lee Chee Yang <[email protected]>
---
 .../improve_src_package_reproducibility.patch | 35 +++++++++++++++++++
 .../igc/intel-graphics-compiler_1.0.4756.bb   |  4 +++
 2 files changed, 39 insertions(+)
 create mode 100644 
dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch

diff --git 
a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch
 
b/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch
new file mode 100644
index 00000000..7612b181
--- /dev/null
+++ 
b/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch
@@ -0,0 +1,35 @@
+From 88b961ce4e2c9744631c51d13fa638e8a8a6c2a9 Mon Sep 17 00:00:00 2001
+From: Lee Chee Yang <[email protected]>
+Date: Wed, 2 Sep 2020 08:28:35 +0800
+Subject: [PATCH] Improve Reproducibility for src package
+
+Improve reproducibility for intel-graphics-compiler-src package.
+needs to pass build path as environment variable to the build.
+this only works on bison 3.7 onward, hence check for bison version
+before adding the flags.
+Upstream-Status: Inappropriate [applying --file-prefix-map in such way does 
not work for upstream]
+Signed-off-by: Lee Chee Yang <[email protected]>
+---
+ visa/CMakeLists.txt | 7 +++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
+index 9c169592..ecea91db 100644
+--- a/visa/CMakeLists.txt
++++ b/visa/CMakeLists.txt
+@@ -105,8 +108,11 @@ endif()
+ # Set up the bison and flex targets. These commands will set up commands to 
generate the appropriate
+ # source files from the input grammars. It will also set up the dependencies 
correctly for any
+ # library or executable that uses the generated source
+-BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp 
COMPILE_FLAGS "-vt -p CISA")
+-FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp 
COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
++if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0")
++    set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ")
++endif()
++BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp 
COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ")
++FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp 
COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ")
+ ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
+
+ add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} 
${BISON_CISAParser_OUTPUTS})
+--
+2.25.1
diff --git 
a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.4756.bb
 
b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.4756.bb
index 406f9f18..e13f34b9 100644
--- 
a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.4756.bb
+++ 
b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.4756.bb
@@ -11,10 +11,14 @@ LIC_FILES_CHKSUM = 
"file://IGC/BiFModule/Implementation/ExternalLibraries/libclc
 SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https; \
            file://0001-skip-execution-of-ElfPackager.patch \
            file://link-to-LLVMGenXIntrinsics.patch \
+           file://improve_src_package_reproducibility.patch \
           "
 
 SRCREV = "3623209b10b357ddb3a3d6eac3551c53ebc897f7"
 
+# Used to replace with relative path in reproducibility patch
+export B
+
 S = "${WORKDIR}/git"
 
 inherit cmake
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6713): 
https://lists.yoctoproject.org/g/meta-intel/message/6713
Mute This Topic: https://lists.yoctoproject.org/mt/77005914/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to