Idea
VLC can be built with a classical process:
./bootstrap; ./configure --options; make
However, since VLC is very modular, not everyone wants the same modules built so the configure line can be very long.
Therefore, I’ll try to explain a bit the main configure options and give a few examples.
Configure
./configure
General and Developers options
--prefix=/usr \
--host= \
--build= \
--enable-debug | --enable-release # Choose the mode you want
--enable-optimizations # Optimisations are good idea
--enable-sse --enable-mmx # for releases
--enable-optimize-memory # Smaller memory for less perf
--enable-cprof --enable-gprof # Profiling
--enable-fast-install # Libtool
--enable-testsuite # If you want the tests to be built
--enable-static # Static libraries
--enable-shared # Shared libraries
--with-words # Endianess
Main VLC options
--enable-vlm # VLC Manager
--enable-visual # Visualisations
--enable-update-check # Check the updates?
--enable-sout # Streaming Server
--enable-snapshot # Create VIdeo Snapshots
--enable-lua # Script VLC
--enable-freetype --enable-fribidi # No Need to disable this
--enable-nls --enable-libxml2 # or that.
Codecs
--enable-a52 [--with-a52-fixed] # AC-3
--enable-dirac
--enable-faad # MPEG-4 Audio
--enable-fluidsynth # Midi
--enable-mpc # Musepack Audio
--enable-real # Real Audio
--enable-loader # DirectMediaObject support for WMV
--enable-theora
--enable-twolame # MPGA Encoding
--enable-tremor
--enable-x264 # H.264 Encoding
--enable-vorbis
--enable-speex
--enable-tarkin
--enable-zvbi | --enable-telx # Teletext support
--enable-dca # DTS
--enable-flac
--enable-ffmpeg # lots of codecs
[--with-ffmpeg-a52 --with-ffmpeg-mp3lame --with-ffmpeg-zlib --with-ffmpeg-amrnb --with-ffmpeg-amrwb --with-ffmpeg-faac --with-ffmpeg-theora --with-ffmpeg-vorbis ]
--enable-libmpeg2
--enable-mad # Mpga decoding
--enable-png
--enable-svg
--enable-sdl-image
Video Outputs
--enable-xvideo # Linux
--enable-xinerama
--enable-x11
--enable-glx
--enable-directfb
--enable-wingdi # Win32
--enable-directx
--enable-opengl # All
--enable-sdl
--enable-caca
--enable-aa
Audio outputs
--enable-alsa # Unix
--enable-arts
--enable-esd
--enable-jack
--enable-portaudio
--enable-hd1000a
--enable-oss
--enable-waveout # Windows
Access
--enable-screen # Desktop record
--enable-bda # DVB for windows
--enable-dshow # DirectShow device
--enable-v4l # video 4 linux
--enable-v4l2 # video 4 linux 2
--enable-dvb # DVB for Linux
--enable-pvr # PVR/IVTV
--enable-dv # DV support
--enable-gnutls # Encrypted streams
--enable-gnomevfs # Gnome VFS-
--enable-smb # Samba/Windows shares
--enable-cdda | --enable-cddax # CD Audio
--enable-dvdnav # DVD video
--enable-vcd | --enable-vcdx # VCD
--enable-dc1394 # 1394 support
--enable-hal
--enable-live555 --enable-realrtsp # RTSP
--enable-bonjour --enable-cyberlink # Various Service discoveries
--enable-upnp #
demux
--enable-mkv # Matroska
--enable-mod # ModPlug (instruments)
--enable-ogg # Ogg
--enable-gme # GME videogames
interface
--enable-qnx # QNX platform
--enable-qt4 # Default interface in Qt4
--enable-qte # QTE/Opie interface
--enable-skins2 # skins2
--enable-wxwidgets # Old default interface in wxWidgets
--enable-xosd # OSD interface
--enable-ncurses # Ncurses interface
--enable-fbosd # FrameBuffer interface
--enable-pda # Small gtk interface
--enable-httpd # HTTP daemon and interface
--enable-mozilla # Mozilla integration
--enable-activex # IE and ActiveX integration
--enable-dbus # D-Bus control
--enable-dbus-control
--enable-lirc # InfraRed Remotes
--enable-java-bindings
--enable-python-bindings
Visualisations
--enable-galaktos --enable-goom
Metadata support
--enable-id3tag # metadata using id3tag
--enable-taglib # metadata using taglib
--enable-musicbrainz # Musicbrainz
--enable-libcddb # CDDB/FreeDB integration
--enable-libcdio # CD-Text