source: roaraudio/configure @ 1230:9ea7ab779201

Last change on this file since 1230:9ea7ab779201 was 1230:9ea7ab779201, checked in by phi, 15 years ago

support ksh, not only bash for echo -n workaround

  • Property exe set to *
File size: 18.8 KB
Line 
1#!/bin/sh
2
3# check for bash...
4
5if [ "$(echo -n)" = '-n' ]
6then
7 SHELL=$(which bash ksh sh 2> /dev/null | grep ^/ | head -n 1)
8 exec $SHELL $0 "$@"
9fi
10
11
12#set -x
13
14TF_C=testit.c
15TF_E=./testit
16LDPATH=''
17INCPATH=''
18
19SYSNAME='unknown'
20SHARED='-shared'
21SHARED_CF=''
22PKG_CONFIG=false
23RUNTIME_DETECT=false
24
25PREFIX='/usr/local'
26PREFIX_BIN=''
27PREFIX_LIB=''
28PREFIX_INC=''
29PREFIX_MAN=''
30
31CDROM="none"
32OSS_DEV="none"
33PROC_NET_DECNET="/proc/net/decnet"
34
35DEFAULT_GRP=''
36
37AO_INST_DIR=''
38XMMS_INST_DIR=''
39
40LIBAO=true
41XMMS=true
42
43DEFAULT_RATE=''
44DEFAULT_CHANNELS=''
45DEFAULT_BITS=''
46
47ALAW=true
48MULAW=true
49ALAW_RW=true
50MULAW_RW=true
51
52PROXY=true
53
54WITHOUT_CF=''
55
56MINIMAL=false
57
58TARGET_WIN32=false
59
60EXEC_HELPER=''
61
62ROAR_DRIVER_DEFAULT=''
63ROAR_DRIVER_CODEC=''
64
65echo -n "checking for C compiler... "
66if [ "$CC" != '' ]
67then
68 echo $CC
69else
70 CC=$(which gcc cc 2> /dev/null | grep ^/ | head -n 1)
71 if [ "$CC" = '' ]
72 then
73  echo 'none'
74  exit 1;
75 fi
76 echo $CC
77fi
78
79echo -n "checking for pkg-config... "
80PKG_CONFIG=$(which pkg-config false 2> /dev/null | grep ^/ | head -n 1)
81if $PKG_CONFIG --help > /dev/null 2> /dev/null
82then
83 echo $PKG_CONFIG
84else
85 echo no
86fi
87
88#Makefile.conf not yet open, write it later
89
90echo -n "checking for sysname... "
91SYSNAME=$(uname -s)
92echo "$SYSNAME"
93
94while [ "$1" != '' ]
95do
96 case "$1" in
97  '--help')
98   echo '--help                      - This Help'
99   echo
100   echo '--ldpath DIR                - Add DIR to (compile time) search list for libs'
101   echo '--incpath DIR               - Add DIR to search list for headers'
102   echo '--addpath DIR               - Add DIR/lib to lib, DIR/include to header search list'
103   echo
104   echo '--cdrom DEV                 - Set default CDRum device'
105   echo '--proc-net-decnet FILE      - Set DECnet file for DECnet support auto detecting'
106   echo '                              (ignore this on non-Linux)'
107   echo
108   echo '--no-LIB                    - disable library LIB'
109   echo '--runtime-detect            - do as much as posible auto detecting on runtime (for distributors)'
110   echo
111   echo '--ao-install-dir DIR        - Set install dir for libao plugin'
112   echo '--xmms-install-dir DIR      - Set install dir for XMMS plugin'
113   echo
114   echo '--prefix DIR                - Set general prefix (default: '"$PREFIX"')'
115   echo '--prefix-bin DIR            - Set prefix for binarys (default: $PREFIX/bin)'
116   echo '--prefix-lib DIR            - Set prefix for librarys (default: $PREFIX/libs)'
117   echo '--prefix-inc DIR            - Set prefix for include files (default: $PREFIX/include)'
118   echo '--prefix-man DIR            - Set prefix for manpages (default: $PREFIX/man)'
119   echo
120   echo '--default-rate RATE         - Set default sample rate for roard and roarclients'
121   echo '--default-channels CHANNELS - Set default number of channels for roard and roarclients'
122   echo '--default-bits BITS         - Set default number of bits per sample for roard and roarclients'
123   echo '--default-driver DRIVER     - Set default driver for roard'
124   echo '--default-codec CODEC       - Set default codec used for the default driver'
125   echo
126   echo '--without-alaw              - Disable support of A-Law codec (de- and encoding)'
127   echo '--without-alaw-rw           - Disable support for writing A-Law (saves 8KB)'
128   echo '--without-mulaw             - Disable support of mu-Law codec (de- and encoding)'
129   echo '--without-mulaw-rw          - Disable support for writing mu-Law (saves 16KB)'
130   echo '--without-proxy             - Disable support for proxys'
131   echo
132   echo '--without-cf-cmd            - Disable support for command codecfilter'
133   echo
134   echo '--without-libao             - Disable build of libao plugin'
135   echo '--without-xmms              - Disable build of XMMS plugin'
136   echo
137   echo '--minimal                   - Disable all optional components'
138   echo '--target-win32              - Disable everything useful'
139   echo '--exec-helper HELPER        - Exec all test programms using this command (HELPER $cmd $args)'
140   echo '                              use '\''--exec-helper wine'\'' when building win32 binarys'
141   exit 0;
142  ;;
143  '--ldpath')
144   LDPATH="$LDPATH -L$2"
145   shift;
146  ;;
147  '--incpath')
148   INCPATH="$INCPATH -I$2"
149   shift;
150  ;;
151  '--addpath')
152   LDPATH="$LDPATH -L$2/lib/"
153   INCPATH="$INCPATH -I$2/include/"
154   shift;
155  ;;
156  '--cc')
157   CC="$2"
158   shift;
159  ;;
160  '--cdrom')
161   CDROM="$2"
162   shift;
163  ;;
164  '--oss-dev')
165   OSS_DEV="$2"
166   shift;
167  ;;
168  '--audio-group')
169   DEFAULT_GRP="$2"
170   shift;
171  ;;
172  '--no-'*)
173   lib=$(echo "$1" | sed 's/^--no-//')
174   eval no_lib_$lib=true
175  ;;
176  '--runtime-detect')
177   RUNTIME_DETECT=true
178  ;;
179  '--ao-install-dir')
180   AO_INST_DIR="$2"
181   shift;
182  ;;
183  '--xmms-install-dir')
184   XMMS_INST_DIR="$2"
185   shift;
186  ;;
187  '--default-rate')
188   DEFAULT_RATE="$2"
189   shift;
190  ;;
191  '--default-channels')
192   DEFAULT_CHANNELS="$2"
193   shift;
194  ;;
195  '--default-bits')
196   DEFAULT_BITS="$2"
197   shift;
198  ;;
199  '--default-driver')
200   ROAR_DRIVER_DEFAULT="$2"
201   shift;
202  ;;
203  '--default-codec')
204   ROAR_DRIVER_CODEC="$2"
205   shift;
206  ;;
207  '--without-alaw')
208   ALAW=false
209   ALAW_RW=false
210  ;;
211  '--without-alaw-rw')
212   ALAW_RW=false
213  ;;
214  '--without-mulaw')
215   MULAW=false
216   MULAW_RW=false
217  ;;
218  '--without-mulaw-rw')
219   MULAW_RW=false
220  ;;
221  '--without-proxy')
222   PROXY=false
223  ;;
224  '--without-cf-'*)
225   WITHOUT_CF="$WITHOUT_CF"' '$(echo "$1" | cut -d- -f5)
226  ;;
227  '--without-libao')
228   LIBAO=false
229   no_lib_ao=true
230  ;;
231  '--without-xmms')
232   XMMS=false
233  ;;
234  '--minimal')
235   MINIMAL=true
236   XMMS=false
237   LIBAO=false
238   PROXY=false
239   MULAW=false
240   MULAW_RW=false
241   ALAW=false
242   ALAW_RW=false
243  ;;
244  '--prefix')
245   PREFIX="$2"
246   shift;
247  ;;
248  '--prefix-bin')
249   PREFIX_BIN="$2"
250   shift;
251  ;;
252  '--prefix-lib')
253   PREFIX_LIB="$2"
254   shift;
255  ;;
256  '--prefix-inc')
257   PREFIX_INC="$2"
258   shift;
259  ;;
260  '--prefix-man')
261   PREFIX_MAN="$2"
262   shift;
263  ;;
264  '--exec-helper')
265   EXEC_HELPER="$2"
266   shift;
267  ;;
268  '--target-win32')
269   RUNTIME_DETECT=true
270   no_lib_dnet=true
271   TARGET_WIN32=true
272   PROXY=false
273   XMMS=false
274  ;;
275 esac;
276
277 shift;
278done
279
280
281CCTF="false"
282
283test_lib () {
284 echo > $TF_C
285
286 echo -n "checking for $1... "
287 shift;
288
289 LIBS=''
290
291 while [ "$1" != '--' ]
292 do
293  LIBS="$LIBS -l$1"
294  shift;
295 done
296
297 shift;
298
299 LIBS=$(echo "$LIBS" | sed 's/-l-l/-l/g; s/-l-L/-L/g;')
300
301 while [ "$1" != '' ]
302 do
303  echo "#include <$1>" >> $TF_C
304  shift;
305 done
306
307 echo 'int main (void) { return 0; }' >> $TF_C
308
309 $CCTF $LIBS 2> /dev/null;
310
311 R=$?
312
313 if [ "$R" = '0' ]
314 then
315  echo 'yes'
316 else
317  echo 'no'
318 fi
319
320 return $R
321}
322
323test_lib_defmake () {
324 def="$1"
325 subdir="$2"
326 shift
327 shift
328 name="$1"
329 lib="$2"
330 shift
331
332 [ "$subdir" = '%' ] && subdir=''
333
334 if [ "$lib" != '--' ]
335 then
336  eval _no="\$no_lib_$lib";
337  $MINIMAL && _no='XXX'
338
339  if [ "$_no" != '' ]
340  then
341    echo "checking for $1... disabled by user"
342   [ "$subdir" != '' ] && \
343    echo "subdir_$subdir=" >&4
344   echo "lib_$lib=" >&4
345   return;
346  fi
347 fi
348
349 LIBS=$($PKG_CONFIG --silence-errors --libs $lib)
350 if [ "$?" != '0' ]
351 then
352  LIBS="-l$lib"
353 fi
354
355 if test_lib "$name" $LIBS "$@"
356 then
357  subdir_var='subdir_'"`echo $subdir | tr / _`"
358  echo "#define $def"            >&3
359  [ "$subdir" != '' ] && \
360   echo "$subdir_var=$subdir" >&4
361  echo "lib_$lib=$LIBS" >&4
362 else
363  [ "$subdir" != '' ] && \
364   echo "subdir_$subdir=" >&4
365  echo "lib_$lib=" >&4
366 fi
367}
368
369test_tool_defmake () {
370 DEF="$1"
371 NAME="$2"
372 shift;
373 shift;
374 echo -n "checking for $NAME... "
375
376 if $RUNTIME_DETECT
377 then
378  echo "$1 (runtime detect)"
379 echo "#define $DEF "\""$1"\" >&3
380 elif $MINIMAL
381 then
382  echo "disabled by user (minimalstic build)"
383 else
384
385  LIST=$(which "$@" 2> /dev/null | grep ^/ | head -n 1)
386
387  if [ "$LIST" = '' ]
388  then
389   echo 'no'
390  else
391   echo $LIST
392   echo "#define $DEF "\""$LIST"\" >&3
393  fi
394 fi
395}
396
397exec 3> config.h 4> Makefile.conf
398
399if [ "$SYSNAME" = 'Darwin' ]
400then
401 echo "Adding $SYSNAME shared lib arguments..."
402 SHARED="$SHARED -fno-common -dynamiclib -compatibility_version 0.1 -current_version 0.1.0"
403 SHARED_CF="$SHARED_CF -fno-common"
404elif [ "$SYSNAME" = 'NetBSD' ]
405then
406 echo "Adding $SYSNAME libpath arguments..."
407 LDPATH="$LDPATH -L/usr/local/lib/"
408elif [ "$SYSNAME" = 'OpenBSD' ]
409then
410 echo "Adding $SYSNAME search path arguments..."
411 LDPATH="$LDPATH -L/usr/local/lib/"
412 INCPATH="$INCPATH -I/usr/local/include/"
413elif [ "$SYSNAME" = 'FreeBSD' ]
414then
415 echo "Adding $SYSNAME search path arguments..."
416 LDPATH="$LDPATH -L/usr/local/lib/"
417 INCPATH="$INCPATH -I/usr/local/include/"
418 [ "$DEFAULT_GRP" = '' ] && DEFAULT_GRP='wheel'
419fi
420
421[ "$PREFIX_BIN" = '' ] && PREFIX_BIN="$PREFIX/bin/"
422[ "$PREFIX_LIB" = '' ] && PREFIX_LIB="$PREFIX/lib/"
423[ "$PREFIX_INC" = '' ] && PREFIX_INC="$PREFIX/include/"
424[ "$PREFIX_MAN" = '' ] && PREFIX_MAN="$PREFIX/share/man/"
425
426[ "$DEFAULT_GRP" = '' ] && DEFAULT_GRP='audio'
427
428# now write the cc name to Makefile.conf
429{
430 echo "SHARED=$SHARED"
431 echo "SHARED_CF=$SHARED_CF"
432 echo "CC=$CC"
433 echo "LDPATH=$LDPATH"
434 echo "INCPATH=$INCPATH"
435 echo "PREFIX=$PREFIX"
436 echo "PREFIX_BIN=$PREFIX_BIN"
437 echo "PREFIX_LIB=$PREFIX_LIB"
438 echo "PREFIX_INC=$PREFIX_INC"
439 echo "PREFIX_MAN=$PREFIX_MAN"
440} >&4
441
442CCTF="$CC $LDPATH $INCPATH -Iinclude/ -o $TF_E $TF_C"
443
444cat >&3 << EOF
445//config.h:
446
447#ifndef _ROARAUDIO_CONFIG_H_
448#define _ROARAUDIO_CONFIG_H_
449
450EOF
451
452{
453 echo '/* uname: ' $(uname -a) '*/'
454 echo '/* Date : ' $(date)  '*/'
455 echo
456 [ "$DEFAULT_RATE"        = '' ] || echo "#define ROAR_RATE_DEFAULT     $DEFAULT_RATE"
457 [ "$DEFAULT_CHANNELS"    = '' ] || echo "#define ROAR_CHANNELS_DEFAULT $DEFAULT_CHANNELS"
458 [ "$DEFAULT_BITS"        = '' ] || echo "#define ROAR_BITS_DEFAULT     $DEFAULT_BITS"
459 [ "$ROAR_DRIVER_DEFAULT" = '' ] || echo "#define ROAR_DRIVER_DEFAULT   \"$ROAR_DRIVER_DEFAULT\""
460 [ "$ROAR_DRIVER_CODEC"   = '' ] || echo "#define ROAR_DRIVER_CODEC     \"$ROAR_DRIVER_CODEC\""
461 echo
462 $ALAW     && echo '#define ROAR_SUPPORT_ALAW'
463 $ALAW_RW  && echo '#define ROAR_SUPPORT_ALAW_RW'
464 $MULAW    && echo '#define ROAR_SUPPORT_MULAW'
465 $MULAW_RW && echo '#define ROAR_SUPPORT_MULAW_RW'
466 $PROXY    && echo '#define ROAR_SUPPORT_PROXY'
467 echo
468
469 for i in $WITHOUT_CF
470 do
471  i=$(echo $i | tr /a-z/ /A-Z/);
472  echo '#define ROAR_WITHOUT_CF_'$i
473 done
474
475 echo
476 $TARGET_WIN32 && echo '#define ROAR_TARGET_WIN32'
477                  echo '#define ROAR_OS_'$(echo $SYSNAME | tr a-z A-Z)
478 echo
479} >&3
480
481#                 #define                  name         cmds...
482test_tool_defmake ROAR_HAVE_BIN_OGG123     ogg123       ogg123
483test_tool_defmake ROAR_HAVE_BIN_FLAC       flac         flac
484test_tool_defmake ROAR_HAVE_BIN_TIMIDITY   TiMidity++   timidity
485test_tool_defmake ROAR_HAVE_BIN_CDPARANOIA cdparanoia   cdparanoia
486test_tool_defmake ROAR_HAVE_BIN_WGET       Wget         wget
487test_tool_defmake ROAR_HAVE_BIN_GNUPLOT    gnuplot      gnuplot
488test_tool_defmake ROAR_HAVE_BIN_SSH        OpenSSH      ssh
489
490echo >&3
491
492#                #define                 subdir       name           -lxxx      -- header
493test_lib_defmake ROAR_HAVE_LIBM          %            'Math Library' m          -- math.h
494if test_lib 'realtime Library' rt -- sys/mman.h mqueue.h semaphore.h
495then
496 {
497  echo '#define ROAR_HAVE_LIBRT'
498  echo '#define ROAR_NEED_LIBRT'
499 } >&3
500fi
501
502echo >&3
503
504#                #define                 subdir       name          -lxxx      -- header
505test_lib_defmake ROAR_HAVE_ESD           libroaresd   EsounD        esd        -- esd.h
506test_lib_defmake ROAR_HAVE_LIBAO         plugins/ao   libao         ao         -- ao/ao.h ao/plugin.h
507test_lib_defmake ROAR_HAVE_LIBVORBIS     %            libvorbis     vorbis     -- vorbis/codec.h
508test_lib_defmake ROAR_HAVE_LIBVORBISFILE %            libvorbisfile vorbisfile -- vorbis/vorbisfile.h
509test_lib_defmake ROAR_HAVE_LIBVORBISENC  %            libvorbisenc  vorbisenc  -- vorbis/vorbisenc.h
510test_lib_defmake ROAR_HAVE_LIBSPEEX      %            libspeex      speex      -- speex/speex.h speex/speex_stereo.h
511test_lib_defmake ROAR_HAVE_LIBSPEEXDSP   %            libspeexdsp   speexdsp   -- speex/speex.h speex/speex_stereo.h
512test_lib_defmake ROAR_HAVE_LIBCELT       %            libcelt       celt       -- celt/celt.h celt/celt_header.h
513test_lib_defmake ROAR_HAVE_LIBOGGZ       %            liboggz       oggz       -- oggz/oggz.h
514test_lib_defmake ROAR_HAVE_LIBSNDFILE    %            libsndfile    sndfile    -- sndfile.h
515test_lib_defmake ROAR_HAVE_LIBFISHSOUND  roarfish     libfishsound  fishsound  -- fishsound/fishsound.h
516test_lib_defmake ROAR_HAVE_LIBSHOUT      %            libshout      shout      -- shout/shout.h
517test_lib_defmake ROAR_HAVE_LIBPULSE      libroarpulse libpulse      pulse      -- pulse/pulseaudio.h pulse/simple.h
518test_lib_defmake ROAR_HAVE_LIBY2         libroaryiff  libyiff       Y2         -- Y2/Y.h Y2/Ylib.h
519test_lib_defmake ROAR_HAVE_LIBARTSC      libroararts  libartsc      artsc      -- kde/artsc/artsc.h
520test_lib_defmake ROAR_HAVE_LIBOSSAUDIO   %            libossaudio   ossaudio   -- sys/ioctl.h
521test_lib_defmake ROAR_HAVE_LIBDNET       %            libdnet       dnet       -- sys/socket.h netdnet/dn.h netdnet/dnetdb.h
522test_lib_defmake ROAR_HAVE_UNIX          %            UNIX          c          -- sys/types.h sys/socket.h sys/un.h
523test_lib_defmake ROAR_HAVE_IPX           %            IPX           c          -- netipx/ipx.h
524test_lib_defmake ROAR_HAVE_OSS           %            OSS           c          -- sys/ioctl.h sys/soundcard.h
525test_lib_defmake ROAR_HAVE_OSS_BSD       %            BSDOSS        c          -- sys/ioctl.h soundcard.h
526test_lib_defmake ROAR_HAVE_LIBWSOCK32    %            WinSockP0     wsock32    -- winsock2.h
527test_lib_defmake ROAR_HAVE_LIBWS2_32     %            WinSockP1     ws2_32     -- winsock2.h
528
529echo >&3
530
531# add a better test here
532test_lib 'linux sendfile()'       -- sys/sendfile.h && echo '#define ROAR_HAVE_LINUX_SENDFILE' >&3
533
534
535echo -n 'checking for IPv6... '
536
537echo '#include <sys/socket.h>'  > $TF_C
538echo '#include <netinet/in.h>' >> $TF_C
539echo 'int main (void) { struct sockaddr_in6 in6; return 0; }' >> $TF_C
540
541if $CCTF 2> /dev/null;
542then
543 echo '#define ROAR_HAVE_IPV6' >&3
544 echo yes
545else
546 echo no
547fi
548
549
550echo -n 'checking for mlock()... '
551
552echo '#include <sys/mman.h>' > $TF_C
553echo 'int main (void) { mlock((void*)0, 0); return 0; }' >> $TF_C
554
555if $CCTF 2> /dev/null;
556then
557 echo '#define ROAR_HAVE_MLOCK' >&3
558 echo yes
559else
560 echo no
561fi
562
563echo -n 'checking for fdatasync()... '
564
565echo '#include <unistd.h>' > $TF_C
566echo 'int main (void) { fdatasync(0); return 0; }' >> $TF_C
567
568if $CCTF 2> /dev/null;
569then
570 echo '#define ROAR_HAVE_FDATASYNC' >&3
571 echo '#define ROAR_FDATASYNC fdatasync' >&3
572 echo yes
573else
574 echo '#define ROAR_FDATASYNC fsync' >&3
575 echo no
576fi
577
578echo -n 'checking for square root func... '
579
580echo "$SYSNAME" | if grep CYGWIN > /dev/null
581then
582 echo 'sqrt() (cygwin)'
583else
584 echo '#include <math.h>' > $TF_C
585 echo 'int main (void) { sqrtl(0); return 0; }' >> $TF_C
586
587 if $CCTF -lm 2> /dev/null;
588 then
589  echo '#define ROAR_HAVE_SQRTL' >&3
590  echo 'sqrtl()'
591 else
592  echo 'sqrt()'
593 fi
594fi
595
596echo -n 'checking for inline funcs... '
597
598echo 'inline int test (void) { return 0; }' > $TF_C
599echo 'int main (void) { return test(); }'  >> $TF_C
600
601if $CCTF 2> /dev/null;
602then
603 echo '#define ROAR_HAVE_INLINE' >&3
604 echo yes
605else
606 echo no
607fi
608
609echo -n 'checking for broken peercred... '
610echo '#include <roaraudio.h>' > $TF_C
611echo 'int main (void) { struct ucred cred; return 0; }'  >> $TF_C
612
613if $CCTF 2> /dev/null;
614then
615 echo working
616else
617 echo '#define ROAR_BROKEN_PEERCRED' >&3
618 echo broken
619fi
620
621echo -n 'checking for getpeereid()... '
622echo '#include <roaraudio.h>' > $TF_C
623echo 'int main (void) { getpeereid(0, NULL, NULL); return 0; }'  >> $TF_C
624
625if $CCTF 2> /dev/null;
626then
627 echo '#define ROAR_HAVE_GETPEEREID' >&3
628 echo yes
629else
630 echo no
631fi
632
633echo -n 'checking for safe 32 bit integer overflow... '
634
635cat > $TF_C << EOF
636#include <stdio.h>
637#include <stdint.h>
638#define TYPE uint32_t
639#define MAX  ((TYPE)4294967295U)
640
641int main (void) {
642 TYPE a = MAX;
643
644 a += 2;
645
646 if ( a == 1 ) {
647  printf("#define ROAR_HAVE_SAFE_OVERFLOW\n");
648  return 0;
649 }
650
651 return 1;
652}
653EOF
654
655if $CCTF 2> /dev/null;
656then
657 $EXEC_HELPER $TF_E >&3
658 if [ "$?" = '0' ]
659 then
660  echo yes
661 else
662  echo no
663 fi
664else
665 echo 'no (can not compile!, no stdint.h?)'
666fi
667
668echo -n 'checking for __LP64__... '
669cat > $TF_C << EOF
670#include <stdio.h>
671
672int main (void) {
673#ifdef __LP64__
674 fprintf(stderr, "set by compiler\n");
675#else
676 if ( sizeof(int) == sizeof(void*) ) {
677  fprintf(stderr, "no need to set\n");
678 } else {
679  fprintf(stderr, "need to set\n");
680  printf("\n#ifndef __LP64__\n#define __LP64__\n#endif\n\n");
681 }
682#endif
683 return 0;
684}
685EOF
686if $CCTF 2> /dev/null;
687then
688 $EXEC_HELPER $TF_E >&3
689else
690 echo 'error, can not compile'
691 exit 1
692fi
693
694echo -n 'checking for 64 bit types... '
695cat > $TF_C << EOF
696#include <stdio.h>
697#include <stdint.h>
698
699int main (void) {
700 char * i64 = NULL, * ui64 = NULL;
701
702 if ( sizeof(int) == 8 ) {
703  i64 = "int"; ui64 = "unsigned int";
704 } else if ( sizeof(long int) == 8 ) {
705  i64 = "long int"; ui64 = "unsigned long int";
706 } else if ( sizeof(long long int) == 8 ) {
707  i64 = "long long int"; ui64 = "unsigned long long int";
708 } else if ( sizeof(int64_t) == 8 ) {
709  i64 = "int64_t"; ui64 = "uint64_t";
710 } else {
711  fprintf(stderr, "none\n");
712  return 0;
713 }
714
715 fprintf(stderr, "%s, %s\n", i64, ui64);
716 printf("#define ROAR_NATIVE_INT64 %s\n#define ROAR_NATIVE_UINT64 %s\n", i64, ui64);
717
718 return 0;
719}
720EOF
721if $CCTF 2> /dev/null;
722then
723 $EXEC_HELPER $TF_E >&3
724else
725 echo 'error, can not compile'
726 exit 1
727fi
728
729
730echo -n 'checking if cp supports -v... '
731if cp -v --help > /dev/null 2> /dev/null
732then
733 echo "cp_v=-v" >&4
734 echo yes
735else
736 echo "cp_v=" >&4
737 echo no
738fi
739
740echo -n 'checking for cdrom device... '
741if [ -e "$CDROM" ]
742then
743 echo "$CDROM"
744 echo '#define ROAR_DEFAULT_CDROM "'"$CDROM"'"' >&3
745else
746 CDROM=$(ls /dev/cdrom /dev/rcd0c 2> /dev/null | head -n 1);
747 if [ -e "$CDROM" ]
748 then
749  echo "$CDROM"
750  echo '#define ROAR_DEFAULT_CDROM "'"$CDROM"'"' >&3
751 else
752  echo 'none'
753 fi
754fi
755
756echo -n 'checking for OSS device... '
757if [ -e "$OSS_DEV" ]
758then
759 echo "$OSS_DEV"
760 echo '#define ROAR_DEFAULT_OSS_DEV "'"$OSS_DEV"'"' >&3
761else
762 OSS_DEV=$(ls /dev/dsp /dev/audio 2> /dev/null | head -n 1);
763 if [ -e "$OSS_DEV" ]
764 then
765  echo "$OSS_DEV"
766  echo '#define ROAR_DEFAULT_OSS_DEV "'"$OSS_DEV"'"' >&3
767 else
768  echo 'none'
769 fi
770fi
771
772echo 'checking for decnet status file... '"$PROC_NET_DECNET"
773echo '#define ROAR_PROC_NET_DECNET "'"$PROC_NET_DECNET"'"' >&3
774
775
776echo 'checking for default audio group... '"$DEFAULT_GRP"
777echo '#define ROAR_DEFAULT_SOCKGRP "'"$DEFAULT_GRP"'"' >&3
778
779cat >&3 << EOF
780
781#endif
782
783//ll
784EOF
785
786cd plugins
787
788if $LIBAO
789then
790 echo 'running libao plugin configure...'
791  cd ao/
792 if [ "$AO_INST_DIR" = '' ]
793 then
794  ./configure --force-have-roar
795 else
796  ./configure --force-have-roar --inst-dir "$AO_INST_DIR"
797 fi
798 cd ..
799else
800 echo "running libao plugin configure... disabled by user"
801fi
802
803if $XMMS
804then
805 echo 'running xmms plugin configure...'
806  cd xmms/
807 if [ "$XMMS_INST_DIR" = '' ]
808 then
809  ./configure --force-have-roar
810 else
811  ./configure --force-have-roar --inst-dir "$XMMS_INST_DIR"
812 fi
813 cd ..
814else
815 echo "running xmms plugin configure... disabled by user"
816fi
817
818cd ..
819
820rm -f $TF_C $TF_E
821
822mv config.h include/roaraudio/
823echo 'config.h created and moved into include/roaraudio/'
824
825echo "$SYSNAME" | if grep CYGWIN > /dev/null
826then
827 rm -f $TF_E.exe
828 echo 'patching Makefiles for cygwin...'
829 find . -name Makefile -print0 | xargs -0 sed 's/\.so/.dll'/g -i
830fi
831
832#ll
Note: See TracBrowser for help on using the repository browser.