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
103 #########################################################
105 # configuration directives
108 echo -n "Testing for Linux OSS... "
109 echo "#include <linux/soundcard.h>" > .tmp.c
110 echo "int main(void) {" >> .tmp.c
111 echo "int i=open(\"/dev/dsp\",0);" >> .tmp.c
112 echo "ioctl(i,SNDCTL_DSP_SETFRAGMENT,&i);" >> .tmp.c
113 echo "return 0; } " >>.tmp.c
115 $CC .tmp.c
-o .tmp.o
2> /dev
/null
117 echo "#define CONFOPT_LINUX_OSS 1" >> config.h
123 # test for IRIX audio library
124 echo -n "Testing for IRIX audio library... "
125 echo "#include <dmedia/audio.h>" > .tmp.c
126 echo "int main(void) { alNewConfig(); return 0; }" >> .tmp.c
128 $CC .tmp.c
-laudio -o .tmp.o
2> /dev
/null
130 echo "#define CONFOPT_SGI 1" >> config.h
131 echo "-laudio" >> config.ldflags
137 # test for esound library
138 echo -n "Testing for esound development libraries... "
139 echo "#include <esd.h>" > .tmp.c
140 echo "int main(void) { return 0; }" >> .tmp.c
142 $CC -I/usr
/local
/include
-L/usr
/local
/lib
-lesd .tmp.c
-o .tmp.o
2> /dev
/null
144 echo "#define CONFOPT_ESD 1" >> config.h
145 echo "-lesd" >> config.ldflags
151 # test for artsc library
152 echo -n "Testing for aRts development libraries... "
153 echo "#include <artsc.h>" > .tmp.c
154 echo "int main(void) { arts_init(); return 0; }" >> .tmp.c
156 TMP_CFLAGS
=`artsc-config --cflags 2>/dev/null`
157 TMP_LDFLAGS
=`artsc-config --libs 2>/dev/null`
159 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
161 echo "#define CONFOPT_ARTS 1" >> config.h
162 echo $TMP_CFLAGS >> config.cflags
163 echo $TMP_LDFLAGS >> config.ldflags
169 # test for pulseaudio libraries
170 echo -n "Testing for Pulseaudio development libraries... "
171 echo "#include <pulse/simple.h>" > .tmp.c
172 echo "#include <pulse/error.h>" >> .tmp.c
173 echo "int main(void) { return 0; }" >> .tmp.c
175 TMP_CFLAGS
=$
(pkg-config libpulse-simple
--cflags 2>/dev
/null
)
176 TMP_LDFLAGS
=$
(pkg-config libpulse-simple
--libs 2>/dev
/null
)
178 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
180 echo "#define CONFOPT_PULSEAUDIO 1" >> config.h
181 echo $TMP_CFLAGS >> config.cflags
182 echo $TMP_LDFLAGS >> config.ldflags
188 # test for getuid() availability
189 echo -n "Testing for getuid() existence... "
190 echo "#include <unistd.h>" > .tmp.c
191 echo "#include <sys/types.h>" >> .tmp.c
192 echo "int main(void) { getuid(); return 0; }" >> .tmp.c
196 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
200 echo "No; activating workaround"
201 echo "#define getuid() 1000" >> config.h
204 # test for number of arguments in mkdir()
205 echo -n "Testing for number of arguments in mkdir()... "
206 echo "#include <stdio.h>" > .tmp.c
207 echo "#include <string.h>" >> .tmp.c
208 echo "#include <stdlib.h>" >> .tmp.c
209 echo "#include <unistd.h>" >> .tmp.c
210 echo "#include <sys/stat.h>" >> .tmp.c
211 echo "#include <sys/types.h>" >> .tmp.c
212 echo "int main(void) { mkdir(\"testdir\"); return 0; }" >> .tmp.c
214 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
217 echo "#define CONFOPT_MKDIR_ARGS 1" >> config.h
220 echo "#define CONFOPT_MKDIR_ARGS 2" >> config.h
223 echo -n "Testing for nanosleep() support... "
224 echo "#include <time.h>" > .tmp.c
225 echo "int main(void) { struct timespec ts; nanosleep(&ts, NULL); return 0; }" >> .tmp.c
229 $CC $TMP_CFLAGS .tmp.c
$TMP_LDFLAGS -o .tmp.o
2> /dev
/null
232 echo "#define CONFOPT_NANOSLEEP 1" >> config.h
234 echo "No; MIDI output will not be available"
239 if [ "$WITH_PTHREADS" = 1 ] ; then
240 echo "#define CONFOPT_PTHREADS 1" >> config.h
241 echo "-pthread" >> config.ldflags
245 echo -n "Testing if Grutatxt is installed... "
249 if which grutatxt
> /dev
/null
2>&1 ; then
251 echo "GRUTATXT=yes" >> makefile.opts
252 DOCS
="\$(GRUTATXT_DOCS)"
255 echo "GRUTATXT=no" >> makefile.opts
259 echo -n "Testing if mp_doccer is installed... "
260 MP_DOCCER
=$
(which mp_doccer||
which mp-doccer
)
264 if ${MP_DOCCER} --help |
grep grutatxt
> /dev
/null
; then
268 echo "MP_DOCCER=yes" >> makefile.opts
269 DOCS
="$DOCS \$(MP_DOCCER_DOCS)"
271 grep GRUTATXT
=yes makefile.opts
> /dev
/null
&& DOCS
="$DOCS \$(G_AND_MP_DOCS)"
274 echo "MP_DOCCER=no" >> makefile.opts
278 echo "MP_DOCCER=no" >> makefile.opts
281 #########################################################
285 echo "BIN=$BIN" >> makefile.opts
286 echo "DOCS=$DOCS" >> makefile.opts
287 echo "VERSION=$VERSION" >> makefile.opts
288 echo "PREFIX=$PREFIX" >> makefile.opts
289 echo >> makefile.opts
291 cat makefile.opts makefile.
in makefile.depend
> Makefile
293 #########################################################