mozilla-webrtc-ppc.patch
changeset 612 3006d73ad2fa
parent 611 bcb3d1af73f7
child 617 8241ee013bb3
equal deleted inserted replaced
611:bcb3d1af73f7 612:3006d73ad2fa
     1 Submitted-by: schwab@@linux-m68k.org
       
     2 Subject: fix PPC build
       
     3 References: (not delivered with the patch but apparently mix of:)
       
     4 Bug 750869 - Support WebRTC for Android in our build system (TM:20)
       
     5 Bug 814693 - Build failure on Debian powerpc (TM:20)
       
     6 
       
     7 diff --git a/media/webrtc/shared_libs.mk b/media/webrtc/shared_libs.mk
       
     8 --- a/media/webrtc/shared_libs.mk
       
     9 +++ b/media/webrtc/shared_libs.mk
       
    10 @@ -23,33 +23,39 @@ WEBRTC_LIBS = \
       
    11    $(call EXPAND_LIBNAME_PATH,video_render_module,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_render_module) \
       
    12    $(call EXPAND_LIBNAME_PATH,video_engine_core,$(DEPTH)/media/webrtc/trunk/src/video_engine/video_engine_video_engine_core) \
       
    13    $(call EXPAND_LIBNAME_PATH,media_file,$(DEPTH)/media/webrtc/trunk/src/modules/modules_media_file) \
       
    14    $(call EXPAND_LIBNAME_PATH,rtp_rtcp,$(DEPTH)/media/webrtc/trunk/src/modules/modules_rtp_rtcp) \
       
    15    $(call EXPAND_LIBNAME_PATH,udp_transport,$(DEPTH)/media/webrtc/trunk/src/modules/modules_udp_transport) \
       
    16    $(call EXPAND_LIBNAME_PATH,bitrate_controller,$(DEPTH)/media/webrtc/trunk/src/modules/modules_bitrate_controller) \
       
    17    $(call EXPAND_LIBNAME_PATH,remote_bitrate_estimator,$(DEPTH)/media/webrtc/trunk/src/modules/modules_remote_bitrate_estimator) \
       
    18    $(call EXPAND_LIBNAME_PATH,video_processing,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing) \
       
    19 -  $(call EXPAND_LIBNAME_PATH,video_processing_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing_sse2) \
       
    20    $(call EXPAND_LIBNAME_PATH,voice_engine_core,$(DEPTH)/media/webrtc/trunk/src/voice_engine/voice_engine_voice_engine_core) \
       
    21    $(call EXPAND_LIBNAME_PATH,audio_conference_mixer,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_conference_mixer) \
       
    22    $(call EXPAND_LIBNAME_PATH,audio_device,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_device) \
       
    23    $(call EXPAND_LIBNAME_PATH,audio_processing,$(DEPTH)/media/webrtc/trunk/src/modules/modules_audio_processing) \
       
    24    $(call EXPAND_LIBNAME_PATH,aec,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec) \
       
    25 -  $(call EXPAND_LIBNAME_PATH,aec_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec_sse2) \
       
    26    $(call EXPAND_LIBNAME_PATH,apm_util,$(DEPTH)/media/webrtc/trunk/src/modules/modules_apm_util) \
       
    27    $(call EXPAND_LIBNAME_PATH,aecm,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aecm) \
       
    28    $(call EXPAND_LIBNAME_PATH,agc,$(DEPTH)/media/webrtc/trunk/src/modules/modules_agc) \
       
    29    $(call EXPAND_LIBNAME_PATH,ns,$(DEPTH)/media/webrtc/trunk/src/modules/modules_ns) \
       
    30    $(call EXPAND_LIBNAME_PATH,yuv,$(DEPTH)/media/webrtc/trunk/third_party/libyuv/libyuv_libyuv) \
       
    31    $(call EXPAND_LIBNAME_PATH,webrtc_jpeg,$(DEPTH)/media/webrtc/trunk/src/common_video/common_video_webrtc_jpeg) \
       
    32    $(call EXPAND_LIBNAME_PATH,nicer,$(DEPTH)/media/mtransport/third_party/nICEr/nicer_nicer) \
       
    33    $(call EXPAND_LIBNAME_PATH,nrappkit,$(DEPTH)/media/mtransport/third_party/nrappkit/nrappkit_nrappkit) \
       
    34    $(NULL)
       
    35  
       
    36 +# if we're on an intel arch, we want SSE2 optimizations
       
    37 +ifneq (,$(INTEL_ARCHITECTURE))
       
    38 +WEBRTC_LIBS += \
       
    39 +  $(call EXPAND_LIBNAME_PATH,video_processing_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_video_processing_sse2) \
       
    40 +  $(call EXPAND_LIBNAME_PATH,aec_sse2,$(DEPTH)/media/webrtc/trunk/src/modules/modules_aec_sse2) \
       
    41 +  $(NULL)
       
    42 +endif
       
    43 +
       
    44  # If you enable one of these codecs in webrtc_config.gypi, you'll need to re-add the
       
    45  # relevant library from this list:
       
    46  #
       
    47  #  $(call EXPAND_LIBNAME_PATH,G722,$(DEPTH)/media/webrtc/trunk/src/modules/modules_G722) \
       
    48  #  $(call EXPAND_LIBNAME_PATH,iLBC,$(DEPTH)/media/webrtc/trunk/src/modules/modules_iLBC) \
       
    49  #  $(call EXPAND_LIBNAME_PATH,iSAC,$(DEPTH)/media/webrtc/trunk/src/modules/modules_iSAC) \
       
    50  #  $(call EXPAND_LIBNAME_PATH,iSACFix,$(DEPTH)/media/webrtc/trunk/src/modules/modules_iSACFix) \
       
    51  #
       
    52 diff --git a/media/webrtc/trunk/src/modules/audio_coding/codecs/pcm16b/pcm16b.gypi b/media/webrtc/trunk/src/modules/audio_coding/codecs/pcm16b/pcm16b.gypi
       
    53 --- a/media/webrtc/trunk/src/modules/audio_coding/codecs/pcm16b/pcm16b.gypi
       
    54 +++ b/media/webrtc/trunk/src/modules/audio_coding/codecs/pcm16b/pcm16b.gypi
       
    55 @@ -6,16 +6,19 @@
       
    56  # in the file PATENTS.  All contributing project authors may
       
    57  # be found in the AUTHORS file in the root of the source tree.
       
    58  
       
    59  {
       
    60    'targets': [
       
    61      {
       
    62        'target_name': 'PCM16B',
       
    63        'type': '<(library)',
       
    64 +      'dependencies': [
       
    65 +        '<(webrtc_root)/common_audio/common_audio.gyp:signal_processing',
       
    66 +      ],
       
    67        'include_dirs': [
       
    68          'include',
       
    69        ],
       
    70        'direct_dependent_settings': {
       
    71          'include_dirs': [
       
    72            'include',
       
    73          ],
       
    74        },
       
    75 diff --git a/media/webrtc/trunk/src/typedefs.h b/media/webrtc/trunk/src/typedefs.h
       
    76 --- a/media/webrtc/trunk/src/typedefs.h
       
    77 +++ b/media/webrtc/trunk/src/typedefs.h
       
    78 @@ -52,16 +52,24 @@
       
    79  //#define WEBRTC_ARCH_ARMEL
       
    80  #define WEBRTC_ARCH_32_BITS
       
    81  #define WEBRTC_ARCH_LITTLE_ENDIAN
       
    82  #define WEBRTC_LITTLE_ENDIAN
       
    83  #elif defined(__MIPSEL__)
       
    84  #define WEBRTC_ARCH_32_BITS
       
    85  #define WEBRTC_ARCH_LITTLE_ENDIAN
       
    86  #define WEBRTC_LITTLE_ENDIAN
       
    87 +#elif defined(__powerpc__)
       
    88 +#if defined(__powerpc64__)
       
    89 +#define WEBRTC_ARCH_64_BITS
       
    90 +#else
       
    91 +#define WEBRTC_ARCH_32_BITS
       
    92 +#endif
       
    93 +#define WEBRTC_ARCH_BIG_ENDIAN
       
    94 +#define WEBRTC_BIG_ENDIAN
       
    95  #else
       
    96  #error Please add support for your architecture in typedefs.h
       
    97  #endif
       
    98  
       
    99  #if defined(__SSE2__) || defined(_MSC_VER)
       
   100  #define WEBRTC_USE_SSE2
       
   101  #endif
       
   102