diff --git a/androidmk/cmd/androidmk/androidmk_test.go b/androidmk/cmd/androidmk/androidmk_test.go index 2eab0ccf3..4d5180e98 100644 --- a/androidmk/cmd/androidmk/androidmk_test.go +++ b/androidmk/cmd/androidmk/androidmk_test.go @@ -1176,6 +1176,84 @@ prebuilt_usr_share_host { src: "foo.txt", sub_dir: "bar", } +`, + }, + { + desc: "prebuilt_firmware subdir_bar in $(TARGET_OUT_ETC)", + in: ` +include $(CLEAR_VARS) +LOCAL_MODULE := foo +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/bar +LOCAL_SRC_FILES := foo.fw +include $(BUILD_PREBUILT) +`, + expected: ` +prebuilt_firmware { + name: "foo", + + src: "foo.fw", + sub_dir: "bar", +} +`, + }, + { + desc: "prebuilt_firmware subdir_bar in $(TARGET_OUT)", + in: ` +include $(CLEAR_VARS) +LOCAL_MODULE := foo +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/firmware/bar +LOCAL_SRC_FILES := foo.fw +include $(BUILD_PREBUILT) +`, + expected: ` +prebuilt_firmware { + name: "foo", + + src: "foo.fw", + sub_dir: "bar", +} +`, + }, + { + desc: "prebuilt_firmware subdir_bar in $(TARGET_OUT_VENDOR)", + in: ` +include $(CLEAR_VARS) +LOCAL_MODULE := foo +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/firmware/bar +LOCAL_SRC_FILES := foo.fw +include $(BUILD_PREBUILT) +`, + expected: ` +prebuilt_firmware { + name: "foo", + + src: "foo.fw", + sub_dir: "bar", + proprietary: true, +} +`, + }, + { + desc: "prebuilt_firmware subdir_bar in $(TARGET_OUT)/vendor", + in: ` +include $(CLEAR_VARS) +LOCAL_MODULE := foo +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/firmware/bar +LOCAL_SRC_FILES := foo.fw +include $(BUILD_PREBUILT) +`, + expected: ` +prebuilt_firmware { + name: "foo", + + src: "foo.fw", + sub_dir: "bar", + proprietary: true, +} `, }, { diff --git a/bpfix/bpfix/bpfix.go b/bpfix/bpfix/bpfix.go index 17cff1801..cac4d9ab6 100644 --- a/bpfix/bpfix/bpfix.go +++ b/bpfix/bpfix/bpfix.go @@ -503,16 +503,18 @@ func (f etcPrebuiltModuleUpdate) update(m *parser.Module, path string) bool { } var localModuleUpdate = map[string][]etcPrebuiltModuleUpdate{ - "HOST_OUT": {{prefix: "/etc", modType: "prebuilt_etc_host"}, {prefix: "/usr/share", modType: "prebuilt_usr_share_host"}}, - "PRODUCT_OUT": {{prefix: "/system/etc"}, {prefix: "/vendor/etc", flags: []string{"proprietary"}}}, - "TARGET_OUT": {{prefix: "/etc"}, {prefix: "/usr/share", modType: "prebuilt_usr_share"}, {prefix: "/fonts", modType: "prebuilt_font"}}, - "TARGET_OUT_ETC": {{prefix: ""}}, + "HOST_OUT": {{prefix: "/etc", modType: "prebuilt_etc_host"}, {prefix: "/usr/share", modType: "prebuilt_usr_share_host"}}, + "PRODUCT_OUT": {{prefix: "/system/etc"}, {prefix: "/vendor/etc", flags: []string{"proprietary"}}}, + "TARGET_OUT": {{prefix: "/usr/share", modType: "prebuilt_usr_share"}, {prefix: "/fonts", modType: "prebuilt_font"}, + {prefix: "/etc/firmware", modType: "prebuilt_firmware"}, {prefix: "/vendor/firmware", modType: "prebuilt_firmware", flags: []string{"proprietary"}}, + {prefix: "/etc"}}, + "TARGET_OUT_ETC": {{prefix: "/firmware", modType: "prebuilt_firmware"}, {prefix: ""}}, "TARGET_OUT_PRODUCT": {{prefix: "/etc", flags: []string{"product_specific"}}, {prefix: "/fonts", modType: "prebuilt_font", flags: []string{"product_specific"}}}, "TARGET_OUT_PRODUCT_ETC": {{prefix: "", flags: []string{"product_specific"}}}, "TARGET_OUT_ODM": {{prefix: "/etc", flags: []string{"device_specific"}}}, "TARGET_OUT_PRODUCT_SERVICES": {{prefix: "/etc", flags: []string{"product_services_specific"}}}, "TARGET_OUT_PRODUCT_SERVICES_ETC": {{prefix: "", flags: []string{"product_services_specific"}}}, - "TARGET_OUT_VENDOR": {{prefix: "/etc", flags: []string{"proprietary"}}}, + "TARGET_OUT_VENDOR": {{prefix: "/etc", flags: []string{"proprietary"}}, {prefix: "/firmware", modType: "prebuilt_firmware", flags: []string{"proprietary"}}}, "TARGET_OUT_VENDOR_ETC": {{prefix: "", flags: []string{"proprietary"}}}, "TARGET_RECOVERY_ROOT_OUT": {{prefix: "/system/etc", flags: []string{"recovery"}}}, }