view TOOLS/benchmark-gab/compile @ 9177:01a713dcaf23

disable free() in string and string_list parsers. yes, it's a hack (and a little memleak), but i can explain :) [note it's just a few kB memleak, but it's the price of stability without full code review/audit - there are hunderds of possible double free()] the old config parser didn't free() strings/stringlists, but didn't even allocate them by default. the new one always free(), and it causes memcorruption/sig11 at cases like this: char* dvd_device="/dev/dvd"; {"dvd-device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL}, since string constansts (allocated in .TEXT segment) cannot be free()'d
author arpi
date Thu, 30 Jan 2003 21:28:01 +0000
parents cba37985dec5
children
line wrap: on
line source

#!/bin/sh

. ./variables

wrtlog Starting compilation
wrtlog Options: $COMPILEOPTIONS

if [ ! -e main.tar.gz ]; then
  wrtlog MPlayer source main.tar.gz not present, exiting...
  exit 1
fi

if [ ! -e main.tar.gz ]; then
  wrtlog libavcodec source ffmpeg.tar.gz not present, exiting...
  exit 1
fi

if [ ! -d main ]; then
  wrtlog Unpacking source...
  tar xfzv main.tar.gz > /dev/null || (wrtlog Error; exit 1)
  wrtlog Unpacking done
  wrtlog Source total size: `du -hs main | awk '{print $1}'`
else
  wrtlog MPlayer source already there, not unpacking
fi

wrtlog Creating and entering separate build dir...
rm -rf $BUILD
mkdir $BUILD || (wrtlog Error; exit 1)
cd $BUILD
lndir ../main > /dev/null || (wrtlog Error; exit 1)
wrtlog Separate build dir created

wrtlog Unpacking libavcodec
rm -rf libavcodec
ln -s . ffmpeg || (wrtlog Error; exit 1)
tar xfzv ../ffmpeg.tar.gz ffmpeg/libavcodec > /dev/null || (wrtlog Error; exit 1)
rm -f ffmpeg
wrtlog Unpacking libavcodec done
wrtlog libavcodec total size: `du -hs libavcodec | awk '{print $1}'`

wrtlog Executing configure...
./configure $COMPILEOPTIONS > /dev/null || (wrtlog Error; exit 1)
wrtlog Configure done

wrtlog Executing main compile process...
unset CFLAGS CPPFLAGS CXXFLAGS
make > /dev/null 2> /dev/null || (wrtlog Error; exit 1)
wrtlog Compile ready
wrtlog Build dir size: `du -hs . | awk '{print $1}'`

wrtlog Unstripped mplayer  binary size: `ls -l mplayer | awk '{print $5}'`
wrtlog Unstripped mencoder binary size: `ls -l mencoder | awk '{print $5}'`

cd ..
rm -rf main