3 # Configuration shell script
8 VERSION
=`cut -f2 -d\" VERSION`
10 # default installation prefix
14 while [ $# -gt 0 ] ; do
17 --help) CONFIG_HELP
=1 ;;
19 --with-pthreads) WITH_PTHREADS
=1 ;;
21 --prefix) PREFIX
=$2 ; shift ;;
22 --prefix=*) PREFIX
=`echo $1 | sed -e 's/--prefix=//'` ;;
28 if [ "$CONFIG_HELP" = "1" ] ; then
30 echo "Available options:"
31 echo "--prefix=PREFIX Installation prefix ($PREFIX)."
32 echo "--with-pthreads Activate POSIX threads support."
35 echo "Environment variables:"
37 echo "CFLAGS Compile flags (i.e., -O3)."
47 echo "/* automatically created by config.sh - do not modify */" > config.h
48 echo "# automatically created by config.sh - do not modify" > makefile.opts
54 if [ "$CC" = "" ] ; then
56 # if CC is unset, try if gcc is available
57 which gcc
> /dev
/null
2>&1
64 echo "CC=$CC" >> makefile.opts
67 if [ "$CFLAGS" = "" -a "$CC" = "gcc" ] ; then
71 echo "CFLAGS=$CFLAGS" >> makefile.opts
77 if [ "$AR" = "" ] ; then
81 echo "AR=$AR" >> makefile.opts
84 if [ "$LEX" = "" ] ; then
88 echo "LEX=$LEX" >> makefile.opts
91 if [ "$YACC" = "" ] ; then
95 echo "YACC=$YACC" >> makefile.opts
98 cat VERSION
>> config.h
100 # add installation prefix
101 echo "#define CONFOPT_PREFIX \"$PREFIX\"" >> config.h
105 #########################################################
107 # configuration directives
110 echo -n "Testing for win32... "
111 if [ "$WITHOUT_WIN32" = "1" ] ; then
112 echo "Disabled by user"
114 echo "#include <windows.h>" > .tmp.c
115 echo "#include <commctrl.h>" >> .tmp.c
116 echo "int STDCALL WinMain(HINSTANCE h, HINSTANCE p, LPSTR c, int m)" >> .tmp.c
117 echo "{ return 0; }" >> .tmp.c
119 TMP_LDFLAGS
="-lwinmm"
120 $CC .tmp.c
$TMP_LDFLAGS -o .tmp.o
2>> .config.log
123 echo "#define CONFOPT_WIN32 1" >> config.h
127 echo $TMP_LDFLAGS >> config.ldflags
128 DRIVERS
="win32 ${DRIVERS}"
135 echo -n "Testing for Linux OSS... "
136 echo "#include <linux/soundcard.h>" > .tmp.c
137 echo "int main(void) {" >> .tmp.c
138 echo "int i=open(\"/dev/dsp\",0);" >> .tmp.c
139 echo "ioctl(i,SNDCTL_DSP_SETFRAGMENT,&i);" >> .tmp.c
140 echo "return 0; } " >>.tmp.c
142 $CC .tmp.c
-o .tmp.o
2> /dev
/null
144 echo "#define CONFOPT_LINUX_OSS 1" >> config.h
146 DRIVERS
="oss ${DRIVERS}"
151 # test for IRIX audio library
152 echo -n "Testing for IRIX audio library... "
153 echo "#include <dmedia/audio.h>" > .tmp.c
154 echo "int main(void) { alNewConfig(); return 0; }" >> .tmp.c
156 $CC .tmp.c
-laudio -o .tmp.o
2> /dev
/null
158 echo "#define CONFOPT_SGI 1" >> config.h
159 echo "-laudio" >> config.ldflags
161 DRIVERS
="sgi ${DRIVERS}"
166 # test for esound library
167 echo -n "Testing for esound development libraries... "
168 echo "#include <esd.h>" > .tmp.c
169 echo "int main(void) { return 0; }" >> .tmp.c
171 $CC -I/usr
/local
/include
-L/usr
/local
/lib
-lesd .tmp.c
-o .tmp.o
2> /dev
/null
173 echo "#define CONFOPT_ESD 1" >> config.h
174 echo "-lesd" >> config.ldflags
176 DRIVERS
="esd ${DRIVERS}"
181 # test for artsc library
182 echo -n "Testing for aRts development libraries... "
183 echo "#include <artsc.h>" > .tmp.c
184 echo "int main(void) { arts_init(); return 0; }" >> .tmp.c
186 TMP_CFLAGS
=`artsc-config --cflags 2>/dev/null`
187 TMP_LDFLAGS
=`artsc-config --libs 2>/dev/null`
189 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
191 echo "#define CONFOPT_ARTS 1" >> config.h
192 echo $TMP_CFLAGS >> config.cflags
193 echo $TMP_LDFLAGS >> config.ldflags
195 DRIVERS
="arts ${DRIVERS}"
200 # test for pulseaudio libraries
201 echo -n "Testing for Pulseaudio development libraries... "
202 echo "#include <pulse/simple.h>" > .tmp.c
203 echo "#include <pulse/error.h>" >> .tmp.c
204 echo "int main(void) { return 0; }" >> .tmp.c
206 TMP_CFLAGS
=$
(pkg-config libpulse-simple
--cflags 2>/dev
/null
)
207 TMP_LDFLAGS
=$
(pkg-config libpulse-simple
--libs 2>/dev
/null
)
209 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
211 echo "#define CONFOPT_PULSEAUDIO 1" >> config.h
212 echo $TMP_CFLAGS >> config.cflags
213 echo $TMP_LDFLAGS >> config.ldflags
215 DRIVERS
="pulse ${DRIVERS}"
220 # test for getuid() availability
221 echo -n "Testing for getuid() existence... "
222 echo "#include <unistd.h>" > .tmp.c
223 echo "#include <sys/types.h>" >> .tmp.c
224 echo "int main(void) { getuid(); return 0; }" >> .tmp.c
228 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
232 echo "No; activating workaround"
233 echo "#define getuid() 1000" >> config.h
236 # test for number of arguments in mkdir()
237 echo -n "Testing for number of arguments in mkdir()... "
238 echo "#include <stdio.h>" > .tmp.c
239 echo "#include <string.h>" >> .tmp.c
240 echo "#include <stdlib.h>" >> .tmp.c
241 echo "#include <unistd.h>" >> .tmp.c
242 echo "#include <sys/stat.h>" >> .tmp.c
243 echo "#include <sys/types.h>" >> .tmp.c
244 echo "int main(void) { mkdir(\"testdir\"); return 0; }" >> .tmp.c
246 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
249 echo "#define CONFOPT_MKDIR_ARGS 1" >> config.h
252 echo "#define CONFOPT_MKDIR_ARGS 2" >> config.h
255 echo -n "Testing for nanosleep() support... "
256 echo "#include <time.h>" > .tmp.c
257 echo "int main(void) { struct timespec ts; nanosleep(&ts, NULL); return 0; }" >> .tmp.c
261 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
264 echo "#define CONFOPT_NANOSLEEP 1" >> config.h
266 echo "No; MIDI output will not be available"
271 if [ "$WITH_PTHREADS" = 1 ] ; then
272 echo "#define CONFOPT_PTHREADS 1" >> config.h
273 echo "-pthread" >> config.ldflags
277 echo -n "Testing if Grutatxt is installed... "
281 if which grutatxt
> /dev
/null
2>&1 ; then
283 echo "GRUTATXT=yes" >> makefile.opts
284 DOCS
="\$(GRUTATXT_DOCS)"
287 echo "GRUTATXT=no" >> makefile.opts
291 echo -n "Testing if mp_doccer is installed... "
292 MP_DOCCER
=$
(which mp_doccer||
which mp-doccer
)
296 if ${MP_DOCCER} --help |
grep grutatxt
> /dev
/null
; then
300 echo "MP_DOCCER=yes" >> makefile.opts
301 DOCS
="$DOCS \$(MP_DOCCER_DOCS)"
303 grep GRUTATXT
=yes makefile.opts
> /dev
/null
&& DOCS
="$DOCS \$(G_AND_MP_DOCS)"
306 echo "MP_DOCCER=no" >> makefile.opts
310 echo "MP_DOCCER=no" >> makefile.opts
313 #########################################################
317 echo "BIN=$BIN" >> makefile.opts
318 echo "DOCS=$DOCS" >> makefile.opts
319 echo "VERSION=$VERSION" >> makefile.opts
320 echo "PREFIX=$PREFIX" >> makefile.opts
321 echo >> makefile.opts
323 cat makefile.opts makefile.
in makefile.depend
> Makefile
325 echo "#define CONFOPT_DRIVERS \"${DRIVERS}\"" >> config.h
327 echo "Configured drivers: ${DRIVERS}"
329 #########################################################