1*3f982cf4SFabien Sanglard# Copyright 2019 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard# Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard# found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglardimport("//build/config/external_libraries.gni") 6*3f982cf4SFabien Sanglardimport("//build_overrides/build.gni") 7*3f982cf4SFabien Sanglard 8*3f982cf4SFabien Sanglard# Define the executable target only when the build is configured to use the 9*3f982cf4SFabien Sanglard# standalone platform implementation; since this is itself a standalone 10*3f982cf4SFabien Sanglard# application. 11*3f982cf4SFabien Sanglard# 12*3f982cf4SFabien Sanglard# See [external_libraries.md](../../build/config/external_libraries.md) for more information. 13*3f982cf4SFabien Sanglardif (!build_with_chromium) { 14*3f982cf4SFabien Sanglard shared_sources = [ 15*3f982cf4SFabien Sanglard "cast_service.cc", 16*3f982cf4SFabien Sanglard "cast_service.h", 17*3f982cf4SFabien Sanglard "mirroring_application.cc", 18*3f982cf4SFabien Sanglard "mirroring_application.h", 19*3f982cf4SFabien Sanglard "simple_remoting_receiver.cc", 20*3f982cf4SFabien Sanglard "simple_remoting_receiver.h", 21*3f982cf4SFabien Sanglard "streaming_playback_controller.cc", 22*3f982cf4SFabien Sanglard "streaming_playback_controller.h", 23*3f982cf4SFabien Sanglard ] 24*3f982cf4SFabien Sanglard 25*3f982cf4SFabien Sanglard shared_deps = [ 26*3f982cf4SFabien Sanglard "../../discovery:dnssd", 27*3f982cf4SFabien Sanglard "../../discovery:public", 28*3f982cf4SFabien Sanglard "../../platform:standalone_impl", 29*3f982cf4SFabien Sanglard "../common:public", 30*3f982cf4SFabien Sanglard "../receiver:agent", 31*3f982cf4SFabien Sanglard "../receiver:channel", 32*3f982cf4SFabien Sanglard "../streaming:receiver", 33*3f982cf4SFabien Sanglard ] 34*3f982cf4SFabien Sanglard 35*3f982cf4SFabien Sanglard have_external_libs = have_ffmpeg && have_libsdl2 36*3f982cf4SFabien Sanglard 37*3f982cf4SFabien Sanglard if (have_external_libs) { 38*3f982cf4SFabien Sanglard source_set("standalone_receiver_sdl") { 39*3f982cf4SFabien Sanglard sources = shared_sources 40*3f982cf4SFabien Sanglard deps = shared_deps 41*3f982cf4SFabien Sanglard 42*3f982cf4SFabien Sanglard defines = [ "CAST_STANDALONE_RECEIVER_HAVE_EXTERNAL_LIBS" ] 43*3f982cf4SFabien Sanglard sources += [ 44*3f982cf4SFabien Sanglard "avcodec_glue.h", 45*3f982cf4SFabien Sanglard "decoder.cc", 46*3f982cf4SFabien Sanglard "decoder.h", 47*3f982cf4SFabien Sanglard "sdl_audio_player.cc", 48*3f982cf4SFabien Sanglard "sdl_audio_player.h", 49*3f982cf4SFabien Sanglard "sdl_glue.cc", 50*3f982cf4SFabien Sanglard "sdl_glue.h", 51*3f982cf4SFabien Sanglard "sdl_player_base.cc", 52*3f982cf4SFabien Sanglard "sdl_player_base.h", 53*3f982cf4SFabien Sanglard "sdl_video_player.cc", 54*3f982cf4SFabien Sanglard "sdl_video_player.h", 55*3f982cf4SFabien Sanglard ] 56*3f982cf4SFabien Sanglard include_dirs = ffmpeg_include_dirs + libsdl2_include_dirs 57*3f982cf4SFabien Sanglard lib_dirs = ffmpeg_lib_dirs + libsdl2_lib_dirs 58*3f982cf4SFabien Sanglard libs = ffmpeg_libs + libsdl2_libs 59*3f982cf4SFabien Sanglard } 60*3f982cf4SFabien Sanglard } 61*3f982cf4SFabien Sanglard 62*3f982cf4SFabien Sanglard source_set("standalone_receiver_dummy") { 63*3f982cf4SFabien Sanglard sources = shared_sources 64*3f982cf4SFabien Sanglard deps = shared_deps 65*3f982cf4SFabien Sanglard 66*3f982cf4SFabien Sanglard sources += [ 67*3f982cf4SFabien Sanglard "dummy_player.cc", 68*3f982cf4SFabien Sanglard "dummy_player.h", 69*3f982cf4SFabien Sanglard ] 70*3f982cf4SFabien Sanglard } 71*3f982cf4SFabien Sanglard 72*3f982cf4SFabien Sanglard executable("cast_receiver") { 73*3f982cf4SFabien Sanglard sources = [ "main.cc" ] 74*3f982cf4SFabien Sanglard 75*3f982cf4SFabien Sanglard deps = shared_deps 76*3f982cf4SFabien Sanglard configs += [ "../common:certificate_config" ] 77*3f982cf4SFabien Sanglard 78*3f982cf4SFabien Sanglard if (have_external_libs) { 79*3f982cf4SFabien Sanglard deps += [ ":standalone_receiver_sdl" ] 80*3f982cf4SFabien Sanglard } else { 81*3f982cf4SFabien Sanglard deps += [ ":standalone_receiver_dummy" ] 82*3f982cf4SFabien Sanglard } 83*3f982cf4SFabien Sanglard } 84*3f982cf4SFabien Sanglard} 85