mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-12 03:10:15 +00:00
optee-{os,examples,client,test}: Build out of tree
Modifies the optee recipes to all build out of tree. This is cleaner and helps prevent build error from stale builds when dependencies change. Also allows the elimination of the OPTEEOUTPUTMACHINE variable in optee-os. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Reviewed-by: Diego Sueiro <diego.sueiro@arm.com> Reviewed-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -18,20 +18,30 @@ SRC_URI = " \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
SYSTEMD_SERVICE_${PN} = "tee-supplicant.service"
|
||||
|
||||
EXTRA_OEMAKE = "O=${B}"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}
|
||||
oe_runmake
|
||||
}
|
||||
do_compile[cleandirs] = "${B}"
|
||||
|
||||
do_install() {
|
||||
cd ${S}
|
||||
oe_runmake install
|
||||
|
||||
install -D -p -m0755 ${S}/out/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
|
||||
install -D -p -m0755 ${B}/export/usr/sbin/tee-supplicant ${D}${sbindir}/tee-supplicant
|
||||
|
||||
install -D -p -m0644 ${S}/out/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
|
||||
install -D -p -m0644 ${B}/export/usr/lib/libteec.so.1.0 ${D}${libdir}/libteec.so.1.0
|
||||
ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so
|
||||
ln -sf libteec.so.1.0 ${D}${libdir}/libteec.so.1
|
||||
|
||||
install -d ${D}${includedir}
|
||||
install -p -m0644 ${S}/out/export/usr/include/*.h ${D}${includedir}
|
||||
install -p -m0644 ${B}/export/usr/include/*.h ${D}${includedir}
|
||||
|
||||
sed -i -e s:/etc:${sysconfdir}:g \
|
||||
-e s:/usr/bin:${bindir}:g \
|
||||
|
||||
@@ -17,6 +17,7 @@ SRC_URI = "git://github.com/linaro-swg/optee_examples.git"
|
||||
SRCREV = "559b2141c16bf0f57ccd72f60e4deb84fc2a05b0"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
|
||||
TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
|
||||
@@ -28,17 +29,20 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
|
||||
HOST_CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
TA_CROSS_COMPILE=${TARGET_PREFIX} \
|
||||
V=1 \
|
||||
OUTPUT_DIR=${B} \
|
||||
"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}
|
||||
oe_runmake
|
||||
}
|
||||
do_compile[cleandirs] = "${B}"
|
||||
|
||||
do_install () {
|
||||
mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
|
||||
mkdir -p ${D}${bindir}
|
||||
install -D -p -m0755 ${S}/out/ca/* ${D}${bindir}
|
||||
install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz
|
||||
install -D -p -m0755 ${B}/ca/* ${D}${bindir}
|
||||
install -D -p -m0444 ${B}/ta/* ${D}${nonarch_base_libdir}/optee_armtz
|
||||
}
|
||||
|
||||
FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
|
||||
|
||||
@@ -20,10 +20,9 @@ SRC_URI = " \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
OPTEEMACHINE ?= "${MACHINE}"
|
||||
OPTEEOUTPUTMACHINE ?= "${MACHINE}"
|
||||
|
||||
OPTEE_ARCH = "null"
|
||||
OPTEE_ARCH_armv7a = "arm32"
|
||||
OPTEE_ARCH_aarch64 = "arm64"
|
||||
@@ -38,6 +37,7 @@ EXTRA_OEMAKE = " \
|
||||
V=1 \
|
||||
ta-targets=ta_${OPTEE_ARCH} \
|
||||
LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_HOST} \
|
||||
O=${B} \
|
||||
"
|
||||
|
||||
CFLAGS[unexport] = "1"
|
||||
@@ -49,17 +49,19 @@ LD[unexport] = "1"
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}
|
||||
oe_runmake all CFG_TEE_TA_LOG_LEVEL=0
|
||||
}
|
||||
do_compile[cleandirs] = "${B}"
|
||||
|
||||
do_install() {
|
||||
#install core in firmware
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/
|
||||
install -m 644 ${B}/out/arm-plat-${OPTEEOUTPUTMACHINE}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
|
||||
install -m 644 ${B}/core/*.bin ${D}${nonarch_base_libdir}/firmware/
|
||||
|
||||
#install TA devkit
|
||||
install -d ${D}${includedir}/optee/export-user_ta/
|
||||
for f in ${B}/out/arm-plat-${OPTEEOUTPUTMACHINE}/export-ta_${OPTEE_ARCH}/* ; do
|
||||
for f in ${B}/export-ta_${OPTEE_ARCH}/* ; do
|
||||
cp -aR $f ${D}${includedir}/optee/export-user_ta/
|
||||
done
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ SRCREV = "30481e381cb4285706e7516853495a7699c93b2c"
|
||||
SRC_URI = "git://github.com/OP-TEE/optee_test.git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
B = "${WORKDIR}/build"
|
||||
|
||||
OPTEE_CLIENT_EXPORT = "${STAGING_DIR_HOST}${prefix}"
|
||||
TEEC_EXPORT = "${STAGING_DIR_HOST}${prefix}"
|
||||
@@ -27,21 +28,24 @@ EXTRA_OEMAKE = " TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
|
||||
CROSS_COMPILE_HOST=${TARGET_PREFIX} \
|
||||
CROSS_COMPILE_TA=${TARGET_PREFIX} \
|
||||
V=1 \
|
||||
O=${B} \
|
||||
"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}
|
||||
# Top level makefile doesn't seem to handle parallel make gracefully
|
||||
oe_runmake xtest
|
||||
oe_runmake ta
|
||||
}
|
||||
do_compile[cleandirs] = "${B}"
|
||||
|
||||
do_install () {
|
||||
install -D -p -m0755 ${S}/out/xtest/xtest ${D}${bindir}/xtest
|
||||
install -D -p -m0755 ${B}/xtest/xtest ${D}${bindir}/xtest
|
||||
|
||||
# install path should match the value set in optee-client/tee-supplicant
|
||||
# default TEEC_LOAD_PATH is /lib
|
||||
mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
|
||||
install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
|
||||
install -D -p -m0444 ${B}/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
|
||||
}
|
||||
|
||||
FILES_${PN} += "${nonarch_base_libdir}/optee_armtz/"
|
||||
|
||||
Reference in New Issue
Block a user