diff --git a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb index 5a280a70efc8d2e8853f31aa088f6e5be30c4de0..59aedc490986e46c67a64ccf66fdb74828c5da11 100644 --- a/recipes-openharmony/openharmony/openharmony-standard_3.0.bb +++ b/recipes-openharmony/openharmony/openharmony-standard_3.0.bb @@ -70,9 +70,24 @@ inherit python3native gn_base ptest B = "${S}/out/ohos-arm-release" -COMPATIBLE_MACHINE = "qemuarm" - -OHOS_DEVICE_CPU_ARCH = "arm" +COMPATIBLE_MACHINE = "(qemuarm|qemuarm64|raspberrypi4-64)" + +def get_ohos_arch(d): + arch = get_musl_loader_arch(d) + if arch.startswith("aarch64"): + return "arm64" + elif arch.startswith("arm"): + return "arm" + return arch + +def get_ohos_libdir(d): + if get_ohos_arch(d).endswith("64"): + return "lib64" + else: + return "lib" + +OHOS_DEVICE_CPU_ARCH = "${@get_ohos_arch(d)}" +#OHOS_DEVICE_NAME = "${MACHINE}" OHOS_DEVICE_NAME = "qemuarm" OHOS_DEVICE_COMPANY = "oniro" OHOS_PRODUCT_NAME = "yocto-ohos-${OHOS_DEVICE_NAME}" @@ -156,9 +171,9 @@ do_install () { # then setup /system/lib and /system/bin symlinks to avoid breaking use of # hard-coded paths. mkdir -p ${D}/system ${D}${libdir} ${D}${bindir} - cp -r ${OHOS_PACKAGE_OUT_DIR}/system/lib/* ${D}${libdir}/ + cp -r ${OHOS_PACKAGE_OUT_DIR}/system/${@get_ohos_libdir(d)}/* ${D}${libdir}/ install -m 755 -t ${D}${bindir}/ ${OHOS_PACKAGE_OUT_DIR}/system/bin/* - ln -sfT ..${libdir} ${D}/system/lib + ln -sfT ..${libdir} ${D}/system/${@get_ohos_libdir(d)} ln -sfT ..${bindir} ${D}/system/bin # system ability configurations @@ -202,7 +217,7 @@ FILES:${PN}:remove = "${libdir}/${BPN}/*" FILES:${PN}-configs = "${sysconfdir}" FILES:${PN}-fonts = "${datadir}/fonts" -FILES:${PN} += "/system/bin /system/lib /system/profile" +FILES:${PN} += "/system/bin /system/${@get_ohos_libdir(d)} /system/profile" FILES:${PN}-configs += "/system/etc" FILES:${PN}-fonts += "/system/fonts"