Bug 1365505 - [P2][Fennec] Only include exoplayer & HLSDecoder related components when building --with-gradle. draft
authorKilik Kuo <kikuo@mozilla.com>
Thu, 30 Nov 2017 17:53:00 +0800
changeset 705543 4d8d75bb252a51de8778390e917d98a629a92f3d
parent 705542 4662b3f0bdece150d9730ea7d2050c6d6c0822fa
child 742391 1ccb8b25bee53ba52f399c048d2afef29cdc3b5e
push id91508
push userkikuo@mozilla.com
push dateThu, 30 Nov 2017 09:54:50 +0000
bugs1365505
milestone59.0a1
Bug 1365505 - [P2][Fennec] Only include exoplayer & HLSDecoder related components when building --with-gradle. MozReview-Commit-ID: 7Y0bZynN66i
dom/html/moz.build
dom/media/moz.build
mobile/android/base/Makefile.in
mobile/android/base/moz.build
mobile/android/geckoview/build.gradle
--- a/dom/html/moz.build
+++ b/dom/html/moz.build
@@ -245,13 +245,13 @@ LOCAL_INCLUDES += [
     '/layout/style',
     '/layout/tables',
     '/layout/xul',
     '/netwerk/base',
 ]
 
 FINAL_LIBRARY = 'xul'
 
-if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']:
     DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wno-error=shadow']
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -50,17 +50,17 @@ DIRS += [
     'wave',
     'webaudio',
     'webm',
     'webrtc',
     'webspeech',
     'webvtt',
 ]
 
-if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']:
     DIRS += ['hls']
 
 if CONFIG['MOZ_FMP4']:
     DIRS += ['mp4']
 
 if CONFIG['MOZ_WEBRTC']:
     DIRS += ['bridge']
 
@@ -319,17 +319,17 @@ LOCAL_INCLUDES += [
 if CONFIG['MOZ_WEBRTC']:
     LOCAL_INCLUDES += [
         '/media/webrtc/signaling/src/common',
         '/media/webrtc/trunk',
     ]
 
 DEFINES['MOZILLA_INTERNAL_API'] = True
 
-if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']:
     DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 # Suppress some GCC warnings being treated as errors:
 #  - about attributes on forward declarations for types that are already
 #    defined, which complains about an important MOZ_EXPORT for android::AString
 if CONFIG['GNU_CC']:
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -148,20 +148,16 @@ GECKOVIEW_JARS = \
   constants.jar \
   gecko-R.jar \
   gecko-mozglue.jar \
   gecko-util.jar \
   gecko-view.jar \
   sync-thirdparty.jar \
   $(NULL)
 
-ifdef MOZ_ANDROID_HLS_SUPPORT
-GECKOVIEW_JARS += exoplayer2.jar
-endif
-
 ifdef MOZ_WEBRTC
 GECKOVIEW_JARS += webrtc.jar
 endif
 
 ifdef MOZ_INSTALL_TRACKING
 GECKOVIEW_JARS += gecko-thirdparty-adjust_sdk.jar
 endif
 
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -459,17 +459,17 @@ gvjar.sources += [geckoview_source_dir +
     'sqlite/ByteBufferInputStream.java',
     'sqlite/MatrixBlobCursor.java',
     'sqlite/SQLiteBridge.java',
     'sqlite/SQLiteBridgeException.java',
     'TouchEventInterceptor.java',
     'WakeLockDelegate.java',
 ]]
 
-if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']:
     gvjar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [
         'media/GeckoHlsAudioRenderer.java',
         'media/GeckoHlsPlayer.java',
         'media/GeckoHlsRendererBase.java',
         'media/GeckoHlsVideoRenderer.java',
         'media/Utils.java',
     ]]
 
@@ -1427,17 +1427,17 @@ gvjar.sources += ['generated/org/mozilla
     'media/ICodecCallbacks.java',
     'media/IMediaDrmBridge.java',
     'media/IMediaDrmBridgeCallbacks.java',
     'media/IMediaManager.java',
     'process/IChildProcess.java',
     'process/IProcessManager.java',
 ]]
 
-if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+if CONFIG['MOZ_ANDROID_HLS_SUPPORT'] and CONFIG['MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE']:
     gvjar.extra_jars += [
         'exoplayer2.jar',
     ]
 
     exoplayer2_jar = add_java_jar('exoplayer2')
 
     exoplayer2_jar.javac_flags += [
         '-Xlint:all,-serial,-rawtypes,-unchecked,-fallthrough',
--- a/mobile/android/geckoview/build.gradle
+++ b/mobile/android/geckoview/build.gradle
@@ -125,17 +125,18 @@ android {
         abortOnError false
     }
 
     sourceSets {
         main {
             java {
                 srcDir "${topsrcdir}/mobile/android/geckoview/src/thirdparty/java"
 
-                if (!mozconfig.substs.MOZ_ANDROID_HLS_SUPPORT) {
+                if (!mozconfig.substs.MOZ_ANDROID_HLS_SUPPORT ||
+                    !mozconfig.substs.get('MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE')) {
                     exclude 'com/google/android/exoplayer2/**'
                     exclude 'org/mozilla/gecko/media/GeckoHlsAudioRenderer.java'
                     exclude 'org/mozilla/gecko/media/GeckoHlsPlayer.java'
                     exclude 'org/mozilla/gecko/media/GeckoHlsRendererBase.java'
                     exclude 'org/mozilla/gecko/media/GeckoHlsVideoRenderer.java'
                     exclude 'org/mozilla/gecko/media/Utils.java'
                 }