# x264
# ====
# Your choices for downloading it are a daily tarball snapshot or git.
# Daily snapshot tarballs won't work too well for an infrequently
# changing howto like this, so I'll only cover Subversion here.
mkdir -p -m 0700 ~/src
cd ~/src
test -d ./x264 && rm -r ./x264
test ! -d ./x264 &&
git clone git://git.videolan.org/x264.git
cd x264
test $UID = 0 && chown -R root:root .
test -f config.mak && make distclean
# FYI, the configure script used here is not an autoconf one
#
# If you want mp4 output with GPAC, pass --enable-mp4-output to configure
# If you don't have GTK+ installed or just don't want the GTK+ interface,
# leave off --enable-gtk
# If you don't want visualization, leave off --enable-visualize
## If you do pass --enable-mp4-output, you'll need to change this line
## in the configure script from this:
# MP4_LDFLAGS="-lgpac_static"
## to this:
# MP4_LDFLAGS="-lgpac"
## ...if you have a recent gpac that doesn't have a libgpac_static
# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --libdir=/usr/local/lib64 --enable-shared \
--enable-mp4-output --enable-gtk --enable-visualize
# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
./configure --enable-shared \
--enable-mp4-output --enable-gtk --enable-visualize \
# Build it
make
# Become root to install it
su
# Remove old shared libraries
test -d /usr/local/lib &&
( cd /usr/local/lib* ; rm -f libx264.* libx264gtk.* )
test -d /usr/local/lib64 &&
( cd /usr/local/lib64 ; rm -f libx264.* libx264gtk.* )
# Install it
make install
ldconfig
# I'm in the US and only read/write English (well), so I don't need
# this/these:
find /usr/local/share/locale -type f -name x264_gtk.mo -exec rm {} \;
# Become yourself again
exit
cd
mkdir -p -m 0700 installed
rm -f installed/x264-snapshot-*.tar.*
echo 'x264 was installed from Git in ~/src/x264' \
> installed/x264.README
chmod 600 installed/x264.README
# If you ever want to uninstall x264, this should do it:
cd
su
test -d src/x264-* && ( cd src/x264-* ; make uninstall )
( cd /usr/local/bin ; rm -f x264 x264_gtk_encode )
( cd /usr/local/include ; rm -f x264.h x264_gtk.h x264_gtk_enum.h )
test -d /usr/local/lib &&
( cd /usr/local/lib
rm -f libx264.* libx264gtk.*
test -d pkgconfig && rm pkgconfig/x264*.pc )
test -d /usr/local/lib64 &&
( cd /usr/local/lib64
rm -f libx264.* libx264gtk.*
test -d pkgconfig && rm pkgconfig/x264*.pc )
test -d /usr/local/share/x264 && rm -r /usr/local/share/x264
find /usr/local/share/locale -type f -name x264_gtk.mo -exec rm {} \;
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "x264-*" -exec rm -r {} \;
rm -f ~/installed/x264-*.tar.*