Source

oss4-netbsd / configure

Full commit
#!/bin/sh

CONFIGURE=YES
COPY_OPTIONS=
OSSLIBDIR="/usr/lib/oss"
TARGETOS=

unset USE_PHPMAKE

OSS_CONFIG_OPTIONS="$*"
export OSS_CONFIG_OPTIONS

#
# Set GRC3 min/max conversion quality setting to 3 to conserve space.
# TODO: Add support for configurable quality settings.
GRC_MIN_QUALITY=3
GRC_MAX_QUALITY=3
export GRC_MIN_QUALITY GRC_MAX_QUALITY

# MIDI support is enabled by default. Use --config-midi=NO to disable
CONFIG_MIDI=ENABLED

export CONFIGURE CONFIG_MIDI

unset CDPATH >/dev/null 2>&1

if test -f /usr/include/vorbis/vorbisfile.h || test -f /usr/local/include/vorbisfile.h
then
	OGG_SUPPORT=YES
	export OGG_SUPPORT
fi

DIR=`pwd`
SRCDIR=`dirname $0`
SRCDIR=`cd $SRCDIR && pwd`

if test "$DIR " = " " || test "$DIR " = ". "
then
	echo
	echo
	echo
	echo
	echo
	echo
	echo
	echo
	echo "**** USAGE ERROR ****"
	echo
	echo You need to create an empty build directory and
	echo then execute sh `pwd`/configure inside it.
	echo
	echo Configure script aborted
	exit 2
fi

while test  "$# " != "0 "
do
	case "$1" in

   	"--regparm")
		if test "`uname -s` " != "Linux "
		then
			echo $0: --regparm is only valid under Linux
			exit 1
		fi
		echo Will prepare for REGPARM kernels
		export USE_REGPARM=1
		;;

   	"--no-regparm")
		if test "`uname -s` " != "Linux "
		then
			echo $0: --no-regparm is only valid under Linux
			exit 1
		fi
		echo Will prepare for non-REGPARM kernels
		export NO_REGPARM=1
		;;

   	"--target=uclinux-blackfin")
		CROSSCOMPILE=uclinux-blackfin
		uOSS=1
		export CROSSCOMPILE uOSS
		;;

   	"--target=vxworks-x86")
		CROSSCOMPILE=vxworks-x86
		uOSS=1
		CONFIGSCRIPT=$SRCDIR/setup/setupdir.sh
		TARGETOS=VxWorks
		export CROSSCOMPILE uOSS
		;;

	"--config-vmix=NO")
		VMIX_MODE=DISABLED
		export VMIX_MODE
		;;

	"--config-vmix=FLOAT")
		VMIX_MODE=FLOAT
		export VMIX_MODE
		;;

	"--config-vmix=FIXEDPOINT")
		VMIX_MODE=FIXEDPOINT
		export VMIX_MODE
		;;

	"--config-midi=NO")
		CONFIG_MIDI=DISABLED
		export CONFIG_MIDI
		;;

	"--config-midi=YES")
		CONFIG_MIDI=ENABLED
		export CONFIG_MIDI
		;;

	"--copy-files")
		COPY_OPTIONS="-c"
		;;

	"--include-closed-source")
		CLOSED_SOURCE=YES
		NO_WARNING_CHECKS=YES
		PORTABLE_BUILD=YES	# Produce binaries that work under generic CPU arch
		export CLOSED_SOURCE NO_WARNING_CHECKS PORTABLE_BUILD
		;;

	"--portable-build")
		PORTABLE_BUILD=YES	# Produce binaries that work under generic CPU arch
		export PORTABLE_BUILD
		;;
		

	"--enable-libsalsa=NO")
		NOALSA=1
		;;

	"--enable-timings")
		# This is option is undocumented and unsupported. It is only
		# for internal testing by 4Front Technologies and not useful
		# to anybody else.
		DO_TIMINGS="1"
		export DO_TIMINGS
		;;

	"--only-drv="*)
		ONLY_DRVS=`echo $1 | sed 's/--only-drv=/,/'`,osscore
		export ONLY_DRVS
		;;

	"--use-phpmake")
		USE_PHPMAKE=YES
		export USE_PHPMAKE
		;;
	*)

		echo $0: Unrecognized command line option $1

		echo
		echo Permitted command line arguments are:
		echo
		
		case `uname -s` in

		Linux)
			echo "   --enable-libsalsa=YES|NO	- Enable/Disable libsalsa."
			echo "   --target=uclinux-blackfin	- Configure for uClinux/Blackfin target (EXPERIMENTAL)"
			echo "   --regparm			- Configure for CONFIG_REGPARM kernels"
			echo "   --no-regparm			- Configure for kernels without CONFIG_REGPARM option."
			echo "NOTE! --regparm/--no-regparm is normally detected"
			echo "      automatically and these switches should NOT be used."
			echo
			;;

		*)
			echo
		esac

		echo "   --config-vmix=NO|FLOAT|FIXEDPOINT	- Configure vmix to use float/int arithmetic or disable it."
		echo "     (Check possible limitations caused by the OS or the CPU/arch)."
		echo "   --config-midi=NO|YES		- Enable/disable MIDI support."
		echo "   --only-drv=[list]		- Only compile the drivers named in the comma delimited list."
		echo "   --enable-timings		- Enable internal timings (for the readtimings utility)."
		echo "   --portable-build               - Produce portable binaries for generic CPU architecture."
		exit 1
	esac

	shift
done

export SRCDIR COPY_OPTIONS OSSLIBDIR TARGETOS

# Run the OS dependent setup script

if test "$CONFIGSCRIPT " != " "
then
	exec sh $CONFIGSCRIPT
fi

case `uname` in

"SunOS")
	case `uname -r` in
	"5.9")
		echo Setting up for Solaris 9
		SOL9=1
		GTK1=1
		export SOL9 GTK1
		;;

	"5.8")
		echo Setting up for Solaris 8
		SOL9=1
		GTK1=1
		export SOL9 GTK1
		;;
	*)
		echo Using Solaris10 specific script
		;;
	esac
	exec sh $SRCDIR/setup/SunOS/solsetup.sh
	;;

"Linux")

	if test "$NOALSA" != "1"
	then
		if test -d /usr/include/alsa || test -d /usr/local/include/alsa
		then
			echo Compiling libsalsa library
			export HAVE_ALSA=1
		fi
	fi

  	if grep -q Ubuntu /etc/issue # Ubuntu?
  	then
		MISSING=
		for n in build-essential libgtk2.0-dev gawk
		do
		  if ! apt-cache show $n > /dev/null 2>&1
		  then
			MISSING="$MISSING $n"
		  fi
		done

		if test "$MISSING " != " "
		then
			echo Missing one or more required install packages are missing
			echo
			echo You can install them by doing
			echo

			for n in $MISSING
			do
			   echo apt-get install $n
			done

			exit 1
		fi
	fi
	
	if test "$USE_REGPARM " != "1 " && test "$NO_REGPARM " != "1 "
	then
	  # REGPARM/NOTREGPARM not set so compile a version for both of them
	        echo Using the Linux specific script
		exec sh $SRCDIR/setup/Linux/linsetup.sh
	else
		echo Using the default script
		exec sh $SRCDIR/setup/setupdir.sh
	fi
	;;

*)
	echo Using the default script
	exec sh $SRCDIR/setup/setupdir.sh

esac

echo internal error in configure

exit 3