1 Star 3 Fork 1

wawanala / ohos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
build-gn-demo.md 2.99 KB
一键复制 编辑 原始数据 按行查看 历史
wawanala 提交于 2022-03-25 13:24 . update build-gn-demo.md.

文档

https://gitee.com/openharmony/build
https://gitee.com/xfan1024

下载

https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.5.1.tar.bz2
https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.5.1.tar.bz2
https://travis-ci.org/github/tinyalsa/tinyalsa

补丁

vi control_empty.c
const char *_snd_module_control_empty = "";

配置

./configure --prefix=/system/usr

vi BUILD.gn

import("//build/ohos.gni")
import("//build/ohos/ndk/ndk.gni")

config("tiny-alsa_config") {
  include_dirs = [
    "./",
    "./include",
  ]
  cflags = [
    "-Wno-incompatible-pointer-types",
    "-Werror",
    "-Wimplicit-function-declaration",
    "-Wno-error=unused-variable",
    "-Wno-macro-redefined",
  ]
}

ohos_shared_library("libtinyalsa") {
  sources = [
    "src/mixer.c",
    "src/mixer_hw.c",
    "src/mixer_plugin.c",
    "src/pcm.c",
    "src/pcm_hw.c",
    "src/pcm_plugin.c",
    "src/snd_card_plugin.c",
  ]
  license_file = "./NOTICE"
  install_images = [
    "system",
    "updater",
  ]
  install_enable = true
  configs = [ ":tiny-alsa_config" ]

  subsystem_name = "applications"
  part_name = "tiny-alsa"
}

ohos_executable("tinyplay") {
  sources = [
    "utils/tinyplay.c",
  ]

  install_enable = true
  configs = [ ":tiny-alsa_config" ]
  subsystem_name = "applications"
  part_name = "tiny-alsa"
    deps = ["//applications/standard/tiny-alsa:libtinyalsa",]
}    

ohos_executable("tinymix") {
  sources = [
    "utils/tinymix.c",
  ]
  install_enable = true
  configs = [ ":tiny-alsa_config" ]
  subsystem_name = "applications"
  part_name = "tiny-alsa"
    deps = ["//applications/standard/tiny-alsa:libtinyalsa",]
}

ohos_executable("tinypcminfo") {
  sources = [
    "utils/tinypcminfo.c",
  ]
  install_enable = true
  configs = [ ":tiny-alsa_config" ]
  subsystem_name = "applications"
  part_name = "tiny-alsa"
    deps = ["//applications/standard/tiny-alsa:libtinyalsa",]

}

ohos_executable("tinywavinfo") {
  sources = [
    "utils/tinywavinfo.c",
  ]
  install_enable = true
  configs = [ ":tiny-alsa_config" ]
  subsystem_name = "applications"
  part_name = "tiny-alsa"
    deps = ["//applications/standard/tiny-alsa:libtinyalsa",]
}

ohos_executable("tinycap") {
  sources = [
    "utils/tinycap.c",
  ]
  install_enable = true
  configs = [ ":tiny-alsa_config" ]
  subsystem_name = "applications"
  part_name = "tiny-alsa"
    deps = ["//applications/standard/tiny-alsa:libtinyalsa",]
}

vi ohos.build

{
  "subsystem": "applications",
  "parts": {
    "tiny-alsa": {
      "module_list": [
        "//applications/standard/tiny-alsa:libtinyalsa",
        "//applications/standard/tiny-alsa:tinyplay",
        "//applications/standard/tiny-alsa:tinymix",
        "//applications/standard/tiny-alsa:tinypcminfo",
        "//applications/standard/tiny-alsa:tinywavinfo",
        "//applications/standard/tiny-alsa:tinycap"   
      ]
    }
  }
}
C
1
https://gitee.com/wawanala/ohos.git
git@gitee.com:wawanala/ohos.git
wawanala
ohos
ohos
master

搜索帮助