1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54

build / linux / unbundle / openh264.gn [blame]

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/linux/pkg_config.gni")
import("//build/shim_headers.gni")

config("encoder_cfi_flags") {
  cflags = []
  if (current_toolchain == default_toolchain && is_clang) {
    openh264_cfi_ignorelist_path =
        rebase_path("//build/linux/unbundle/openh264_encoder_cfi_ignores.txt",
                    root_build_dir)
    cflags += [ "-fsanitize-ignorelist=$openh264_cfi_ignorelist_path" ]
  }
}

pkg_config("config") {
  packages = [ "openh264" ]
}

shim_headers("openh264_shim") {
  prefix = "wels/"
  root_path = "src/codec/api/wels"
  headers = [
    "codec_api.h",
    "codec_app_def.h",
    "codec_def.h",
    "codec_ver.h",
  ]
}

source_set("common") {
  deps = [ ":openh264_shim" ]
  public_configs = [ ":config" ]
}

source_set("processing") {
  deps = [ ":openh264_shim" ]
  public_configs = [ ":config" ]
}

source_set("decoder") {
  deps = [ ":openh264_shim" ]
  public_configs = [ ":config" ]
}

source_set("encoder") {
  deps = [ ":openh264_shim" ]
  public_configs = [
    ":config",
    ":encoder_cfi_flags",
  ]
}