summaryrefslogtreecommitdiff
path: root/configure
blob: 48ca437d38d8800ba86f5eab13c5d3fb05857f96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
#!/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