Mercurial > mplayer.hg
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