Как указать пользовательское двоичное имя в Soong?

#android-source #android-soong

#android-исходный код #android-soong

Вопрос:

Я создаю пользовательский двоичный файл C для добавления в сборку AOSP, и мне нужно использовать новые файлы Soong build (.bp) (которые, как я узнал, основаны на Bazel). По умолчанию «имя» модуля станет двоичным именем, но мне нужно его изменить. Есть ли какой-нибудь способ сделать это?

Итак, в приведенном ниже примере я бы хотел, чтобы сгенерированный двоичный файл был «myzip»

 cc_binary {
    name: "gzip",
    srcs: ["src/test/minigzip.c"],
    shared_libs: ["libz"],
    stl: "none",
}
  

Ответ №1:

Используйте stem для этого свойство, например:

 cc_binary {
    name: "gzip",
    srcs: ["src/test/minigzip.c"],
    shared_libs: ["libz"],
    stl: "none",
    multilib: {
        lib32: {
            stem: "gzip",
        },
        lib64: {
            stem: "gzip64",
        },
    },
}
  

Комментарии:

1. Это официальная функция? Просто не удалось найти официальные документы. Могу ли я использовать stem на том же уровне, что и name и другие свойства? Мне не нужны варианты, просто жестко заданное пользовательское имя.

2. Конечно, официальный, вы можете найти его здесь ci.android.com/builds/submitted/6186764/linux/latest/view /… для cc_binary . Да, используйте его на том же уровне, что name и свойство.

3. Спасибо, это работает в целом (к сожалению, в моем случае это не так, потому что мне нужно использовать его в сочетании с переопределениями: так что как stem, так и override вызывают ошибку компиляции:/)