| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//third_party/openh264/openh264_args.gni") |
| |
| assert(use_openh264) |
| |
| # Import source and include variables from openh264.gypi. |
| openh264_gypi_values = exec_script("//build/gypi_to_gn.py", |
| [ rebase_path("openh264.gypi") ], |
| "scope") |
| |
| # Config shared by all openh264 targets. |
| config("config") { |
| cflags = [] |
| defines = [] |
| |
| # Compiler warnings to ignore. |
| if (!is_win) { |
| # GCC flags |
| cflags += [ |
| "-Wno-header-hygiene", |
| "-Wno-unused-value", |
| ] |
| } |
| |
| # Platform-specific defines. |
| if (is_android) { |
| # Android NDK is necessary for its cpufeatures and this define is what |
| # OpenH264 code uses to check if it should be used. |
| defines += [ "ANDROID_NDK" ] |
| } |
| } |
| |
| source_set("common") { |
| sources = openh264_gypi_values.openh264_common_sources |
| include_dirs = openh264_gypi_values.openh264_common_includes |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| configs += [ ":config" ] |
| deps = [] |
| if (is_android) { |
| deps += [ |
| # Defines "android_get/setCpu..." functions. The original OpenH264 build |
| # files replaces these using macros for "wels_..." versions of the same |
| # functions. We do not have access to these and use the <cpu-features.h> |
| # ones instead. |
| "//third_party/android_tools:cpu_features", |
| ] |
| } |
| } |
| |
| source_set("processing") { |
| sources = openh264_gypi_values.openh264_processing_sources |
| include_dirs = openh264_gypi_values.openh264_processing_includes |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| configs += [ ":config" ] |
| deps = [ |
| ":common", |
| ] |
| } |
| |
| source_set("encoder") { |
| sources = openh264_gypi_values.openh264_encoder_sources |
| include_dirs = openh264_gypi_values.openh264_encoder_includes |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| configs += [ ":config" ] |
| deps = [ |
| ":common", |
| ":processing", |
| ] |
| } |