144 lines
No EOL
2.4 KiB
Bash
144 lines
No EOL
2.4 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Tvheadend configure shared functions
|
|
#
|
|
# Copyright (c) 2005-2008 Andreas Öman
|
|
#
|
|
# Based on FFmpeg's configure script:
|
|
#
|
|
# Copyright (c) 2000-2002 Fabrice Bellard
|
|
# Copyright (c) 2005-2008 Diego Biurrun
|
|
# Copyright (c) 2005-2008 Mans Rullgard
|
|
#
|
|
|
|
TOPDIR=`pwd`
|
|
TMPDIR=${TOPDIR}/tmp
|
|
BUILDDIR=build.${PLATFORM}
|
|
DEFAULT_THEME="new"
|
|
RELEASE=no
|
|
|
|
RELEASENAME=`head -n1 ${TOPDIR}/ChangeLog | awk '{print $2}' | sed s/\(// | sed s/\)//`
|
|
|
|
CONFIG_LIST="
|
|
cwc
|
|
avahi
|
|
mmx
|
|
sse2
|
|
linuxdvb
|
|
v4l
|
|
execinfo
|
|
"
|
|
|
|
die() {
|
|
rm -rf $TMPDIR
|
|
exit
|
|
}
|
|
|
|
set_all(){
|
|
value=$1
|
|
shift
|
|
for var in $*; do
|
|
eval $var=$value
|
|
done
|
|
}
|
|
|
|
enable(){
|
|
set_all yes $*
|
|
}
|
|
|
|
disable(){
|
|
set_all no $*
|
|
}
|
|
|
|
|
|
enabled(){
|
|
test "${1#!}" = "$1" && op== || op=!=
|
|
eval test "x\$${1#!}" $op "xyes"
|
|
}
|
|
|
|
disabled(){
|
|
test "${1#!}" = "$1" && op== || op=!=
|
|
eval test "x\$${1#!}" $op "xno"
|
|
}
|
|
|
|
toupper(){
|
|
echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
|
}
|
|
|
|
print_config(){
|
|
pfx=$1
|
|
header=$2
|
|
makefile=$3
|
|
shift 3
|
|
for cfg; do
|
|
ucname="`toupper $cfg`"
|
|
if enabled $cfg; then
|
|
echo "#define ${pfx}${ucname} 1" >> $header
|
|
echo "#define ENABLE_${ucname} 1" >> $header
|
|
echo "${pfx}${ucname}=yes" >> $makefile
|
|
else
|
|
echo "#define ENABLE_${ucname} 0" >> $header
|
|
fi
|
|
done
|
|
}
|
|
|
|
|
|
|
|
setup_env(){
|
|
# Create the dir for local libs, and get rid of any relative path
|
|
|
|
mkdir -p ${BUILDDIR}
|
|
BUILDDIR=`cd ${BUILDDIR} && pwd`
|
|
|
|
CONFIG_H=${BUILDDIR}/config.h
|
|
CONFIG_MAK=${BUILDDIR}/config.mak
|
|
CONFIG_DEF=${TOPDIR}/config.default
|
|
|
|
mkdir -p ${BUILDDIR}
|
|
|
|
# Create a tmpdir used during configure
|
|
mkdir -p ${TMPDIR}
|
|
TMPDIR=`cd ${TMPDIR} && pwd`
|
|
|
|
# Create config.mak
|
|
|
|
cat > ${CONFIG_MAK} << EOF
|
|
# Automatically generated by configure, do not edit
|
|
TOPDIR=$TOPDIR
|
|
EOF
|
|
|
|
# Create config.h
|
|
|
|
cat > ${CONFIG_H} << EOF
|
|
/* Automatically generated by configure, do not edit */
|
|
EOF
|
|
|
|
# Create config.default
|
|
|
|
cat > ${CONFIG_DEF} << EOF
|
|
# Automatically generated by configure, do not edit
|
|
PLATFORM ?= $PLATFORM
|
|
EOF
|
|
|
|
|
|
}
|
|
|
|
finalize() {
|
|
|
|
if [ ${RELEASE} = yes ]; then
|
|
echo Release build: ${RELEASENAME}
|
|
echo >>${CONFIG_H} "#define TVHEADEND_RELEASE_TAG \"${RELEASENAME}\""
|
|
fi
|
|
|
|
|
|
cat >> ${CONFIG_MAK} << EOF
|
|
OSENV=${OSENV}
|
|
LDFLAGS_cfg += -lm
|
|
EOF
|
|
|
|
print_config CONFIG_ ${CONFIG_H} ${CONFIG_MAK} $CONFIG_LIST
|
|
|
|
echo "Final binary is: build.${PLATFORM}/tvheadend"
|
|
|
|
die
|
|
} |