blob: e43e7d25759d9aa915adc846a68e6898716167ee [file] [log] [blame]
From 03337e3a509eace9f55a46993cfaadee0e796f46 Mon Sep 17 00:00:00 2001
From: Gyorgy Szing <Gyorgy.Szing@arm.com>
Date: Fri, 14 Jan 2022 20:35:53 +0000
Subject: [PATCH 1/1] Add newlib deployment
This deployment allow building newlib directly and not part of SP
builds. The resulting binary can be used as a pre-build binary for
building SPs later.
The intent is to help integration systems, where recursive build is
problematic, and there is no direct support for building newlib.
Change-Id: I770cdfd3c39eb7bf9764de74dfb191c321c49561
Signed-off-by: Gyorgy Szing <Gyorgy.Szing@arm.com>
Upstream-Status: Pending [In review]
Signed-off-by: Anton Antonov <Anton.Antonov@arm.com>
---
deployments/newlib/opteesp/CMakeLists.txt | 38 +++++++++++++++++++++++
tools/b-test/test_data.yaml | 4 +++
2 files changed, 42 insertions(+)
create mode 100644 deployments/newlib/opteesp/CMakeLists.txt
diff --git a/deployments/newlib/opteesp/CMakeLists.txt b/deployments/newlib/opteesp/CMakeLists.txt
new file mode 100644
index 00000000..593e0a96
--- /dev/null
+++ b/deployments/newlib/opteesp/CMakeLists.txt
@@ -0,0 +1,38 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+cmake_minimum_required(VERSION 3.18 FATAL_ERROR)
+include(../../deployment.cmake REQUIRED)
+
+#-------------------------------------------------------------------------------
+# The CMakeLists.txt for building the newlib deployment for opteesp
+#
+# Can be used to build the newlib library, which can be used to build SPs.
+#-------------------------------------------------------------------------------
+include(${TS_ROOT}/environments/opteesp/env.cmake)
+
+project(newlib C)
+
+# This is a dummy library not intended to be compiled ever. It is needed
+# to avoid opteesp specific newlib targeting files.
+add_library(dummy EXCLUDE_FROM_ALL)
+set(TGT dummy)
+# Build newlib as an external component.
+include(${TS_ROOT}/external/newlib/newlib.cmake)
+
+######################################## install
+if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "location to install build output to." FORCE)
+endif()
+
+install(DIRECTORY ${NEWLIB_INSTALL_DIR} DESTINATION ${TS_ENV})
+
+#get_property(_tmp_lib TARGET stdlib::c PROPERTY IMPORTED_LOCATION)
+#get_filename_component(_tmp_path ${_tmp_lib} DIRECTORY)
+#install(DIRECTORY ${_tmp_path} DESTINATION ${TS_ENV})
+
+#get_property(_tmp_path TARGET stdlib::c PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
+#install(DIRECTORY ${_tmp_path} DESTINATION ${TS_ENV})
diff --git a/tools/b-test/test_data.yaml b/tools/b-test/test_data.yaml
index 7caafa8b..6bfacc66 100644
--- a/tools/b-test/test_data.yaml
+++ b/tools/b-test/test_data.yaml
@@ -69,6 +69,10 @@ data:
os_id : "GNU/Linux"
params:
- "-GUnix Makefiles"
+ - name: "newlib-optee-arm"
+ src: "$TS_ROOT/deployments/newlib/opteesp"
+ params:
+ - "-GUnix Makefiles"
- name: "platform-inspect-arm-linux"
src: "$TS_ROOT/deployments/platform-inspect/arm-linux"
os_id : "GNU/Linux"
--
2.37.0