[gst-devel] HOWTO make a small gstreamer build

Stefan Kost ensonic at hora-obscura.de
Mon Apr 23 09:48:31 CEST 2007


I am currently working on improving the buildsystem to allow disabling  
subsystems succesfully. As the questions come up from time to time,  
here is a status for he archives.

I have a build script that build with varying set of options, installs  
to separate prefixes and runs some reports afterwards. I generally  
compile for this using:
--disable-static --disable-gtk-doc --disable-docbook  
--disable-dependency-tracking --disable-gst-debug --disable-examples  

then I disable stuff step-by-step and this is the sizes I get:
1612465 no_rtchecks
1755048 no_nls
2292839 no_trace
2299035 no_index
2329974 no_loadsave
2400772 bin_registry
2403242 default

Means by also using:
--enable-binary-registry --disable-loadsave --disable-index  
--disable-trace --disable-nls
and (no_rtchecks)

one can save ~ 800kb. For the smallest build, the biggest item is:
406580 no_rtchecks/lib/libgstreamer-0.10.so.0.11.0

remainig flags I want to test: --disable-uri, --disable-net, --disable-parse

If someone wants to join experimenting - I've attached the script I  
use. Checkout a gstreamer build, copy the update script into it and  
run in. This is what I try to run after the script finished:

cd configs

# cleanup
find . -name "*.la" -exec rm {} \;

# sizes
for dir in *;do du -s -kb $dir; done | sort -n

# startup time
for dir in *;do LD_LIBRARY_PATH="$PWD/$dir/lib" /usr/bin/time  
--format="%U user %S system %E elapsed %P CPU : %C"  
./$dir/bin/gst-inspect-0.10 >/dev/null; done

# memory usage
for dir in *;do cd $dir; G_SLICE=always-malloc G_DEBUG=gc-friendly  
LD_LIBRARY_PATH="$PWD/lib" valgrind --tool=massif  
./bin/gst-inspect-0.10 >/dev/null; cd ..; done

Any ideas, critiscm, feedback is very welcome :)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: update.sh
Type: application/x-shellscript
Size: 3553 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070423/3b0c2c85/attachment.bin>

More information about the gstreamer-devel mailing list