Skip to content

Commit 61cdac8

Browse files
amielczaigcbot
authored andcommitted
Add LLVM patching control
Add a flag which controls LLVM patching
1 parent f3d59b9 commit 61cdac8

1 file changed

Lines changed: 28 additions & 22 deletions

File tree

external/llvm/llvm_patch_sources.cmake

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,29 +38,35 @@ if(IGC_OPTION__LLVM_PREFERRED_VERSION VERSION_GREATER_EQUAL 23 AND EXISTS ${IGC_
3838
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${IGC_OPTION__LLVM_SOURCES_DIR}/libc ${IGC_LLVM_WORKSPACE_SRC}/libc)
3939
endif()
4040

41-
message(STATUS "[LLVM] : Applying patches for LLVM from version ${DIR_WITH_PATCHES}")
41+
set(IGC_OPTION__APPLY_LLVM_PATCHES ON CACHE BOOL "Apply patches to LLVM sources during build")
4242

43-
# For Interim mode, dir with patches set to /trunk
44-
if(IGC_OPTION__LLVM_INTERIM OR IGC_BUILD_LLVM_INTERIM)
45-
set(IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/trunk)
46-
set(IGC_LLVM_INTERIM_PATCHES ON)
47-
message(STATUS "[LLVM] : IGC_LLVM_INTERIM mode is enabled, apply patches from /trunk dir")
48-
else()
49-
set(IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/releases)
50-
set(IGC_LLVM_INTERIM_PATCHES OFF)
51-
endif()
43+
if(IGC_OPTION__APPLY_LLVM_PATCHES)
44+
message(STATUS "[LLVM] : Applying patches for LLVM from version ${DIR_WITH_PATCHES}")
5245

53-
execute_process(COMMAND
54-
${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/apply_patches.py
55-
--llvm-version ${IGC_OPTION__LLVM_PREFERRED_VERSION}
56-
--patch-interim ${IGC_LLVM_INTERIM_PATCHES}
57-
--llvm-project-dir ${IGC_LLVM_WORKSPACE_SRC}
58-
--patches-dir ${IGC_LLVM_PATCHES_DIR}
59-
--patch-executable ${Patch_EXECUTABLE}
60-
--patch-disable ${PATCH_DISABLE}
61-
RESULT_VARIABLE PATCH_SCRIPT_RESULT
62-
)
46+
# For Interim mode, dir with patches set to /trunk
47+
if(IGC_OPTION__LLVM_INTERIM OR IGC_BUILD_LLVM_INTERIM)
48+
set(IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/trunk)
49+
set(IGC_LLVM_INTERIM_PATCHES ON)
50+
message(STATUS "[LLVM] : IGC_LLVM_INTERIM mode is enabled, apply patches from /trunk dir")
51+
else()
52+
set(IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR}/releases)
53+
set(IGC_LLVM_INTERIM_PATCHES OFF)
54+
endif()
6355

64-
if(NOT PATCH_SCRIPT_RESULT EQUAL 0)
65-
message(FATAL_ERROR "[LLVM] : Could not apply LLVM patches.")
56+
execute_process(COMMAND
57+
${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/apply_patches.py
58+
--llvm-version ${IGC_OPTION__LLVM_PREFERRED_VERSION}
59+
--patch-interim ${IGC_LLVM_INTERIM_PATCHES}
60+
--llvm-project-dir ${IGC_LLVM_WORKSPACE_SRC}
61+
--patches-dir ${IGC_LLVM_PATCHES_DIR}
62+
--patch-executable ${Patch_EXECUTABLE}
63+
--patch-disable ${PATCH_DISABLE}
64+
RESULT_VARIABLE PATCH_SCRIPT_RESULT
65+
)
66+
67+
if(NOT PATCH_SCRIPT_RESULT EQUAL 0)
68+
message(FATAL_ERROR "[LLVM] : Could not apply LLVM patches.")
69+
endif()
70+
else()
71+
message(STATUS "[LLVM] : Skipping internal LLVM patches (IGC_OPTION__APPLY_LLVM_PATCHES=OFF)")
6672
endif()

0 commit comments

Comments
 (0)