#!/bin/sh # # display help screeen # help() { cat << END Usage: configure [options] --prefix=DIR set install prefix to DIR [$prefix] --bindir=DIR install executables in DIR [\$prefix/bin] --datadir=DIR install read-only data in DIR [\$prefix/share] --includedir=DIR install header files in DIR [\$prefix/include] --libdir=DIR install libraries in DIR [\$prefix/lib] --mandir=DIR install man pages in DIR [\$prefix/man] --precision=NUMBER aucat processing precision [$precision] --enable-alsa enable alsa backend [$alsa] --disable-alsa disable alsa backend --enable-sun enable sun backend [$sun] --disable-sun disable sun backend END } # # defaults # prefix=/usr/local # where to install sndio so="libsndio.so.\${MAJ}.\${MIN}" # shared libs to build alsa=no # do we want alsa support ? sun=no # do we want sun support ? precision=16 # aucat arithmetic precision unset vars # variables passed as arguments unset bindir # path where to install binaries unset datadir # path where to install doc unset mandir # path where to install man pages unset includedir # path where to install header file unset libdir # path where to install library unset defs # no extra #defines unset ldadd # no extra libraries (-l options) # # guess OS-specific parameters # case `uname` in Linux) alsa=yes ldadd="-lrt" so="$so libsndio.so.\${MAJ} libsndio.so" defs='-DCOMPAT_ISSETUGID \\\ -DCOMPAT_STRLCAT -DCOMPAT_STRLCPY -DCOMPAT_STRTONUM \\\ -DCOMPAT_LETOH -DDEV_RANDOM=\\"/dev/urandom\\"' ;; OpenBSD) sun=yes defs='-DUSE_ARC4RANDOM' ;; esac # shell word separator (none) IFS='' # sed-quoted new-line nl='\ ' for i; do case "$i" in --prefix=*) prefix="${i#--prefix=}" shift;; --bindir=*) bindir="${i#--bindir=}" shift;; --datadir=*) datadir="${i#--datadir=}" shift;; --includedir=*) includedir="${i#--includedir=}" shift;; --libdir=*) libdir="${i#--libdir=}" shift;; --mandir=*) mandir="${i#--mandir=}" shift;; --enable-alsa) alsa=yes shift;; --disable-alsa) alsa=no shift;; --enable-sun) sun=yes shift;; --disable-sun) sun=no shift;; --precision=*) precision="${i#--precision=}" if [ "$precision" != 16 -a "$precision" != 24 ]; then echo "$i: only 16 and 24 are supported" >&2 exit 1 fi shift;; CC=*|CFLAGS=*|LDFLAGS=*) vars="$vars$i$nl" shift;; *) help exit 1 ;; esac done # # if $xxxdir is not specified, define it to $prefix/xxx # bindir="${bindir:-$prefix/bin}" datadir="${datadir:-$prefix/share}" includedir="${includedir:-$prefix/include}" libdir="${libdir:-$prefix/lib}" mandir="${mandir:-$prefix/share/man}" # # if using ALSA, add corresponding parameters # if [ $alsa = yes ]; then defs="$defs -DUSE_ALSA" ldadd="$ldadd -lasound" fi # # if using Sun API, add corresponding parameters # if [ $sun = yes ]; then defs="$defs -DUSE_SUN" fi for makefile in Makefile aucat/Makefile libsndio/Makefile examples/Makefile do sed \ -e "s:@bindir@:$bindir:" \ -e "s:@datadir@:$datadir:" \ -e "s:@includedir@:$includedir:" \ -e "s:@libdir@:$libdir:" \ -e "s:@mandir@:$mandir:" \ -e "s:@defs@:$defs:" \ -e "s:@ldadd@:$ldadd:" \ -e "s:@so@:$so:" \ -e "s:@vars@:${vars}:" \ -e "s:@precision@:$precision:" \ < $makefile.in > $makefile done echo echo "bindir................... $bindir" echo "datadir.................. $datadir" echo "includedir............... $includedir" echo "libdir................... $libdir" echo "mandir................... $mandir" echo "precision................ $precision" echo "alsa..................... $alsa" echo "sun...................... $sun" echo echo "Do \"make && make install\" to compile and install sndio" echo