Update ffmpeg package and its requirements

Also make use of new build feature rules.
This commit is contained in:
Ingo Weinhold
2013-06-14 00:48:09 +02:00
parent e97e4b74a0
commit 14d5e307b4
5 changed files with 97 additions and 131 deletions
+41 -108
View File
@@ -335,120 +335,53 @@ if $(TARGET_ARCH) = x86 {
local ffmpegBaseURL = $(baseURL)/lib ;
if $(TARGET_ARCH) = x86 {
if $(HAIKU_GCC_VERSION[1]) >= 4 {
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
# TODO:...
HAIKU_FFMPEG_PACKAGE = ffmpeg-0.10.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_SPEEX_PACKAGE = speex-1.2rc1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBTHEORA_PACKAGE = libtheora-1.1.1-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVORBIS_PACKAGE = libvorbis-1.3.2-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBOGG_PACKAGE = libogg-1.3.0-r1a4-x86-gcc4-2012-09-02.zip ;
HAIKU_LIBVPX_PACKAGE = libvpx-1.0.0-r1a4-x86-gcc4-2012-09-02.zip ;
} else {
HAIKU_FFMPEG_FILE = ffmpeg-0.10.2-r1a4-x86-gcc2-2012-08-30.zip ;
HAIKU_SPEEX_FILE = speex-1.2rc1-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBOGG_FILE = libogg-1.3.0-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_LIBVPX_FILE = libvpx-1.0.0-r1a4-x86-gcc2-2012-08-29.zip ;
HAIKU_FFMPEG_PACKAGE = ffmpeg-0.10.2-1-x86_gcc2.hpkg ;
HAIKU_FFMPEG_DEVEL_PACKAGE = ffmpeg_devel-0.10.2-1-x86_gcc2.hpkg ;
HAIKU_SPEEX_PACKAGE = speex-1.2~rc1-1-x86_gcc2.hpkg ;
HAIKU_SPEEX_DEVEL_PACKAGE = speex_devel-1.2~rc1-1-x86_gcc2.hpkg ;
HAIKU_LIBTHEORA_PACKAGE = libtheora-1.1.1-1-x86_gcc2.hpkg ;
HAIKU_LIBTHEORA_DEVEL_PACKAGE = libtheora_devel-1.1.1-1-x86_gcc2.hpkg ;
HAIKU_LIBVORBIS_PACKAGE = libvorbis-1.3.2-1-x86_gcc2.hpkg ;
HAIKU_LIBVORBIS_DEVEL_PACKAGE = libvorbis_devel-1.3.2-1-x86_gcc2.hpkg ;
HAIKU_LIBOGG_PACKAGE = libogg-1.3.0-1-x86_gcc2.hpkg ;
HAIKU_LIBOGG_DEVEL_PACKAGE = libogg_devel-1.3.0-1-x86_gcc2.hpkg ;
HAIKU_LIBVPX_PACKAGE = libvpx-1.0.0-1-x86_gcc2.hpkg ;
HAIKU_LIBVPX_DEVEL_PACKAGE = libvpx_devel-1.0.0-1-x86_gcc2.hpkg ;
}
local ffmpegZipFile = [ DownloadFile $(HAIKU_FFMPEG_FILE)
: $(ffmpegBaseURL)/$(HAIKU_FFMPEG_FILE) ] ;
local speexZipFile = [ DownloadFile $(HAIKU_SPEEX_FILE)
: $(ffmpegBaseURL)/$(HAIKU_SPEEX_FILE) ] ;
local libtheoraZipFile = [ DownloadFile $(HAIKU_LIBTHEORA_FILE)
: $(ffmpegBaseURL)/$(HAIKU_LIBTHEORA_FILE) ] ;
local libvorbisZipFile = [ DownloadFile $(HAIKU_LIBVORBIS_FILE)
: $(ffmpegBaseURL)/$(HAIKU_LIBVORBIS_FILE) ] ;
local liboggZipFile = [ DownloadFile $(HAIKU_LIBOGG_FILE)
: $(ffmpegBaseURL)/$(HAIKU_LIBOGG_FILE) ] ;
local libvpxZipFile = [ DownloadFile $(HAIKU_LIBVPX_FILE)
: $(ffmpegBaseURL)/$(HAIKU_LIBVPX_FILE) ] ;
local ffmpegLibs = libavformat.so libavcodec.so libavdevice.so
libavfilter.so libswscale.so libavutil.so ;
local speexLibs = libspeex.so ;
local libtheoraLibs = libtheora.so libtheoradec.so libtheoraenc.so ;
local libvorbisLibs = libvorbis.so libvorbisenc.so ;
local liboggLibs = libogg.so ;
local libvpxLibs = libvpx.so ;
HAIKU_FFMPEG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_FFMPEG_FILE:B) ] ;
HAIKU_SPEEX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_SPEEX_FILE:B) ] ;
HAIKU_LIBTHEORA_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_LIBTHEORA_FILE:B) ] ;
HAIKU_LIBVORBIS_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_LIBVORBIS_FILE:B) ] ;
HAIKU_LIBOGG_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_LIBOGG_FILE:B) ] ;
HAIKU_LIBVPX_DIR = [ FDirName $(HAIKU_OPTIONAL_BUILD_PACKAGES_DIR)
$(HAIKU_LIBVPX_FILE:B) ] ;
local feature ;
for feature in ffmpeg speex libtheora libvorbis libogg libvpx {
HAIKU_$(feature:U)_URL = $(hpkgBaseURL)/$(HAIKU_$(feature:U)_PACKAGE) ;
HAIKU_$(feature:U)_DEVEL_URL
= $(hpkgBaseURL)/$(HAIKU_$(feature:U)_DEVEL_PACKAGE) ;
HAIKU_FFMPEG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
: common/include/ : $(ffmpegZipFile) : extracted-ffmpeg ] ;
HAIKU_SPEEX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_SPEEX_DIR)
: common/include/ : $(speexZipFile) : extracted-speex ] ;
HAIKU_LIBTHEORA_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
: common/include/ : $(libtheoraZipFile) : extracted-libtheora ] ;
HAIKU_LIBVORBIS_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
: common/include/ : $(libvorbisZipFile) : extracted-libvorbis ] ;
HAIKU_LIBOGG_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
: common/include/ : $(liboggZipFile) : extracted-libogg ] ;
HAIKU_LIBVPX_HEADERS_DEPENDENCY = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
: common/include/ : $(libvpxZipFile) : extracted-libvpx ] ;
ExtractBuildFeatureArchives $(feature) :
file: base $(HAIKU_$(feature:U)_URL)
runtime: lib
file: devel $(HAIKU_$(feature:U)_DEVEL_URL)
depends: base
libraries: develop/lib/$($(feature)Libs)
headers: develop/headers
;
HAIKU_FFMPEG_LIBS = [ ExtractArchive $(HAIKU_FFMPEG_DIR)
:
common/lib/libavformat.a
common/lib/libavcodec.a
common/lib/libavdevice.a
common/lib/libavfilter.a
common/lib/libswscale.a
common/lib/libavutil.a
: $(ffmpegZipFile)
: extracted-ffmpeg ] ;
Depends $(HAIKU_FFMPEG_LIBS) : $(HAIKU_FFMPEG_HEADERS_DEPENDENCY) ;
HAIKU_SPEEX_LIBS = [ ExtractArchive $(HAIKU_SPEEX_DIR)
:
common/lib/libspeex.a
: $(speexZipFile)
: extracted-speex ] ;
Depends $(HAIKU_SPEEX_LIBS) : $(HAIKU_SPEEX_HEADERS_DEPENDENCY) ;
HAIKU_LIBTHEORA_LIBS = [ ExtractArchive $(HAIKU_LIBTHEORA_DIR)
:
common/lib/libtheora.a
common/lib/libtheoradec.a
common/lib/libtheoraenc.a
: $(libtheoraZipFile)
: extracted-libtheora ] ;
Depends $(HAIKU_LIBTHEORA_LIBS) : $(HAIKU_LIBTHEORA_HEADERS_DEPENDENCY) ;
HAIKU_LIBVORBIS_LIBS = [ ExtractArchive $(HAIKU_LIBVORBIS_DIR)
:
common/lib/libvorbis.a
common/lib/libvorbisenc.a
: $(libvorbisZipFile)
: extracted-libvorbis ] ;
Depends $(HAIKU_LIBVORBIS_LIBS) : $(HAIKU_LIBVORBIS_HEADERS_DEPENDENCY) ;
HAIKU_LIBOGG_LIBS = [ ExtractArchive $(HAIKU_LIBOGG_DIR)
:
common/lib/libogg.a
: $(liboggZipFile)
: extracted-libogg ] ;
Depends $(HAIKU_LIBOGG_LIBS) : $(HAIKU_LIBOGG_HEADERS_DEPENDENCY) ;
HAIKU_LIBVPX_LIBS = [ ExtractArchive $(HAIKU_LIBVPX_DIR)
:
common/lib/libvpx.a
: $(libvpxZipFile)
: extracted-libvpx ] ;
Depends $(HAIKU_LIBVPX_LIBS) : $(HAIKU_LIBVPX_HEADERS_DEPENDENCY) ;
HAIKU_FFMPEG_HEADERS = [ FDirName $(HAIKU_FFMPEG_DIR) common include ] ;
HAIKU_SPEEX_HEADERS = [ FDirName $(HAIKU_SPEEX_DIR) common include ] ;
HAIKU_LIBTHEORA_HEADERS = [ FDirName $(HAIKU_LIBTHEORA_DIR) common include ] ;
HAIKU_LIBVORBIS_HEADERS = [ FDirName $(HAIKU_LIBVORBIS_DIR) common include ] ;
HAIKU_LIBOGG_HEADERS = [ FDirName $(HAIKU_LIBOGG_DIR) common include ] ;
HAIKU_LIBVPX_HEADERS = [ FDirName $(HAIKU_LIBVPX_DIR) common include ] ;
EnableBuildFeatures ffmpeg ;
EnableBuildFeatures $(feature) ;
}
} else {
Echo "FFMpeg support not available on $(TARGET_ARCH)" ;
}