Bug 1257104 - Move --disable-fmp4 to moz.configure
Note the imply_option from --enable-ffmpeg replaces the explicit check from
old-configure.in and triggers an error in the same circumstances.
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -253,16 +253,17 @@ def wanted_mozconfig_variables(help):
'DISABLE_SHARED_JS',
'DOXYGEN',
'DSYMUTIL',
'EXTERNAL_SOURCE_DIR',
'GENISOIMAGE',
'MOZILLABUILD',
'MOZ_ARTIFACT_BUILDS',
'MOZ_BUILD_APP',
+ 'MOZ_FMP4',
'MOZ_INSTRUMENT_EVENT_LOOP',
'PERL',
'RPMBUILD',
'TAR',
'UNZIP',
'USE_FC_FREETYPE',
'WITHOUT_X',
'XARGS',
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -195,17 +195,16 @@ def old_configure_options(*options):
'--enable-dmd',
'--enable-dtrace',
'--enable-dump-painting',
'--enable-elf-hack',
'--enable-eme',
'--enable-extensions',
'--enable-faststripe',
'--enable-feeds',
- '--enable-fmp4',
'--enable-gamepad',
'--enable-gc-trace',
'--enable-gconf',
'--enable-gczeal',
'--enable-gio',
'--enable-gnomeui',
'--enable-gold',
'--enable-gps-debug',
--- a/old-configure.in
+++ b/old-configure.in
@@ -160,17 +160,16 @@ if test -n "$gonkdir" ; then
GONK_INCLUDES="-I$gonkdir/frameworks/base/opengl/include -I$gonkdir/frameworks/base/native/include -I$gonkdir/frameworks/base/include -I$gonkdir/frameworks/base/services/camera -I$gonkdir/frameworks/base/include/media/ -I$gonkdir/frameworks/base/include/media/stagefright -I$gonkdir/frameworks/base/include/media/stagefright/openmax -I$gonkdir/frameworks/base/media/libstagefright/rtsp -I$gonkdir/frameworks/base/media/libstagefright/include -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib -I$gonkdir/dalvik/libnativehelper/include/nativehelper"
MOZ_B2G_BT=1
MOZ_B2G_BT_BLUEZ=1
MOZ_NFC=1
MOZ_B2G_CAMERA=1
MOZ_OMX_DECODER=1
AC_SUBST(MOZ_OMX_DECODER)
MOZ_RTSP=1
- MOZ_FMP4=1
MOZ_SECUREELEMENT=1
;;
17|18)
GONK_INCLUDES="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include -I$gonkdir/external/mdnsresponder/mDNSShared"
if test -d "$gonkdir/external/bluetooth/bluez"; then
GONK_INCLUDES="$GONK_INCLUDES -I$gonkdir/external/dbus -I$gonkdir/external/bluetooth/bluez/lib"
MOZ_B2G_BT=1
MOZ_B2G_BT_BLUEZ=1
@@ -182,17 +181,16 @@ if test -n "$gonkdir" ; then
MOZ_RTSP=1
MOZ_NFC=1
MOZ_B2G_CAMERA=1
MOZ_OMX_DECODER=1
AC_SUBST(MOZ_OMX_DECODER)
MOZ_OMX_ENCODER=1
AC_SUBST(MOZ_OMX_ENCODER)
AC_DEFINE(MOZ_OMX_ENCODER)
- MOZ_FMP4=1
MOZ_SECUREELEMENT=1
;;
19)
GONK_INCLUDES="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include -I$gonkdir/external/mdnsresponder/mDNSShared"
MOZ_B2G_CAMERA=1
if test -d "$gonkdir/system/bluetoothd"; then
MOZ_B2G_BT=1
MOZ_B2G_BT_DAEMON=1
@@ -201,27 +199,25 @@ if test -n "$gonkdir" ; then
MOZ_RTSP=1
MOZ_OMX_DECODER=1
MOZ_OMX_ENCODER=1
AC_DEFINE(MOZ_OMX_ENCODER)
MOZ_AUDIO_OFFLOAD=1
MOZ_SECUREELEMENT=1
AC_SUBST(MOZ_AUDIO_OFFLOAD)
AC_DEFINE(MOZ_AUDIO_OFFLOAD)
- MOZ_FMP4=1
;;
21|22)
GONK_INCLUDES="-I$gonkdir/frameworks/native/include -I$gonkdir/frameworks/av/include -I$gonkdir/frameworks/av/include/media -I$gonkdir/frameworks/av/include/camera -I$gonkdir/frameworks/native/include/media/openmax -I$gonkdir/frameworks/av/media/libstagefright/include -I$gonkdir/external/mdnsresponder/mDNSShared"
MOZ_AUDIO_OFFLOAD=1
MOZ_OMX_DECODER=1
MOZ_OMX_ENCODER=1
AC_DEFINE(MOZ_OMX_ENCODER)
AC_SUBST(MOZ_AUDIO_OFFLOAD)
AC_DEFINE(MOZ_AUDIO_OFFLOAD)
- MOZ_FMP4=1
MOZ_B2G_CAMERA=1
if test -d "$gonkdir/system/bluetoothd"; then
MOZ_B2G_BT=1
MOZ_B2G_BT_DAEMON=1
fi
MOZ_NFC=1
MOZ_RTSP=1
;;
@@ -3061,21 +3057,16 @@ if test "$MOZ_IOS"; then
MOZ_AUTH_EXTENSION=
fi
MOZ_RAW=
MOZ_VORBIS=
MOZ_TREMOR=
MOZ_SAMPLE_TYPE_FLOAT32=
MOZ_SAMPLE_TYPE_S16=
MOZ_DIRECTSHOW=
-if test -n "$MOZ_FMP4"; then
- MOZ_FMP4=1
-else
- MOZ_FMP4=
-fi
MOZ_WEBRTC=1
MOZ_PEERCONNECTION=
MOZ_SRTP=
MOZ_WEBRTC_SIGNALING=
MOZ_WEBRTC_ASSERT_ALWAYS=1
MOZ_WEBRTC_HARDWARE_AEC_NS=
MOZ_SCTP=
MOZ_ANDROID_OMX=
@@ -4350,41 +4341,16 @@ MOZ_ARG_DISABLE_BOOL(directshow,
if test -n "$MOZ_DIRECTSHOW"; then
AC_DEFINE(MOZ_DIRECTSHOW)
fi;
dnl ========================================================
dnl = Built-in fragmented MP4 support.
dnl ========================================================
-if test "$OS_TARGET" = Android -a -z "$gonkdir"; then
- MOZ_FMP4=1
-fi
-
-if test -n "$MOZ_WMF" -o -n "$MOZ_FFMPEG" -o -n "$MOZ_APPLEMEDIA"; then
- dnl Enable fragmented MP4 parser on Windows by default.
- dnl We will also need to enable it on other platforms as we implement
- dnl platform decoder support there too.
- MOZ_FMP4=1
-fi
-
-MOZ_ARG_DISABLE_BOOL(fmp4,
-[ --disable-fmp4 Disable support for in built Fragmented MP4 parsing],
- MOZ_FMP4=,
- MOZ_FMP4=1)
-
-if test -n "$MOZ_FFMPEG" -a -z "$MOZ_FMP4"; then
- AC_MSG_ERROR([Fragmented MP4 support must be enabled if using FFMPEG])
-fi
-
-if test -n "$MOZ_FMP4"; then
- AC_DEFINE(MOZ_FMP4)
- MOZ_EME=1
-fi;
-
if test x"$MOZ_WIDGET_TOOLKIT" = x"gonk" -a -n "$MOZ_FMP4" -a -n "$ANDROID_VERSION"; then
# we now know for sure that $ANDROID_VERSION is not an empty string!
if test "$ANDROID_VERSION" -ge "18"; then
MOZ_GONK_MEDIACODEC=1
AC_SUBST(MOZ_GONK_MEDIACODEC)
fi
fi
@@ -7966,17 +7932,16 @@ AC_SUBST(MSMANIFEST_TOOL)
AC_SUBST(NS_ENABLE_TSF)
AC_SUBST(WIN32_CONSOLE_EXE_LDFLAGS)
AC_SUBST(WIN32_GUI_EXE_LDFLAGS)
AC_SUBST(MOZ_VORBIS)
AC_SUBST(MOZ_TREMOR)
AC_SUBST(MOZ_FFVPX)
AC_SUBST_LIST(FFVPX_ASFLAGS)
-AC_SUBST(MOZ_FMP4)
AC_SUBST(MOZ_EME)
AC_SUBST(MOZ_DIRECTSHOW)
AC_SUBST(MOZ_ANDROID_OMX)
AC_SUBST(MOZ_OMX_PLUGIN)
AC_SUBST(MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE)
AC_SUBST(MOZ_VPX_ERROR_CONCEALMENT)
AC_SUBST(VPX_USE_YASM)
AC_SUBST_LIST(VPX_ASFLAGS)
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -171,26 +171,42 @@ def wmf(value, target):
# guaranteed to have a recent-enough SDK to build WMF.
value = target.os == 'WINNT'
if value and target.os != 'WINNT':
error('Cannot enable Windows Media Foundation support on %s'
% target.os)
if value:
set_config('MOZ_WMF', '1')
set_define('MOZ_WMF', '1')
- add_old_configure_assignment('MOZ_WMF', '1')
return bool(value)
# FFmpeg H264/AAC Decoding Support
# ==============================================================
option('--disable-ffmpeg',
help='Disable FFmpeg for fragmented H264/AAC decoding')
@depends('--disable-ffmpeg', target)
def ffmpeg(value, target):
if value.origin == 'default':
value = target.os not in ('Android', 'WINNT')
if value:
set_define('MOZ_FFMPEG', '1')
set_config('MOZ_FFMPEG', '1')
- add_old_configure_assignment('MOZ_FFMPEG', '1')
+ imply_option('--enable-fmp4', '--enable-ffmpeg')
return bool(value)
+
+
+# Built-in fragmented MP4 support.
+# ==============================================================
+option('--disable-fmp4', env='MOZ_FMP4',
+ help='Disable support for in built Fragmented MP4 parsing')
+
+@depends('--disable-fmp4', target, wmf, applemedia)
+def fmp4(value, target, wmf, applemedia):
+ if value.origin == 'default':
+ # target.os == 'Android' includes all B2G versions
+ value = wmf or applemedia or target.os == 'Android'
+ if value:
+ set_config('MOZ_FMP4', '1')
+ set_define('MOZ_FMP4', '1')
+ add_old_configure_assignment('MOZ_FMP4', '1')
+ return bool(value)