Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2012-11-13 20:42:36 +0400
committerBastien Montagne <montagne29@wanadoo.fr>2012-11-13 20:42:36 +0400
commita46b1feb77b655bfb52b704c5b8376d0624c4105 (patch)
tree687800d272c160446f45e6c958c75c18e54d41d0 /build_files/build_environment
parent7abee9614ac91073d8c17487055dc3c3b9746302 (diff)
Add more info to make ffmpeg work "out of the box" for DEB systems:
*For CMake, enable ffmpeg (it is disabled by default...) *Give the full list a librairies to link. Tested on Debian for CMake (did not test scons at all for now, anyway). Not yet implemented for RPM/SUSE distribs, but this should not be too hard.
Diffstat (limited to 'build_files/build_environment')
-rwxr-xr-xbuild_files/build_environment/install_deps.sh58
1 files changed, 56 insertions, 2 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index a89df97f4e1..05a3c895d1c 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -11,8 +11,10 @@ BOOST_VERSION="1_51_0"
OIIO_VERSION="1.1.0"
OCIO_VERSION="1.0.7"
FFMPEG_VERSION="1.0"
+_ffmpeg_list_sep=";"
HASXVID=false
+XVIDDEV=""
HASVPX=false
HASMP3LAME=false
HASX264=false
@@ -310,12 +312,14 @@ install_DEB() {
if [ $? -eq 0 ]; then
sudo apt-get install -y libxvidcore-dev
HASXVID=true
+ XVIDDEV="libxvidcore-dev"
fi
check_package_DEB libxvidcore4-dev
if [ $? -eq 0 ]; then
sudo apt-get install -y libxvidcore4-dev
HASXVID=true
+ XVIDDEV="libxvidcore4-dev"
fi
check_package_DEB libmp3lame-dev
@@ -521,6 +525,52 @@ install_SUSE() {
compile_FFmpeg
}
+print_info_ffmpeglink_DEB() {
+ _packages="libtheora-dev"
+
+ if $HASXVID; then
+ _packages="$_packages $XVIDDEV"
+ fi
+
+ if $HASVPX; then
+ _packages="$_packages libvpx-dev"
+ fi
+
+ if $HASMP3LAME; then
+ _packages="$_packages libmp3lame-dev"
+ fi
+
+ if $HASX264; then
+ _packages="$_packages libx264-dev"
+ fi
+
+ if $HASOPENJPEG; then
+ _packages="$_packages libopenjpeg-dev"
+ fi
+
+ if $HASSCHRO; then
+ _packages="$_packages libschroedinger-dev"
+ fi
+
+ dpkg -L $_packages | grep -e ".*\/lib[^\/]\+\.so" | awk '{ printf(nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^/]+)\.so/, "\\1", "g", $0)); nlines++ }'
+}
+
+print_info_ffmpeglink() {
+ # This func must only print a ';'-separated list of libs...
+ if [ -z "$DISTRO" ]; then
+ ERROR "Failed to detect distribution type"
+ exit 1
+ elif [ "$DISTRO" = "DEB" ]; then
+ print_info_ffmpeglink_DEB
+ # XXX TODO!
+ else INFO "<Could not determine additional link libraries needed for ffmpeg, replace this by valid list of libs...>"
+# elif [ "$DISTRO" = "RPM" ]; then
+# print_info_ffmpeglink_RPM
+# elif [ "$DISTRO" = "SUSE" ]; then
+# print_info_ffmpeglink_SUSE
+ fi
+}
+
print_info() {
INFO ""
INFO "If you're using CMake add this to your configuration flags:"
@@ -531,7 +581,9 @@ print_info() {
fi
if [ -d /opt/lib/ffmpeg ]; then
+ INFO " -D WITH_CODEC_FFMPEG=ON"
INFO " -D FFMPEG=/opt/lib/ffmpeg"
+ INFO " -D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;`print_info_ffmpeglink`'"
fi
INFO ""
@@ -547,7 +599,7 @@ print_info() {
fi
if [ -d /opt/lib/oiio ]; then
- INFO "BF_OCIO='/opt/lib/oiio'"
+ INFO "BF_OIIO='/opt/lib/oiio'"
fi
if [ -d /opt/lib/boost ]; then
@@ -556,6 +608,8 @@ print_info() {
if [ -d /opt/lib/ffmpeg ]; then
INFO "BF_FFMPEG='/opt/lib/ffmpeg'"
+ _ffmpeg_list_sep=" "
+ INFO "BF_FFMPEG_LIB='avformat avcodec swscale avutil avdevice `print_info_ffmpeglink`'"
fi
}
@@ -563,7 +617,7 @@ print_info() {
detect_distro
if [ -z "$DISTRO" ]; then
- ERROR "Failed to detect distribytive type"
+ ERROR "Failed to detect distribution type"
exit 1
elif [ "$DISTRO" = "DEB" ]; then
install_DEB