【发布时间】:2019-11-18 13:53:16
【问题描述】:
每个人。 我正在尝试将 makefile 转换为 Android Q 的 .bp 文件,但遇到了一些问题。
1) 我不确定如何定义发布版本。 以前在makefile中我只会写一些类似的东西:
MY_RELEASE_VERSION := $(shell cd $(LOCAL_PATH); git describe --always
--dirty) DSW_VERSION= \"$(MY_RELEASE_VERSION)\"
这将被定义为一个字符串,例如:DSW_VERSION="project_specific_3_0"
现在我可以将 .bp 中的 cppflag 与 DSW_VERSION 一起使用,但我发现无法像在 makefile 中那样获取它的值。 比如:
MY_RELEASE_VERSION = ["__builtin_func:shell cd <'LOCAL_PATH' unset>; git describe --always --dirty"]
CPPFLAGS = [
"DSW_VERSION = "\"MY_RELEASE_VERSION"\",
]
不起作用。
其次,我在定义配置变体时遇到了问题,这反过来又会从源代码中定义一个变量。 .mk 文件中的类似内容:
LOCAL_CPPFLAGS +=$(TARGET_CONFIG)
在代码中使用 ifdefine,如下所示:
#if defined (TARGET_ONE)
static const VAR = 1;
#elif defined (TARGET_TWO)
static const VAR = 2;
我尝试将 .bp 附加到 cppflags,类似于:
cppflags: MY_CPPFLAGS + TARGET_CONFIG,
其中 MY_CPPFLAGS 是一个用所有需要的标志定义的变量,它不起作用
谁能帮我解决这些问题?
【问题讨论】:
标签: android android-soong