Bug 1393119 - Fix os x gn build draft
authorDan Minor <dminor@mozilla.com>
Mon, 30 Oct 2017 15:30:03 -0400
changeset 693659 46fda04b29995387564fe05c2130152f55fa5c71
parent 693658 ff6e8e20564c4a30dc82021fb4e2c9325f220c2a
child 693660 ce59cce76c280a334050e1cc9c395ebda01dee9f
push id87887
push userbmo:dminor@mozilla.com
push dateMon, 06 Nov 2017 19:01:19 +0000
bugs1393119
milestone58.0a1
Bug 1393119 - Fix os x gn build MozReview-Commit-ID: 4M5lwedEVZb
media/webrtc/trunk/moz.build
media/webrtc/trunk/webrtc/base/BUILD.gn
media/webrtc/trunk/webrtc/modules/desktop_capture/BUILD.gn
--- a/media/webrtc/trunk/moz.build
+++ b/media/webrtc/trunk/moz.build
@@ -1,86 +1,87 @@
-
-DIRS += [
-    "/media/webrtc/trunk/webrtc/modules/audio_mixer/audio_mixer_impl_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/video_coding_utility_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_conference_mixer/audio_conference_mixer_gn",
-    "/media/webrtc/trunk/webrtc/modules/bitrate_controller/bitrate_controller_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_processing/video_processing_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_mixer/audio_frame_manipulator_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_format_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/pcm16b_c_gn",
-    "/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_network_adaptor_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/webrtc_opus_gn",
-    "/media/webrtc/trunk/webrtc/system_wrappers/field_trial_default_gn",
-    "/media/webrtc/trunk/webrtc/modules/rtp_rtcp/rtp_rtcp_gn",
-    "/media/webrtc/trunk/webrtc/call/call_gn",
-    "/media/webrtc/trunk/webrtc/modules/media_file/media_file_gn",
-    "/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_differ_sse2_gn",
-    "/media/webrtc/trunk/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/g722_c_gn",
-    "/media/webrtc/trunk/webrtc/system_wrappers/system_wrappers_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_decoder_interface_gn",
-    "/media/webrtc/trunk/webrtc/logging/rtc_event_log_impl_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/g711_c_gn",
-    "/media/webrtc/trunk/webrtc/base/gtest_prod_gn",
-    "/media/webrtc/trunk/webrtc/common_audio/common_audio_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/webrtc_opus_c_gn",
-    "/media/webrtc/trunk/webrtc/common_video/common_video_gn",
-    "/media/webrtc/trunk/webrtc/system_wrappers/metrics_default_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_c_gn",
-    "/media/webrtc/trunk/webrtc/api/transport_api_gn",
-    "/media/webrtc/trunk/webrtc/modules/congestion_controller/congestion_controller_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/builtin_audio_decoder_factory_gn",
-    "/media/webrtc/trunk/webrtc/common_audio/common_audio_sse2_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_decoder_factory_interface_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_i420_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/neteq_gn",
-    "/media/webrtc/trunk/webrtc/modules/utility/utility_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/pcm16b_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_format_conversion_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/video_coding_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_fix_c_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_h264_gn",
-    "/media/webrtc/trunk/webrtc/modules/desktop_capture/primitives_gn",
-    "/media/webrtc/trunk/webrtc/logging/rtc_event_log_api_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn",
-    "/media/webrtc/trunk/webrtc/api/audio_mixer_api_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/g711_gn",
-    "/media/webrtc/trunk/webrtc/voice_engine/voice_engine_gn",
-    "/media/webrtc/trunk/webrtc/api/call_api_gn",
-    "/media/webrtc/trunk/webrtc/api/video_frame_api_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_encoder_interface_gn",
-    "/media/webrtc/trunk/webrtc/audio/utility/audio_frame_operations_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_c_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_sse2_gn",
-    "/media/webrtc/trunk/webrtc/audio/audio_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/g722_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_gn",
-    "/media/webrtc/trunk/webrtc/voice_engine/audio_coder_gn",
-    "/media/webrtc/trunk/webrtc/base/rtc_numerics_gn",
-    "/media/webrtc/trunk/webrtc/voice_engine/file_player_gn",
-    "/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn",
-    "/media/webrtc/trunk/webrtc/media/mozilla_rtc_media_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_common_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_internal_impl_gn",
-    "/media/webrtc/trunk/webrtc/modules/pacing/pacing_gn",
-    "/media/webrtc/trunk/webrtc/common_audio/common_audio_c_gn",
-    "/media/webrtc/trunk/webrtc/video/video_gn",
-    "/media/webrtc/trunk/webrtc/call/call_interfaces_gn",
-    "/media/webrtc/trunk/webrtc/voice_engine/level_indicator_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/rent_a_codec_gn",
-    "/media/webrtc/trunk/webrtc/base/rtc_base_approved_gn",
-    "/media/webrtc/trunk/webrtc/webrtc_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/cng_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_fix_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_module_gn",
-    "/media/webrtc/trunk/webrtc/modules/video_processing/video_processing_sse2_gn",
-    "/media/webrtc/trunk/webrtc/voice_engine/file_recorder_gn",
-    "/media/webrtc/trunk/webrtc/video_engine/video_engine_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_coding_gn",
-    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_gn",
-    "/media/webrtc/trunk/webrtc/webrtc_common_gn"
-]
+
+DIRS += [
+    "/media/webrtc/trunk/webrtc/modules/audio_mixer/audio_mixer_impl_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/video_coding_utility_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_conference_mixer/audio_conference_mixer_gn",
+    "/media/webrtc/trunk/webrtc/modules/bitrate_controller/bitrate_controller_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_processing/video_processing_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_mixer/audio_frame_manipulator_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_format_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/pcm16b_c_gn",
+    "/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_network_adaptor_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/webrtc_opus_gn",
+    "/media/webrtc/trunk/webrtc/system_wrappers/field_trial_default_gn",
+    "/media/webrtc/trunk/webrtc/modules/rtp_rtcp/rtp_rtcp_gn",
+    "/media/webrtc/trunk/webrtc/call/call_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_device/mac_portaudio_gn",
+    "/media/webrtc/trunk/webrtc/modules/media_file/media_file_gn",
+    "/media/webrtc/trunk/webrtc/modules/desktop_capture/desktop_capture_differ_sse2_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/g722_c_gn",
+    "/media/webrtc/trunk/webrtc/system_wrappers/system_wrappers_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_decoder_interface_gn",
+    "/media/webrtc/trunk/webrtc/logging/rtc_event_log_impl_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/g711_c_gn",
+    "/media/webrtc/trunk/webrtc/base/gtest_prod_gn",
+    "/media/webrtc/trunk/webrtc/common_audio/common_audio_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/webrtc_opus_c_gn",
+    "/media/webrtc/trunk/webrtc/common_video/common_video_gn",
+    "/media/webrtc/trunk/webrtc/system_wrappers/metrics_default_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_c_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/cng_gn",
+    "/media/webrtc/trunk/webrtc/modules/congestion_controller/congestion_controller_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/builtin_audio_decoder_factory_gn",
+    "/media/webrtc/trunk/webrtc/common_audio/common_audio_sse2_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp9_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_i420_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/neteq_gn",
+    "/media/webrtc/trunk/webrtc/modules/utility/utility_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/pcm16b_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_format_conversion_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_encoder_interface_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/video_coding_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_h264_gn",
+    "/media/webrtc/trunk/webrtc/modules/desktop_capture/primitives_gn",
+    "/media/webrtc/trunk/webrtc/logging/rtc_event_log_api_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_coding/webrtc_vp8_gn",
+    "/media/webrtc/trunk/webrtc/api/transport_api_gn",
+    "/media/webrtc/trunk/webrtc/api/audio_mixer_api_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/g711_gn",
+    "/media/webrtc/trunk/webrtc/voice_engine/voice_engine_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_common_gn",
+    "/media/webrtc/trunk/webrtc/api/call_api_gn",
+    "/media/webrtc/trunk/webrtc/api/video_frame_api_gn",
+    "/media/webrtc/trunk/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_gn",
+    "/media/webrtc/trunk/webrtc/audio/utility/audio_frame_operations_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_c_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_processing/audio_processing_sse2_gn",
+    "/media/webrtc/trunk/webrtc/audio/audio_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/g722_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_gn",
+    "/media/webrtc/trunk/webrtc/voice_engine/audio_coder_gn",
+    "/media/webrtc/trunk/webrtc/base/rtc_numerics_gn",
+    "/media/webrtc/trunk/webrtc/voice_engine/file_player_gn",
+    "/media/webrtc/trunk/webrtc/base/rtc_task_queue_gn",
+    "/media/webrtc/trunk/webrtc/media/mozilla_rtc_media_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_fix_c_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_internal_impl_gn",
+    "/media/webrtc/trunk/webrtc/modules/pacing/pacing_gn",
+    "/media/webrtc/trunk/webrtc/common_audio/common_audio_c_gn",
+    "/media/webrtc/trunk/webrtc/video/video_gn",
+    "/media/webrtc/trunk/webrtc/call/call_interfaces_gn",
+    "/media/webrtc/trunk/webrtc/voice_engine/level_indicator_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/rent_a_codec_gn",
+    "/media/webrtc/trunk/webrtc/base/rtc_base_approved_gn",
+    "/media/webrtc/trunk/webrtc/webrtc_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_device/audio_device_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_decoder_factory_interface_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_fix_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_capture/video_capture_module_gn",
+    "/media/webrtc/trunk/webrtc/modules/video_processing/video_processing_sse2_gn",
+    "/media/webrtc/trunk/webrtc/voice_engine/file_recorder_gn",
+    "/media/webrtc/trunk/webrtc/video_engine/video_engine_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/audio_coding_gn",
+    "/media/webrtc/trunk/webrtc/modules/audio_coding/isac_gn",
+    "/media/webrtc/trunk/webrtc/webrtc_common_gn"
+]
--- a/media/webrtc/trunk/webrtc/base/BUILD.gn
+++ b/media/webrtc/trunk/webrtc/base/BUILD.gn
@@ -25,17 +25,17 @@ group("base") {
     ":rtc_task_queue",
   ]
   if (is_android) {
     public_deps += [ ":base_java" ]
   }
 }
 
 config("rtc_base_approved_all_dependent_config") {
-  if (is_mac && !build_with_chromium) {
+  if (is_mac && !(build_with_chromium || build_with_mozilla)) {
     libs = [ "Foundation.framework" ]  # needed for logging_mac.mm
   }
 }
 
 config("rtc_base_config") {
   defines = [ "FEATURE_ENABLE_SSL" ]
 }
 
@@ -195,16 +195,23 @@ rtc_static_library("rtc_base_approved") 
   if (is_win) {
     sources += [ "file_win.cc" ]
 
     if (build_with_mozilla) {
       sources += [ "win32.cc" ]
     }
   }
 
+  if (is_mac) {
+    if (build_with_mozilla) {
+      sources += [ "macutils.cc" ]
+    }
+  }
+
+
   if (build_with_chromium) {
     # Dependency on chromium's logging (in //base).
     deps += [ "//base:base" ]
     sources += [
       "../../webrtc_overrides/webrtc/base/logging.cc",
       "../../webrtc_overrides/webrtc/base/logging.h",
     ]
   } else {
--- a/media/webrtc/trunk/webrtc/modules/desktop_capture/BUILD.gn
+++ b/media/webrtc/trunk/webrtc/modules/desktop_capture/BUILD.gn
@@ -178,16 +178,22 @@ rtc_static_library("desktop_capture") {
   if (build_with_mozilla) {
     sources += [
       "desktop_device_info.cc",
       "desktop_device_info.h",
       "app_capturer_win.cc",
       "win/desktop_device_info_win.cc",
       "win/win_shared.cc",
     ]
+
+    if (is_mac) {
+      sources += [
+        "app_capturer_mac.mm",
+      ]
+    }
   }
 
   if (use_x11) {
     sources += [
       "mouse_cursor_monitor_x11.cc",
       "screen_capturer_x11.cc",
       "window_capturer_x11.cc",
       "x11/shared_x_display.cc",
@@ -221,16 +227,22 @@ rtc_static_library("desktop_capture") {
   }
 
   if (is_mac) {
     libs = [
       "AppKit.framework",
       "IOKit.framework",
       "OpenGL.framework",
     ]
+
+    if (build_with_mozilla) {
+      sources += [
+        "mac/desktop_device_info_mac.mm",
+      ]
+    }
   }
 
   if (is_win) {
     libs = [
       "d3d11.lib",
       "dxgi.lib",
     ]
   }
@@ -246,16 +258,20 @@ rtc_static_library("desktop_capture") {
     deps += [ "$rtc_libyuv_dir" ]
   } else {
     include_dirs = [ "$rtc_libyuv_dir/include" ]
   }
 
   if (use_desktop_capture_differ_sse2) {
     deps += [ ":desktop_capture_differ_sse2" ]
   }
+
+  if (build_with_mozilla) {
+    deps += ["../../base:rtc_base_approved"]
+  }
 }
 
 if (use_desktop_capture_differ_sse2) {
   # Have to be compiled as a separate target because it needs to be compiled
   # with SSE2 enabled.
   rtc_static_library("desktop_capture_differ_sse2") {
     visibility = [ ":*" ]
     sources = [