From 342938e6430ed6cd87abb3596e8d8658cf88bd7e Mon Sep 17 00:00:00 2001 From: fjrXTR Date: Mon, 18 Aug 2025 15:43:27 +0200 Subject: [PATCH] S666LN: Migrate to py extract utils Change-Id: I087ccb1a88ee9a964056ee7c1801036351e02b03 Signed-off-by: fjrXTR --- extract-files.py | 123 +++++++++++++++++++++++++++++ extract-files.sh | 179 ------------------------------------------ proprietary-files.txt | 22 +----- setup-makefiles.py | 1 + setup-makefiles.sh | 37 --------- 5 files changed, 126 insertions(+), 236 deletions(-) create mode 100755 extract-files.py delete mode 100755 extract-files.sh create mode 100755 setup-makefiles.py delete mode 100755 setup-makefiles.sh diff --git a/extract-files.py b/extract-files.py new file mode 100755 index 0000000..dd140d5 --- /dev/null +++ b/extract-files.py @@ -0,0 +1,123 @@ +#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3 +# +# SPDX-FileCopyrightText: 2024 The LineageOS Project +# SPDX-License-Identifier: Apache-2.0 +# + +from extract_utils.fixups_blob import ( + blob_fixup, + blob_fixups_user_type, +) + +from extract_utils.fixups_lib import ( + lib_fixups, + lib_fixups_user_type, +) + +from extract_utils.main import ( + ExtractUtils, + ExtractUtilsModule, +) + +namespace_imports = [ + 'device/itel/S666LN', + 'hardware/mediatek', + 'hardware/mediatek/libmtkperf_client', + 'hardware/transsion', +] + +lib_fixups: lib_fixups_user_type = { + **lib_fixups, +} + +blob_fixups: blob_fixups_user_type = { + ('vendor/bin/hw/android.hardware.gnss-service.mediatek', 'vendor/lib64/hw/android.hardware.gnss-impl-mediatek.so'): blob_fixup() + .replace_needed('android.hardware.gnss-V1-ndk_platform.so', 'android.hardware.gnss-V1-ndk.so'), + ('vendor/lib64/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so', 'vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service'): blob_fixup() + .replace_needed('libhidlbase.so', 'libhidlbase-v32.so') + .replace_needed('libbinder.so', 'libbinder-v32.so') + .replace_needed('libutils.so', 'libutils-v32.so') + .add_needed('libshim_sensors.so'), + ('vendor/lib64/libwvhidl.so', 'vendor/lib64/mediadrm/libwvdrmengine.so'): blob_fixup() + .replace_needed('libprotobuf-cpp-lite-3.9.1.so', 'libprotobuf-cpp-full-3.9.1.so'), + 'vendor/etc/init/android.hardware.media.c2@1.2-mediatek.rc': blob_fixup() + .regex_replace('@1.2-mediatek', '@1.2-mediatek-64b'), + 'vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b': blob_fixup() + .add_needed('libstagefright_foundation-v33.so') + .replace_needed('libavservices_minijail_vendor.so', 'libavservices_minijail.so'), + ('vendor/bin/mnld', 'vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so', 'vendor/lib64/mt6789/libaalservice.so', 'vendor/lib64/mt6789/libcam.utils.sensorprovider.so'): blob_fixup() + .add_needed('libshim_sensors.so'), + 'vendor/lib64/hw/audio.primary.mediatek.so': blob_fixup() + .replace_needed('libalsautils.so', 'libalsautils-v31.so') + .add_needed('libstagefright_foundation-v33.so'), + 'vendor/bin/hw/android.hardware.security.keymint-service.trustonic': blob_fixup() + .replace_needed('android.hardware.security.keymint-V1-ndk_platform.so', 'android.hardware.security.keymint-V1-ndk.so') + .replace_needed('android.hardware.security.secureclock-V1-ndk_platform.so', 'android.hardware.security.secureclock-V1-ndk.so') + .replace_needed('android.hardware.security.sharedsecret-V1-ndk_platform.so', 'android.hardware.security.sharedsecret-V1-ndk.so') + .add_needed('android.hardware.security.rkp-V3-ndk.so'), + 'vendor/etc/init/android.hardware.neuralnetworks-shim-service-mtk.rc': blob_fixup() + .regex_replace('start', 'enable'), + 'vendor/etc/init/init.thermal_core.rc': blob_fixup() + .regex_replace('ro.vendor.mtk_thermal_2_0', 'vendor.thermal.link_ready'), + 'vendor/etc/vintf/manifest/manifest_media_c2_V1_2_default.xml': blob_fixup() + .regex_replace('1.1', '1.2'), + ('vendor/lib64/mt6789/libneuralnetworks_sl_driver_mtk_prebuilt.so', 'vendor/lib64/libnvram.so', 'vendor/lib64/libsysenv.so', 'vendor/lib64/libtflite_mtk.so'): blob_fixup() + .add_needed('libbase_shim.so'), + 'vendor/lib64/hw/hwcomposer.mtk_common.so': blob_fixup() + .patchelf_version('0_17_2') + .add_needed('libprocessgroup_shim.so'), + ('vendor/lib64/mt6789/lib3a.flash.so', 'vendor/lib64/mt6789/lib3a.ae.stat.so', 'vendor/lib64/mt6789/lib3a.sensors.flicker.so', 'vendor/lib64/mt6789/lib3a.sensors.color.so', 'vendor/lib64/mt6789/libaaa_ltm.so', 'vendor/lib64/lib3a.ae.pipe.so', 'vendor/lib64/libSQLiteModule_VER_ALL.so'): blob_fixup() + .add_needed('liblog.so'), + 'vendor/lib64/mt6789/libmnl.so': blob_fixup() + .add_needed('libcutils.so'), + 'vendor/lib64/mt6789/libneuralnetworks_sl_driver_mtk_prebuilt.so': blob_fixup() + .clear_symbol_version('AHardwareBuffer_allocate') + .clear_symbol_version('AHardwareBuffer_createFromHandle') + .clear_symbol_version('AHardwareBuffer_describe') + .clear_symbol_version('AHardwareBuffer_getNativeHandle') + .clear_symbol_version('AHardwareBuffer_lock') + .clear_symbol_version('AHardwareBuffer_release') + .clear_symbol_version('AHardwareBuffer_unlock'), + ('vendor/lib64/mt6789/libtranssion_bodybeauty.so', 'vendor/lib64/mt6789/libeffect_hal.so'): blob_fixup() + .clear_symbol_version('AHardwareBuffer_allocate') + .clear_symbol_version('AHardwareBuffer_createFromHandle') + .clear_symbol_version('AHardwareBuffer_describe') + .clear_symbol_version('AHardwareBuffer_getNativeHandle') + .clear_symbol_version('AHardwareBuffer_lock') + .clear_symbol_version('AHardwareBuffer_lockPlanes') + .clear_symbol_version('AHardwareBuffer_release') + .clear_symbol_version('AHardwareBuffer_unlock'), + 'vendor/bin/hw/mtkfusionrild': blob_fixup() + .add_needed('libutils-v32.so'), + 'vendor/lib64/mt6789/libmorpho_video_stabilizer.so': blob_fixup() + .add_needed('libutils-v32.so'), + ('vendor/lib64/hw/mt6789/vendor.mediatek.hardware.camera.isphal@1.0-impl.so', 'vendor/lib64/hw/mt6789/vendor.mediatek.hardware.camera.isphal@1.1-impl.so'): blob_fixup() + .replace_needed('libhidlbase.so', 'libhidlbase-v31.so') + .replace_needed('libbinder.so', 'libbinder-v31.so') + .replace_needed('libutils.so', 'libutils-v31.so'), + 'vendor/lib64/mt6789/libmtkcam_stdutils.so': blob_fixup() + .replace_needed('libhidlbase.so', 'libhidlbase-v31.so') + .replace_needed('libbinder.so', 'libbinder-v31.so') + .replace_needed('libutils.so', 'libutils-v31.so'), + 'vendor/bin/hw/mt6789/camerahalserver': blob_fixup() + .replace_needed('libhidlbase.so', 'libhidlbase-v31.so') + .replace_needed('libbinder.so', 'libbinder-v31.so') + .replace_needed('libutils.so', 'libutils-v31.so'), + 'vendor/lib64/hw/mt6789/android.hardware.camera.provider@2.6-impl-mediatek.so': blob_fixup() + .replace_needed('libhidlbase.so', 'libhidlbase-v31.so') + .replace_needed('libbinder.so', 'libbinder-v31.so') + .replace_needed('libutils.so', 'libutils-v31.so') + .add_needed('libcamera_metadata_shim.so'), +} # fmt: skip + +module = ExtractUtilsModule( + 'S666LN', + 'itel', + blob_fixups=blob_fixups, + lib_fixups=lib_fixups, + namespace_imports=namespace_imports, +) + +if __name__ == '__main__': + utils = ExtractUtils.device(module) + utils.run() \ No newline at end of file diff --git a/extract-files.sh b/extract-files.sh deleted file mode 100755 index b80ed0b..0000000 --- a/extract-files.sh +++ /dev/null @@ -1,179 +0,0 @@ -#!/bin/bash -# -# SPDX-FileCopyrightText: 2016 The CyanogenMod Project -# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project -# SPDX-License-Identifier: Apache-2.0 -# - -set -e - -DEVICE=S666LN -VENDOR=itel - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi - -ANDROID_ROOT="${MY_DIR}/../../.." - -export TARGET_ENABLE_CHECKELF=false - -# If XML files don't have comments before the XML header, use this flag -# Can still be used with broken XML files by using blob_fixup -export TARGET_DISABLE_XML_FIXING=true - -HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" -if [ ! -f "${HELPER}" ]; then - echo "Unable to find helper script at ${HELPER}" - exit 1 -fi -source "${HELPER}" - -# Default to sanitizing the vendor folder before extraction -CLEAN_VENDOR=true - -KANG= -SECTION= - -while [ "${#}" -gt 0 ]; do - case "${1}" in - --only-firmware) - ONLY_FIRMWARE=true - ;; - -n | --no-cleanup) - CLEAN_VENDOR=false - ;; - -k | --kang) - KANG="--kang" - ;; - -s | --section) - SECTION="${2}" - shift - CLEAN_VENDOR=false - ;; - *) - SRC="${1}" - ;; - esac - shift -done - -if [ -z "${SRC}" ]; then - SRC="adb" -fi - -function blob_fixup() { - case "${1}" in - vendor/lib*/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so|\ - vendor/bin/hw/vendor.mediatek.hardware.pq@2.2-service) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "libbinder.so" "libbinder-v31.so" "${2}" - "${PATCHELF}" --replace-needed "libhidlbase.so" "libhidlbase-v31.so" "${2}" - "${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}" - ;; - vendor/etc/init/android.hardware.media.c2@1.2-mediatek.rc) - [ "$2" = "" ] && return 0 - sed -i 's/@1.2-mediatek/@1.2-mediatek-64b/g' "${2}" - ;; - vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "libavservices_minijail_vendor.so" "libavservices_minijail.so" "${2}" - "${PATCHELF}" --add-needed "libstagefright_foundation-v33.so" "${2}" - ;; - vendor/bin/hw/android.hardware.gnss-service.mediatek |\ - vendor/lib64/hw/android.hardware.gnss-impl-mediatek.so) - [ "$2" = "" ] && return 0 - "$PATCHELF" --replace-needed "android.hardware.gnss-V1-ndk_platform.so" "android.hardware.gnss-V1-ndk.so" "$2" - ;; - vendor/bin/mnld|\ - vendor/lib64/hw/android.hardware.sensors@2.X-subhal-mediatek.so|\ - vendor/lib64/hw/mt6789/vendor.mediatek.hardware.pq@2.15-impl.so|\ - vendor/lib64/mt6789/libaalservice.so|\ - vendor/lib64/mt6789/libcam.utils.sensorprovider.so) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --add-needed "libshim_sensors.so" "${2}" - ;; - vendor/lib*/libwvhidl.so|\ - vendor/lib*/mediadrm/libwvdrmengine.so) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "libprotobuf-cpp-lite-3.9.1.so" "libprotobuf-cpp-full-3.9.1.so" "${2}" - ;; - vendor/bin/hw/android.hardware.security.keymint-service.trustonic) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "android.hardware.security.keymint-V1-ndk_platform.so" "android.hardware.security.keymint-V1-ndk.so" "${2}" - "${PATCHELF}" --replace-needed "android.hardware.security.secureclock-V1-ndk_platform.so" "android.hardware.security.secureclock-V1-ndk.so" "${2}" - "${PATCHELF}" --replace-needed "android.hardware.security.sharedsecret-V1-ndk_platform.so" "android.hardware.security.sharedsecret-V1-ndk.so" "${2}" - grep -q "android.hardware.security.rkp-V3-ndk.so" "${2}" || ${PATCHELF} --add-needed "android.hardware.security.rkp-V3-ndk.so" "${2}" - ;; - vendor/lib64/hw/mt6789/android.hardware.camera.provider@2.6-impl-mediatek.so) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}" - "${PATCHELF}" --replace-needed "libhidlbase.so" "libhidlbase-v31.so" "${2}" - grep -q libshim_camera_metadata.so "${2}" || "${PATCHELF}" --add-needed libshim_camera_metadata.so "${2}" - ;; - vendor/lib64/hw/mt6789/vendor.mediatek.hardware.camera.isphal@1.0-impl.so|\ - vendor/lib64/hw/mt6789/vendor.mediatek.hardware.camera.isphal@1.1-impl.so|\ - vendor/bin/hw/mt6789/camerahalserver) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --replace-needed "libutils.so" "libutils-v31.so" "${2}" - "${PATCHELF}" --replace-needed "libbinder.so" "libbinder-v31.so" "${2}" - "${PATCHELF}" --replace-needed "libhidlbase.so" "libhidlbase-v31.so" "${2}" - "${PATCHELF}" --add-needed "libprocessgroup_shim.so" "${2}" - ;; - vendor/etc/init/init.thermal_core.rc) - [ "$2" = "" ] && return 0 - sed -i 's|ro.vendor.mtk_thermal_2_0|vendor.thermal.link_ready|g' "${2}" - ;; - vendor/etc/init/android.hardware.bluetooth@1.1-service-mediatek.rc) - sed -i '/vts/Q' "$2" - ;; - vendor/etc/vintf/manifest/manifest_media_c2_V1_2_default.xml) - [ "$2" = "" ] && return 0 - sed -i 's/1.1/1.2/' "$2" - ;; - vendor/lib64/hw/hwcomposer.mtk_common.so) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --add-needed "libprocessgroup_shim.so" "${2}" - ;; - vendor/lib64/mt6789/libneuralnetworks_sl_driver_mtk_prebuilt.so|\ - vendor/lib*/libstfactory-vendor.so|\ - vendor/lib*/libnvram.so|\ - vendor/lib*/libsysenv.so|\ - vendor/lib64/ese_spi_nxp.so|\ - vendor/lib64/nfc_nci_nxp.so|\ - vendor/lib*/libtflite_mtk.so) - [ "$2" = "" ] && return 0 - "${PATCHELF}" --add-needed "libbase_shim.so" "${2}" - ;; - vendor/lib64/hw/gf_fingerprint.default.so) - [ "$2" = "" ] && return 0 - sed -i 's/libfingerprint.default.so/gf_fingerprint.default.so/' "${2}" - ;; - vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so) - [ "$2" = "" ] && return 0 - "{$PATCHELF}" --remove-needed "libhidlbase.so" "${2}" - sed -i "s/libhidltransport.so/libhidlbase-v31.so\x00/" "${2}" - ;; - vendor/lib64/hw/audio.primary.mediatek.so) - [ "$2" = "" ] && return 0 - "$PATCHELF" --replace-needed "libalsautils.so" "libalsautils-v31.so" "${2}" - grep -q "libstagefright_foundation-v33.so" "${2}" || "$PATCHELF" --add-needed "libstagefright_foundation-v33.so" "${2}" - ;; - *) - return 1 - ;; - esac - - return 0 -} - -function blob_fixup_dry() { - blob_fixup "${1}" "" -} - -# Initialize the helper -setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" - -extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" - -"${MY_DIR}/setup-makefiles.sh" diff --git a/proprietary-files.txt b/proprietary-files.txt index e761caa..4f552bd 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -21,9 +21,6 @@ vendor/lib64/vendor.mediatek.hardware.apuware.hmp@1.0.so vendor/lib64/vendor.mediatek.hardware.apuware.utils@2.0.so # Audio -vendor/bin/audiocmdservice_atci -vendor/bin/tran_tinymix -vendor/etc/init/audiocmdservice_atci.rc vendor/lib/libbwc.so vendor/lib/libladder.so vendor/lib64/hw/audio.primary.mediatek.so @@ -46,7 +43,6 @@ vendor/lib64/libaudioprimarydevicehalifclient.so vendor/lib64/libaudiosmartpamtk.so vendor/lib64/libaudiotoolkit_vendor.so vendor/lib64/libaudio_param_parser-vnd.so -vendor/lib64/libtinycompress.so vendor/lib64/libaurisysdemo.so vendor/lib64/libbessound_hd_mtk_vendor.so vendor/lib64/libblisrc32_vendor.so @@ -58,7 +54,6 @@ vendor/lib64/libmtklimiter_vendor.so vendor/lib64/libmtkshifter_vendor.so vendor/lib64/libnxp_extamp_intf.so vendor/lib64/librt_extamp_intf.so -vendor/lib64/libaudiofoundation.so vendor/lib64/libspeech_enh_lib.so;DISABLE_CHECKELF vendor/lib64/libspeechparser_vendor.so vendor/lib64/libtinycompress.so @@ -1194,7 +1189,6 @@ vendor/etc/vintf/manifest/manifest_cameraprovider.xml # Camera - Required files vendor/lib64/vendor.mediatek.hardware.mdmonitor@1.0.so -vendor/lib64/vendor.mediatek.hardware.power@1.1.so vendor/lib64/lib3a.ae.pipe.so vendor/lib64/libaibld.so vendor/lib64/libaipe_bokeh.so @@ -1257,7 +1251,6 @@ vendor/lib64/mt6789/libaibc_tuning_p2.so vendor/lib64/mt6789/libaibc_tuning_p3.so vendor/lib64/mt6789/libaibc_tuning_p4.so vendor/lib64/mt6789/libaidepth_tuning.so -vendor/lib64/mt6789/libaiselector.so vendor/lib64/mt6789/libamipengine.so vendor/lib64/mt6789/libanc_night.so vendor/lib64/mt6789/libarcsoft_high_dynamic_range.so @@ -1270,7 +1263,6 @@ vendor/lib64/mt6789/libcolorlevel.so vendor/lib64/mt6789/libdenoise.so vendor/lib64/mt6789/libdip_drv.so vendor/lib64/mt6789/libdip_postproc.so -vendor/lib64/mt6789/libDR.so vendor/lib64/mt6789/libeffecthal.base.so vendor/lib64/mt6789/libeffect_hal.so vendor/lib64/mt6789/libeyedetector.so @@ -1290,7 +1282,6 @@ vendor/lib64/mt6789/libimageio_plat_pipe.so vendor/lib64/mt6789/libitdfacebeauty.so vendor/lib64/mt6789/liblpcnr.so vendor/lib64/mt6789/libmagicsky_64.so -vendor/lib64/mt6789/libmnl.so vendor/lib64/mt6789/libmorpho_HDSR.so vendor/lib64/mt6789/libmorpho_video_stabilizer.so;DISABLE_CHECKELF vendor/lib64/mt6789/libmpbase.so @@ -1406,7 +1397,6 @@ vendor/lib64/libgralloc_metadata.so vendor/lib64/libgralloctypes_mtk.so vendor/lib64/libion_mtk.so vendor/lib64/libion_ulit.so -vendor/lib64/libladder.so vendor/lib64/libmml.so vendor/lib64/libOpenCL.so vendor/lib64/libpqframework.so @@ -1432,22 +1422,15 @@ vendor/lib64/vendor.mediatek.hardware.pq@2.7.so vendor/lib64/vendor.mediatek.hardware.pq@2.8.so vendor/lib64/vendor.mediatek.hardware.pq@2.9.so -# Display Configs -vendor/etc/AbnormalDisplayLog_dynamic.xml -vendor/etc/VideoLog_dynamic.xml -vendor/etc/ft8725_fhdp_dsi_vdo_lce_inx_120hz_x6837_cust_color.xml -vendor/etc/ft8725_fhdp_dsi_vdo_txd_inx_120hz_x6837_cust_color.xml -vendor/etc/ili7807s_fhdp_dsi_vdo_tm_tm_120hz_x6837_cust_color.xml - # DRM vendor/bin/hw/android.hardware.drm@1.4-service.widevine vendor/etc/init/android.hardware.drm@1.4-service.widevine.rc -vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.4-service.widevine.xml --vendor/lib64/mediadrm/libwvdrmengine.so;REPLACEDEP=libprotobuf-cpp-full-3.9.1:libprotobuf-cpp-full-3.9.1-vendorcompat +vendor/lib64/mediadrm/libwvdrmengine.so vendor/lib64/liboemcrypto.so vendor/lib64/libtlcWidevineModularDrm.so vendor/lib64/liburee_meta_drmkeyinstall.so --vendor/lib64/libwvhidl.so;REPLACEDEP=libprotobuf-cpp-full-3.9.1:libprotobuf-cpp-full-3.9.1-vendorcompat +vendor/lib64/libwvhidl.so # Fingerprint vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service @@ -1463,7 +1446,6 @@ vendor/lib64/libgf_ca.so vendor/lib64/libgf_factory_test.so vendor/lib64/libgf_hal.so vendor/lib64/libgoodixhwfingerprint.so -vendor/lib64/libtneclient.so vendor/lib64/libvendor.goodix.hardware.biometrics.fingerprint@2.1.so vendor/lib64/vendor.fpsensor.hardware.fpsensorhidlsvc@2.0.so diff --git a/setup-makefiles.py b/setup-makefiles.py new file mode 100755 index 0000000..32947cf --- /dev/null +++ b/setup-makefiles.py @@ -0,0 +1 @@ +#!./extract-files.py --regenerate_makefiles diff --git a/setup-makefiles.sh b/setup-makefiles.sh deleted file mode 100755 index 74bd690..0000000 --- a/setup-makefiles.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# -# SPDX-FileCopyrightText: 2016 The CyanogenMod Project -# SPDX-FileCopyrightText: 2017-2024 The LineageOS Project -# SPDX-License-Identifier: Apache-2.0 -# - -set -e - -DEVICE=S666LN -VENDOR=itel - -# Load extract_utils and do some sanity checks -MY_DIR="${BASH_SOURCE%/*}" -if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi - -ANDROID_ROOT="${MY_DIR}/../../.." - -export TARGET_ENABLE_CHECKELF=false - -HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh" -if [ ! -f "${HELPER}" ]; then - echo "Unable to find helper script at ${HELPER}" - exit 1 -fi -source "${HELPER}" - -# Initialize the helper -setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" - -# Warning headers and guards -write_headers - -write_makefiles "${MY_DIR}/proprietary-files.txt" - -# Finish -write_footers