72 lines
3.0 KiB
Diff
72 lines
3.0 KiB
Diff
|
From 495491e9d53bfb184c15753b5187e4bb55b19511 Mon Sep 17 00:00:00 2001
|
||
|
From: Matt Weber <matthew.weber@rockwellcollins.com>
|
||
|
Date: Tue, 9 Mar 2021 15:55:17 -0600
|
||
|
Subject: [PATCH] support out of tree build
|
||
|
|
||
|
(1) The package has a prepare_builtins tool which is built
|
||
|
but not placed in the path for later use in the build. This
|
||
|
fix allows the later build steps to use the binary in-place.
|
||
|
|
||
|
(2) With cmake, find_file() when used for non-host builds is
|
||
|
limited by CMAKE_FIND_ROOT_PATH* scope.
|
||
|
|
||
|
In $(HOST_DIR)/share/buildroot/toolchainfile.cmake we set the
|
||
|
following target settings for CMAKE_FIND_ROOT_PATH* which
|
||
|
limit the scope.
|
||
|
set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/aarch64-buildroot-linux-gnu/sysroot")
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||
|
|
||
|
|
||
|
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
|
||
|
---
|
||
|
CMakeLists.txt | 2 +-
|
||
|
cmake/CMakeDetermineCLCCompiler.cmake | 4 ++++
|
||
|
cmake/CMakeDetermineLLAsmCompiler.cmake | 4 ++++
|
||
|
3 files changed, 9 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||
|
index 9472f19..a784519 100644
|
||
|
--- a/CMakeLists.txt
|
||
|
+++ b/CMakeLists.txt
|
||
|
@@ -279,7 +279,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
|
||
|
|
||
|
# Add prepare target
|
||
|
add_custom_command( OUTPUT "${obj_suffix}"
|
||
|
- COMMAND prepare_builtins -o
|
||
|
+ COMMAND ./prepare_builtins -o
|
||
|
"${obj_suffix}"
|
||
|
"builtins.opt.${obj_suffix}"
|
||
|
DEPENDS "opt.${obj_suffix}"
|
||
|
diff --git a/cmake/CMakeDetermineCLCCompiler.cmake b/cmake/CMakeDetermineCLCCompiler.cmake
|
||
|
index 94d85d9..5de6a48 100644
|
||
|
--- a/cmake/CMakeDetermineCLCCompiler.cmake
|
||
|
+++ b/cmake/CMakeDetermineCLCCompiler.cmake
|
||
|
@@ -12,7 +12,7 @@ mark_as_advanced(CMAKE_CLC_ARCHIVE)
|
||
|
|
||
|
set(CMAKE_CLC_COMPILER_ENV_VAR "CLC_COMPILER")
|
||
|
set(CMAKE_CLC_ARCHIVE_ENV_VAR "CLC_LINKER")
|
||
|
-find_file(clc_comp_in CMakeCLCCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH})
|
||
|
+set(clc_comp_in "${CMAKE_MODULE_PATH}/CMakeCLCCompiler.cmake.in" )
|
||
|
# configure all variables set in this file
|
||
|
configure_file(${clc_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeCLCCompiler.cmake @ONLY)
|
||
|
mark_as_advanced(clc_comp_in)
|
||
|
diff --git a/cmake/CMakeDetermineLLAsmCompiler.cmake b/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||
|
index 1c424c7..dd3bfb6 100644
|
||
|
--- a/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||
|
+++ b/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||
|
@@ -18,7 +18,7 @@ mark_as_advanced(CMAKE_LLAsm_ARCHIVE)
|
||
|
set(CMAKE_LLAsm_PREPROCESSOR_ENV_VAR "LL_PREPROCESSOR")
|
||
|
set(CMAKE_LLAsm_COMPILER_ENV_VAR "LL_ASSEMBLER")
|
||
|
set(CMAKE_LLAsm_ARCHIVE_ENV_VAR "LL_LINKER")
|
||
|
-find_file(ll_comp_in CMakeLLAsmCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH})
|
||
|
+set(ll_comp_in "${CMAKE_MODULE_PATH}/CMakeLLAsmCompiler.cmake.in" )
|
||
|
# configure all variables set in this file
|
||
|
configure_file(${ll_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeLLAsmCompiler.cmake @ONLY)
|
||
|
mark_as_advanced(ll_comp_in)
|
||
|
--
|
||
|
2.17.1
|
||
|
|