Last active
August 29, 2015 14:10
-
-
Save ksophocleous/4ec6774be2ae710d72c4 to your computer and use it in GitHub Desktop.
setup android gstreamer and c# bindings builder
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -e | |
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF | |
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list | |
sudo apt-get update && sudo apt-get upgrade -y | |
sudo apt-get install -y \ | |
cmake build-essential libtool pkg-config automake git autotools-dev automake autoconf libtool g++ autopoint make \ | |
bison flex yasm gtk-doc-tools libxv-dev libx11-dev libpulse-dev python-dev texinfo gettext \ | |
doxygen curl libxext-dev libxi-dev x11proto-record-dev libxrender-dev libgl1-mesa-dev libxfixes-dev libxdamage-dev \ | |
libxcomposite-dev libasound2-dev libxml-simple-perl dpkg-dev debhelper devscripts fakeroot transfig gperf libdbus-glib-1-dev \ | |
wget glib-networking mono-devel libgtk-3-dev libglib2.0-cil-dev | |
## Generate gstreamer .NET bindings | |
################################################## | |
wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.4.4.tar.xz | |
tar xf gstreamer-1.4.4.tar.xz | |
(cd gstreamer-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
wget http://gstreamer.freedesktop.org/data/src/gst-plugins-base/gst-plugins-base-1.4.4.tar.xz | |
tar xf gst-plugins-base-1.4.4.tar.xz | |
(cd gst-plugins-base-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
wget http://gstreamer.freedesktop.org/data/src/gst-plugins-good/gst-plugins-good-1.4.4.tar.xz | |
tar xf gst-plugins-good-1.4.4.tar.xz | |
(cd gst-plugins-good-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
wget http://gstreamer.freedesktop.org/data/src/gst-plugins-bad/gst-plugins-bad-1.4.4.tar.xz | |
tar xf gst-plugins-bad-1.4.4.tar.xz | |
(cd gst-plugins-bad-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
wget http://gstreamer.freedesktop.org/data/src/gst-plugins-ugly/gst-plugins-ugly-1.4.4.tar.xz | |
tar xf gst-plugins-ugly-1.4.4.tar.xz | |
(cd gst-plugins-ugly-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
wget http://gstreamer.freedesktop.org/data/src/gst-libav/gst-libav-1.4.4.tar.xz | |
tar xf gst-libav-1.4.4.tar.xz | |
(cd gst-libav-1.4.4 && ./configure && sudo make install && sudo ldconfig) | |
git clone https://github.com/mono/gtk-sharp.git | |
(cd gtk-sharp && ./autogen --prefix=$HOME/bindings && make install) | |
git clone https://github.com/gstreamer-sharp/gstreamer-sharp.git | |
(export PATH=$PATH:$HOME/bindings/bin && \ | |
cd gstreamer-sharp && \ | |
PKG_CONFIG_PATH=$HOME/bindings/lib/pkgconfig ./autogen.sh --prefix=$HOME/bindings && \ | |
make install) | |
################################################## | |
wget https://raw.githubusercontent.com/taka-no-me/android-cmake/master/android.toolchain.cmake | |
export CMAKE_TOOLCHAIN_FILE=$(pwd)/android.toolchain.cmake | |
#git clone git://anongit.freedesktop.org/gstreamer-sdk/cerbero ~/cerbero | |
#echo "alias cerbero='~/cerbero/cerbero-uninstalled'" >> ~/.bashrc | |
#. ~/.bashrc | |
# WARNING: This will require your sudo password | |
# cd ~/cerbero && cerbero -c config/cross-android.cbc bootstrap | |
# Android NDK | |
wget http://dl.google.com/android/ndk/android-ndk-r10c-linux-x86.bin | |
chmod a+x android-ndk-r10c-linux-x86.bin | |
./android-ndk-r10c-linux-x86.bin | |
rm android-ndk-r10c-linux-x86.bin | |
echo "export ANDROID_NDK=\"$(pwd)/android-ndk-r10c\"" >> ~/.bashrc | |
# echo "export PATH=$PATH:$ANDROID_NDK/bin" >> ~/.bashrc | |
. ~/.bashrc | |
#### Setup an android toolchain | |
#### This should probably be in a different script | |
export ANDROID_PLATFORM=android-14 | |
export ANDROID_CPU_ARCH=armeabi-v7a | |
export INSTALL_PREFIX=$HOME/installed-${ANDROID_PLATFORM}-${ANDROID_CPU_ARCH} | |
## Build libsodium | |
git clone https://github.com/ksophocleous/libsodium.git ~/libsodium | |
(rm -rf ~/libsodium/build && \ | |
mkdir -p ~/libsodium/build && \ | |
cd ~/libsodium/build && \ | |
cmake \ | |
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE \ | |
-DANDROID_NATIVE_API_LEVEL=$ANDROID_PLATFORM \ | |
-DANDROID_ABI=$ANDROID_CPU_ARCH \ | |
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
.. && | |
cmake --build . --config Release --target install) | |
## Build libsrtp | |
git clone https://github.com/dozeo/libsrtp.git ~/libsrtp | |
(rm -rf ~/libsrtp/build && \ | |
mkdir -p ~/libsrtp/build && \ | |
cd ~/libsrtp/build && \ | |
cmake \ | |
-DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE \ | |
-DANDROID_NATIVE_API_LEVEL=$ANDROID_PLATFORM \ | |
-DANDROID_ABI=$ANDROID_CPU_ARCH \ | |
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \ | |
-DCMAKE_BUILD_TYPE=Release \ | |
.. && | |
cmake --build . --config Release --target install) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment