diff options
author | Nicolas Dechesne <n-dechesne@ti.com> | 2011-09-30 00:54:14 +0200 |
---|---|---|
committer | Nicolas Dechesne <n-dechesne@ti.com> | 2011-09-30 00:54:14 +0200 |
commit | beb43201c942afa12dfc4225218b61fcd6e90923 (patch) | |
tree | a1d85bac4a9ad32ed087d08ecd99ac3c03b9aa0a /scripts |
Imported Upstream version 0.11.1upstream/0.11.1
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/gst-uninstalled | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/scripts/gst-uninstalled b/scripts/gst-uninstalled new file mode 100755 index 0000000..485a1c1 --- /dev/null +++ b/scripts/gst-uninstalled @@ -0,0 +1,182 @@ +#!/bin/bash -i +# +# this script is in git as gstreamer/scripts/gst-uninstalled +# +# It will set up the environment to use and develop gstreamer and projects +# that use gstreamer with an uninstalled git checkout of gstreamer and the +# plugin modules. +# +# It will set up LD_LIBRARY_PATH, DYLD_LIBRARY_PATH, PKG_CONFIG_PATH, +# GST_PLUGIN_PATH, GST_PLUGIN_SYSTEM_PATH, GST_REGISTRY, MANPATH, PYTHONPATH +# to prefer the uninstalled versions but also contain the installed ones. +# The only exception to this is, that no system installed plugins will be +# used but only the uninstalled ones. +# +# This script assumes that the relevant modules are checked out one by one +# under a given tree specified below in MYGST. +# +# Symlink this script in a directory in your path (for example $HOME/bin). You +# must name the symlink gst-something, where something is the subdirectory +# of MYGST that contains your gstreamer module checkouts. +# +# e.g.: +# - mkdir $HOME/gst/head +# - ln -sf gst-uninstalled $HOME/bin/gst-head +# - checkout copies of gstreamer modules in $HOME/gst/head +# - gst-head + +# This script is run -i so that PS1 doesn't get cleared + +# Change this variable to the location of your gstreamer git checkouts +MYGST=$HOME/gst + +# +# Everything below this line shouldn't be edited! +# + +# extract version from $0 +# if this script is called "gst-head" then version will be "head" +VERSION=`echo $0 | sed s/.*gst-//g` + +# base path under which dirs are installed +GST=$MYGST/$VERSION +GST_PREFIX=$GST/prefix +if test ! -e $GST; then + echo "$GST does not exist !" + exit +fi + +# set up a bunch of paths +PATH="\ +$GST/gstreamer/tools:\ +$GST/gst-plugins-base/tools:\ +$GST/gst-player/src:\ +$GST/gst-editor/src:\ +$GST/gstreamer-sharp/tools:\ +$GST_PREFIX/bin:\ +$PATH" + +# /some/path: makes the dynamic linker look in . too, so avoid this +LD_LIBRARY_PATH=$GST_PREFIX/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} +DYLD_LIBRARY_PATH=$GST_PREFIX/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH} + +# GStreamer rtsp server library +LD_LIBRARY_PATH=$GST/gst-rtsp-server/gst/rtsp-server/.libs:$LD_LIBRARY_PATH +DYLD_LIBRARY_PATH=$GST/gst-rtsp-server/gst/rtsp-server/.libs:$DYLD_LIBRARY_PATH + +# GStreamer ffmpeg libraries +for path in libavformat libavutil libavcodec libpostproc libavdevice +do + LD_LIBRARY_PATH=$GST/gst-ffmpeg/gst-libs/ext/ffmpeg/$path:$LD_LIBRARY_PATH + DYLD_LIBRARY_PATH=$GST/gst-ffmpeg/gst-libs/ext/ffmpeg/$path:$DYLD_LIBRARY_PATH +done + +# GStreamer plugins base libraries +for path in app audio cdda fft interfaces pbutils netbuffer riff rtp rtsp sdp tag utils video +do + LD_LIBRARY_PATH=$GST/gst-plugins-base/gst-libs/gst/$path/.libs:$LD_LIBRARY_PATH + DYLD_LIBRARY_PATH=$GST/gst-plugins-base/gst-libs/gst/$path/.libs:$DYLD_LIBRARY_PATH +done + +# GStreamer core libraries +for path in base net check controller dataprotocol +do + LD_LIBRARY_PATH=$GST/gstreamer/libs/gst/$path/.libs:$LD_LIBRARY_PATH + DYLD_LIBRARY_PATH=$GST/gstreamer/libs/gst/$path/.libs:$DYLD_LIBRARY_PATH +done +LD_LIBRARY_PATH=$GST/gstreamer/gst/.libs:$LD_LIBRARY_PATH +DYLD_LIBRARY_PATH=$GST/gstreamer/gst/.libs:$DYLD_LIBRARY_PATH +export LD_LIBRARY_PATH +export DYLD_LIBRARY_PATH + +export PKG_CONFIG_PATH="\ +$GST_PREFIX/lib/pkgconfig\ +:$GST/gstreamer/pkgconfig\ +:$GST/gst-plugins-base/pkgconfig\ +:$GST/gst-plugins-good/pkgconfig\ +:$GST/gst-plugins-ugly/pkgconfig\ +:$GST/gst-plugins-bad/pkgconfig\ +:$GST/gst-ffmpeg/pkgconfig\ +:$GST/gst-python/pkgconfig\ +:$GST/gst-rtsp-server/pkgconfig\ +:$GST/gstreamer-sharp/pkgconfig\ +:$GST/farsight2\ +:$GST/libnice/nice\ +${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" + +export GST_PLUGIN_PATH="\ +$GST/gstreamer/plugins\ +:$GST/gst-plugins-base/ext\ +:$GST/gst-plugins-base/gst\ +:$GST/gst-plugins-base/sys\ +:$GST/gst-plugins-good/ext\ +:$GST/gst-plugins-good/gst\ +:$GST/gst-plugins-good/sys\ +:$GST/gst-plugins-ugly/ext\ +:$GST/gst-plugins-ugly/gst\ +:$GST/gst-plugins-ugly/sys\ +:$GST/gst-plugins-bad/ext\ +:$GST/gst-plugins-bad/gst\ +:$GST/gst-plugins-bad/sys\ +:$GST/gst-ffmpeg/ext\ +:$GST/gnonlin/gnl\ +:$GST/gst-openmax\ +:$GST/gst-plugins-gl/gst\ +:$GST/plugins\ +:$GST/farsight2/gst\ +:$GST/farsight2/transmitters\ +:$GST/libnice/gst\ +${GST_PLUGIN_PATH:+:$GST_PLUGIN_PATH}" + +# don't use any system-installed plug-ins at all +export GST_PLUGIN_SYSTEM_PATH= +# set our registry somewhere else so we don't mess up the registry generated +# by an installed copy +rm -f $GST/gstreamer/registry.xml 2>/dev/null +export GST_REGISTRY=$GST/gstreamer/registry.dat +# Point at the uninstalled plugin scanner +export GST_PLUGIN_SCANNER=$GST/gstreamer/libs/gst/helpers/gst-plugin-scanner + +# once MANPATH is set, it needs at least an "empty"component to keep pulling +# in the system-configured man paths from man.config +# this still doesn't make it work for the uninstalled case, since man goes +# look for a man directory "nearby" instead of the directory I'm telling it to +export MANPATH=$GST/gstreamer/tools:$GST_PREFIX/share/man:$MANPATH +pythonver=`python -c "import sys; print sys.version[:3]"` +export PYTHONPATH=$GST/gst-python:$GST_PREFIX/lib/python$pythonver/site-packages${PYTHONPATH:+:$PYTHONPATH} + +# totem-pl-parser +export PKG_CONFIG_PATH=$GST/totem-pl-parser:$PKG_CONFIG_PATH +export LD_LIBRARY_PATH=$GST/totem-pl-parser/plparse/.libs:$LD_LIBRARY_PATH +export DYLD_LIBRARY_PATH=$GST/totem-pl-parser/plparse/.libs:$DYLD_LIBRARY_PATH + +# totem +export PATH=$GST/totem/src:$PATH + +# gstreamer-sharp +export MONO_PATH=$GST/gstreamer-sharp/gstreamer-sharp:$MONO_PATH +export LD_LIBRARY_PATH=$GST/gstreamer-sharp/gstreamer-sharp/glue/.libs:$LD_LIBRARY_PATH +export DYLD_LIBRARY_PATH=$GST/gstreamer-sharp/gstreamer-sharp/glue/.libs:$DYLD_LIBRARY_PATH + +# gst-qa-system +export PYTHONPATH=$GST/gst-qa-system:$PYTHONPATH +export PATH=$GST/gst-qa-system/bin:$PATH + +# if we got a command, run it, else start a shell +if test ! -z "$1"; +then + $@ + exit $? +fi + +# set up prompt to help us remember we're in a subshell, cd to +# the gstreamer base dir and start $SHELL +cd $GST +shell=$SHELL +if test "x$SHELL" = "x/bin/bash" +then + # debian/ubuntu resets our PS1. bastards. + shell="$SHELL --noprofile" +fi +PS1="[gst-$VERSION] $PS1" $shell + |