#!/bin/bash # # Tvheadend configure script # # Copyright (c) 2012 Adam Sutton # # ########################################################################### # Setup # ########################################################################### ROOTDIR=$(cd "$(dirname "$0")"; pwd) # # Options # OPTIONS=( "cwc:yes" "v4l:yes" "linuxdvb:yes" "dvbscan:yes" "timeshift:yes" "trace:yes" "imagecache:auto" "avahi:auto" "zlib:auto" "libav:auto" "inotify:auto" "bundle:no" "dvbcsa:no" ) # # Begin # . "$ROOTDIR/support/configure.inc" parse_args $* # ########################################################################### # Checks # ########################################################################### echo "Checking support/features" # # Compiler # check_cc || die 'No C compiler found' check_cc_header execinfo check_cc_option mmx check_cc_option sse2 check_cc_snippet getloadavg '#include void test() { getloadavg(NULL,0); }' check_cc_snippet atomic64 '#include uint64_t test(uint64_t *ptr){ return __sync_fetch_and_add(ptr, 1); }' # # Python # check_py || echo 'WARN: no python binary found' check_py_import gzip # # Binaries # check_bin bzip2 || echo 'WARN: no bzip2 binary found' # # SSL # if check_pkg openssl || check_pkg libssl; then enable ssl else die "SSL development support not found" fi # # Gzip # if enabled_or_auto zlib; then if check_pkg zlib; then enable zlib elif enabled zlib; then die "Zlib development support not found (use --disable-zlib)" fi fi # # Bundling # if enabled bundle; then if enabled zlib && ! enabled py_gzip; then die "Python gzip module not found (use --disable-zlib or --disable-bundle)" fi fi # # Avahi # if enabled_or_auto avahi; then if check_pkg avahi-client; then enable avahi elif enabled avahi; then die "Avahi development support not found (use --disable-avahi)" fi fi # # libav # if enabled_or_auto libav; then has_libav=true if $has_libav && ! check_pkg libavcodec "<=55.0.0"; then has_libav=false fi if $has_libav && ! check_pkg libavcodec ">=52.96.0"; then has_libav=false fi if $has_libav && ! check_pkg libavutil ">=50.43.0"; then has_libav=false fi if $has_libav && ! check_pkg libavformat "<=55.0.0"; then has_libav=false fi if $has_libav && ! check_pkg libavformat ">=53.10.0"; then has_libav=false fi if $has_libav; then enable libav elif enabled libav; then die "libav development support not found (use --disable-libav)" fi fi # # Inotify # if enabled_or_auto inotify; then if check_cc_header "sys/inotify" inotify_h; then enable inotify elif enabled inotify; then die "Inotify support not found (use --disable-inotify)" fi fi # # libdvbcsa # if enabled cwc && enabled dvbcsa; then (check_cc_header "dvbcsa/dvbcsa" dvbcsa_h &&\ check_cc_lib dvbcsa dvbcsa_l) ||\ die "Failed to find dvbcsa support (use --disable-dvbcsa)" LDFLAGS="$LDFLAGS -ldvbcsa" fi # # Icon caching # if enabled_or_auto imagecache; then if check_pkg libcurl; then enable imagecache elif enabled imagecache; then die "Libcurl support not found (use --disable-imagecache)" fi fi # # DVB scan # if enabled linuxdvb && enabled dvbscan; then printf "${TAB}" "fetching dvb-scan files ..." "${ROOTDIR}/support/getmuxlist" if [ $? -ne 0 ]; then echo "fail" die "Failed to fetch dvb-scan data (use --disable-dvbscan)" fi echo "ok" fi # ########################################################################### # Write config # ########################################################################### # Write config write_config cat >> "${CONFIG_H}" <