Explanations for configure options?

Added by Anders Gustafsson 4 months ago

Are they documented anywhere? Some things are pretty self-explanatory, ie things like --disable-avahi but some are just greek to me.


Replies (15)

RE: Explanations for configure options? - Added by saen acro 4 months ago

Long time ago I also ask same question,
no answers.

RE: Explanations for configure options? - Added by Anders Gustafsson 4 months ago

OK. Perhaps better luck this time? :)

RE: Explanations for configure options? - Added by Robert Cameron 4 months ago

Most (all) options are exposed through './configure --help'. Is there a specific option you don't understand, because I believe they are all rather self-explanatory.

RE: Explanations for configure options? - Added by saen acro 4 months ago

Usage: ./configure [options]

Miscellaneous
  --help                         Print this message

Installation Paths
  --prefix=DIR$                  Installation root [/usr/local]
  --bindir=DIR                   Install binaries in DIR [${prefix}/bin]
  --libdir=DIR                   Install libraries in DIR [${prefix}/lib]
  --mandir=DIR                   Install man pages in DIR [${datadir}/man]
  --datadir=DIR                  Install data files in DIR [${prefix}/share]

Compiler/Arch
  --cc=CC                        Build using compiler [cc]
  --cflags=CFLAGS                Build using C flags
  --ldflags=LDFLAGS              Build using LD flags
  --cpu=CPU                      Build and optimize for specific CPU
  --arch=ARCH                    Build for architecture [i686]
  --platform=PLATFORM            Build for platform [linux]
  --nowerror                     Build without -Werror CFLAGS
  --python=PYTHON                Use python binary [python]

Options
  --disable-pie                  Disable pie
  --enable-ccdebug               Enable ccdebug
  --disable-cardclient           Disable cardclient
  --enable-cardclient            Enable cardclient
  --disable-cwc                  Disable cwc
  --disable-cccam                Disable cccam
  --disable-capmt                Disable capmt
  --disable-constcw              Disable constcw
  --disable-linuxdvb             Disable linuxdvb
  --disable-satip_server         Disable satip_server
  --disable-satip_client         Disable satip_client
  --enable-hdhomerun_client      Enable hdhomerun_client
  --disable-hdhomerun_static     Disable hdhomerun_static
  --disable-iptv                 Disable iptv
  --disable-tsfile               Disable tsfile
  --disable-dvbscan              Disable dvbscan
  --disable-timeshift            Disable timeshift
  --disable-trace                Disable trace
  --disable-imagecache           Disable imagecache
  --enable-imagecache            Enable imagecache
  --disable-avahi                Disable avahi
  --enable-avahi                 Enable avahi
  --disable-zlib                 Disable zlib
  --enable-zlib                  Enable zlib
  --disable-libav                Disable libav
  --enable-libav                 Enable libav
  --disable-ffmpeg_static        Disable ffmpeg_static
  --disable-libx264              Disable libx264
  --disable-libx264_static       Disable libx264_static
  --disable-libx265              Disable libx265
  --disable-libx265_static       Disable libx265_static
  --disable-libvpx               Disable libvpx
  --disable-libvpx_static        Disable libvpx_static
  --disable-libtheora            Disable libtheora
  --disable-libtheora_static     Disable libtheora_static
  --disable-libvorbis            Disable libvorbis
  --disable-libvorbis_static     Disable libvorbis_static
  --enable-libfdkaac             Enable libfdkaac
  --disable-libfdkaac_static     Disable libfdkaac_static
  --disable-libopus              Disable libopus
  --disable-libopus_static       Disable libopus_static
  --enable-nvenc                 Enable nvenc
  --disable-vaapi                Disable vaapi
  --enable-vaapi                 Enable vaapi
  --enable-mmal                  Enable mmal
  --enable-omx                   Enable omx
  --disable-inotify              Disable inotify
  --enable-inotify               Enable inotify
  --disable-epoll                Disable epoll
  --enable-epoll                 Enable epoll
  --disable-pcre                 Disable pcre
  --enable-pcre                  Enable pcre
  --disable-pcre2                Disable pcre2
  --enable-pcre2                 Enable pcre2
  --disable-uriparser            Disable uriparser
  --enable-uriparser             Enable uriparser
  --disable-ccache               Disable ccache
  --enable-ccache                Enable ccache
  --disable-tvhcsa               Disable tvhcsa
  --enable-tvhcsa                Enable tvhcsa
  --enable-bundle                Enable bundle
  --enable-pngquant              Enable pngquant
  --enable-dvbcsa                Enable dvbcsa
  --enable-kqueue                Enable kqueue
  --disable-dbus_1               Disable dbus_1
  --enable-dbus_1                Enable dbus_1
  --enable-android               Enable android
  --enable-tsdebug               Enable tsdebug
  --enable-gtimer_check          Enable gtimer_check
  --enable-slow_memoryinfo       Enable slow_memoryinfo
  --enable-libsystemd_daemon     Enable libsystemd_daemon
  --disable-bintray_cache        Disable bintray_cache
  --enable-ddci                  Enable ddci


not so informative
example
what is Enable android, what it do?

RE: Explanations for configure options? - Added by Robert Cameron 4 months ago

It does exactly as it sounds: sets up the build for a binary that can run on Android (arm-linux-androideabi-).

Are there other options that need explanation?

RE: Explanations for configure options? - Added by Anders Gustafsson 4 months ago

OK. That is a start :) Why not put this in the wiki? I could do that, but I do not seem to have the rights to create a page there.

Anyway, what I was looking for was to skip stuff that I have no need or use for. This means that there would be less libraries to download and install and less risc for problems. In my case, I just use DVB-T and DVB-C, so I do not need SAT, nor iptv.

I also assume that I do not need Avahi as I do not use Apple devices and Avahi, however useful, is quite a problematic protocol.

So, if I would be able to create a wikipage, then I could at least start documenting.

RE: Explanations for configure options? - Added by Robert Cameron 4 months ago

If you're curious and want to investigate, check out the configure script in the github repo. If there's an option that confuses you, look at the commit notes for when it was added and the modifications done to understand what it does.

RE: Explanations for configure options? - Added by Anders Gustafsson 4 months ago

Great tip! Let me have a look at it and if I have the time do some documentation!

RE: Explanations for configure options? - Added by Mark Clarkstone 4 months ago

Anders Gustafsson wrote:
> Great tip! Let me have a look at it and if I have the time do some documentation!

I've added you to the Wiki editors group, feel free to help with the documentation.

RE: Explanations for configure options? - Added by saen acro 4 months ago

Robert Cameron wrote:

It does exactly as it sounds: sets up the build for a binary that can run on Android (arm-linux-androideabi-).

Are there other options that need explanation?

Аt least 10 words for the option,
what it do, and why is needed.

RE: Explanations for configure options? - Added by Anders Gustafsson 4 months ago

Does this look like a start? I will do my best, but have quite a lot on my plate at the moment, but the more we can help the developers, the more time they have to make the code even greater!

https://tvheadend.org/projects/tvheadend/wiki/ConfigurationOptions

RE: Explanations for configure options? - Added by Mark Clarkstone 4 months ago

Anders Gustafsson wrote:

Does this look like a start? I will do my best, but have quite a lot on my plate at the moment, but the more we can help the developers, the more time they have to make the code even greater!

https://tvheadend.org/projects/tvheadend/wiki/ConfigurationOptions

Nice! But line break when using h1|2|3. so the rest isn't bold.

h3. Foo

Bar

Foo

Bar


vs

h3. Foo
Bar

Foo
Bar


RE: Explanations for configure options? - Added by Anders Gustafsson 4 months ago

Yes. I have not done much Wiki work lately. Used to be pretty active on wikipedia. I did start looking at the configure history, but much of it assumes that you are cery well-versed in multimedia programming, but I will do my best in the hope that others will correct any errors I make.

(1-15/15)