source: roaraudio/build-system/configure.tests @ 5773:64f6561966fc

Last change on this file since 5773:64f6561966fc was 5773:64f6561966fc, checked in by phi, 11 years ago

corrected return values

File size: 17.0 KB
Line 
1#!/bin/false
2# vim:ft=sh
3
4#     Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2012
5#
6# This file is part of roard a part of RoarAudio,
7# a cross-platform sound system for both, home and professional use.
8# See README for details.
9#
10# This file is free software; you can redistribute it and/or modify
11# it under the terms of the GNU General Public License version 3
12# as published by the Free Software Foundation.
13#
14# RoarAudio is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this software; see the file COPYING.  If not, write to
21# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22# Boston, MA 02110-1301, USA.
23
24test_libroar() {
25 _min="$1"
26 [ "$_min" = '' ] && _min='current'
27
28 echo -n "checking for version of roaraudio... "
29
30 if roar-config --compare-versions current ge "$_min"
31 then
32  echo "`roar-config --version`, good"
33  return 0
34 else
35  _ver="`roar-config --version 2> /dev/null`"
36  if [ "$_ver" = '' ]
37  then
38   echo "unknown. bad."
39  else
40   echo "$_ver, too old"
41  fi
42  return 1
43 fi
44}
45
46test_pkgversion() {
47 echo -n "checking for version of this package... "
48 VERSION=`head -n 1 ChangeLog | cut -d' ' -f2`
49 echo "$VERSION"
50}
51
52test_buildstamp() {
53 echo -n "checking for build stamp of this package... "
54 BUILD_STAMP="`date -u +'%F %X'` (`id -un`@`uname -n`)"
55 echo "$BUILD_STAMP"
56}
57
58test_cc() {
59 echo -n "checking for C compiler... "
60 if [ "$CC" != '' ]
61 then
62  echo $CC
63 else
64  CC=$(which gcc cc 2> /dev/null | grep ^/ | head -n 1)
65  if [ "$CC" = '' ]
66  then
67   echo 'none'
68   exit 1;
69  fi
70  echo $CC
71 fi
72}
73
74test_ranlib() {
75 echo -n "checking for ranlib... "
76 if [ "$RANLIB" != '' ]
77 then
78  echo $RANLIB
79 else
80  _guess=`echo $CC | sed 's/[gp]*cc\(-.*\)*//'`
81  RANLIB=$(which ${_guess}ranlib ranlib 2> /dev/null | grep ^/ | head -n 1)
82  if [ "$RANLIB" = '' ]
83  then
84   echo 'none'
85  fi
86  echo $RANLIB
87 fi
88}
89
90test_pkgconfig() {
91 echo -n "checking for pkg-config... "
92 PKG_CONFIG=$(which pkg-config false 2> /dev/null | grep ^/ | head -n 1)
93 if $PKG_CONFIG --help > /dev/null 2> /dev/null
94 then
95  echo $PKG_CONFIG
96 else
97  echo no
98 fi
99}
100
101test_sysname() {
102 echo -n "checking for sysname... "
103 SYSNAME=$(uname -s)
104 echo "$SYSNAME"
105}
106
107test_crosscompile() {
108 echo -n 'checking if we cross compile... '
109 if $CROSS_COMPILE
110 then
111  echo yes
112
113  echo -n "checking for exec helper... "
114  if [ "$EXEC_HELPER" = '' ]
115  then
116   if $TARGET_WIN32
117   then
118    EXEC_HELPER=$(which wine 2> /dev/null | grep ^/ | head -n 1)
119    if [ "$EXEC_HELPER" = '' ]
120    then
121     echo 'none (please install wine)'
122    else
123     echo "$EXEC_HELPER"
124    fi
125   else
126    echo 'none (unknown)'
127   fi
128  else
129   echo "$EXEC_HELPER"
130  fi
131
132  echo -n "checking for sysname... "
133  if $TARGET_CYGWIN
134  then
135   SYSNAME=cygwin
136  elif $TARGET_WIN32
137  then
138   SYSNAME=win32
139  else
140   SYSNAME=unknown
141  fi
142  echo "$SYSNAME"
143 else
144  echo no
145 fi
146}
147
148test_wextra() {
149 # Check for -Wextra
150 #Wextra
151 echo -n "checking if compiler supports -Wextra... "
152 echo 'int main (void) { return 0; }' > $TF_C
153 if $CCTF -Wextra 2> /dev/null;
154 then
155  echo yes
156  Wextra=true
157 else
158  echo no
159  Wextra=false
160 fi
161}
162
163test_cp_v() {
164 echo -n 'checking if cp supports -v... '
165 if cp -v --help > /dev/null 2> /dev/null
166 then
167  echo "cp_v=-v" >&4
168  echo yes
169 else
170  echo "cp_v=" >&4
171  echo no
172 fi
173}
174
175test_bin_format() {
176 echo -n "checking for binary format... "
177 echo "TEST BIN FORMAT:" >&5
178
179 {
180  echo "#include <stdio.h>"
181  echo
182  echo "int main (void) {"
183  echo " char buf[512];"
184  echo " size_t len;"
185  echo
186  echo " len = fread(buf, 1, sizeof(buf), stdin);"
187  echo " if ( len < 4 )"
188  echo "  return 1;"
189  echo
190  echo " if ( buf[0] == '\\177' && buf[1] == 'E' && buf[2] == 'L' && buf[3] == 'F' ) {"
191  echo '  printf("ELF\n");'
192  echo "  return 0;"
193  echo " }"
194  echo
195  echo " if ( buf[0] == 'M' && buf[1] == 'Z' ) {"
196  echo '  printf("MZ\n");'
197  echo "  return 0;"
198  echo " }"
199  echo
200  echo " return 1;"
201  echo "}"
202 } > $TF_C
203
204 echo "--- BEGIN OF CODE BLOCK ---" >&5
205 cat $TF_C >&5
206 echo "--- END OF CODE BLOCK ---" >&5
207
208 echo "BIN FORMAT() HAS COMPILER/LINKER OUTPUT:" >&5
209 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
210 $CCTF >&5 2>&5;
211 R=$?
212 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
213
214 if [ "$R" = '0' ]
215 then
216  binfile=`ls ${TF_E}{,.exe} 2> /dev/null`
217  BIN_FORMAT=`$EXEC_HELPER $TF_E < $binfile 2> /dev/null`
218  R=$?
219  if [ "$R" = '0' ]
220  then
221   echo "$BIN_FORMAT"
222   echo "BIN FORMAT() IS '$BIN_FORMAT'" >&5
223  else
224   BIN_FORMAT=unknown
225   echo 'unknown'
226   echo "BIN FORMAT() NOT KNOWN" >&5
227  fi
228 else
229  BIN_FORMAT=unknown
230  echo 'unknown'
231  echo "BIN FORMAT() NOT KNOWN" >&5
232 fi
233}
234
235test_linkdeps() {
236 if [ "$LINK_DEPS" = 'auto' ]
237 then
238  if [ "$BIN_FORMAT" = 'ELF' ]
239  then
240   LINK_DEPS='indirect'
241  else
242   LINK_DEPS='full'
243  fi
244 fi
245
246 echo "LINK_DEPS=$LINK_DEPS" >&4
247 echo "checking for linkage model... $LINK_DEPS"
248}
249
250test_lib () {
251 _have_libs=false
252 _have_headers=false
253 _defs=''
254 echo > $TF_C
255
256 $NEED_GNU_SOURCE && _defs="$_defs -D_GNU_SOURCE"
257
258 name="$1"
259 echo -n "checking for $name... "
260 echo "TEST LIB: $name" >&5
261 shift;
262
263 if [ "$infotext" = '' ]
264 then
265  _info=''
266 else
267  _info=" ($infotext)"
268 fi
269
270 LIBS=''
271
272 while [ "$1" != '--' ]
273 do
274  echo "LIB($name) HAS LIB INFO: $1" >&5
275  case "$1" in
276   'c'|'-lc')
277    :; # no need to do anything
278   ;;
279   '-'*)
280    LIBS="$LIBS $1"
281    _have_libs=true
282   ;;
283   *)
284    LIBS="$LIBS -l$1"
285    _have_libs=true
286   ;;
287  esac
288  shift;
289 done
290
291 shift;
292
293 echo "LIB($name) IS TESTED USING LIBS: $LIBS" >&5
294
295 while [ "$1" != '' ]
296 do
297  _h="$1";
298  shift;
299  _envname=`echo "$_h" | to_escaped`
300  eval "_t=\$libname_$_envname"
301  echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
302  if [ "$_t" = 'false' ]
303  then
304   echo "// not including <$_h> as it was tested as not present"  >> $TF_C
305  else
306   echo "#include <$_h>"  >> $TF_C
307   _have_headers=true
308  fi
309 done
310
311 echo 'int main (void) { return 0; }' >> $TF_C
312
313 if [ "$_have_libs" = 'false' -a "$_have_headers" = 'false' ]
314 then
315  echo "no (nothing left to test)$_info"
316  echo "LIB($name) HAS NOTHING TO TEST" >&5
317  return 1
318 fi
319
320 echo "LIB($name) IS TESTED USING TEST CODE:" >&5
321 echo "--- BEGIN OF CODE BLOCK ---" >&5
322 cat $TF_C >&5
323 echo "--- END OF CODE BLOCK ---" >&5
324
325 echo "LIB($name) HAS COMPILER/LINKER OUTPUT:" >&5
326 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
327 $CCTF $_defs $LIBS >&5 2>&5;
328 R=$?
329 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
330
331 if [ "$R" = '0' ]
332 then
333  echo "yes$_info"
334  echo "LIB($name) WAS FOUND" >&5
335 else
336  echo "no$_info"
337  echo "LIB($name) NOT FOUND" >&5
338 fi
339
340 return $R
341}
342
343test_lib_defmake () {
344 def="$1"
345 subdir="$2"
346 shift
347 shift
348 name="$1"
349 lib="$2"
350 shift
351
352 echo "TEST LIB: $name" >&5
353
354 [ "$subdir" = '%' ] && subdir=''
355
356 envlib=`echo "$lib"   | cut -d/ -f1 | to_escaped`
357 envname=`echo "$name" | to_escaped`
358
359 if [ "$envlib" = 'c' ]
360 then
361  envlib="$envname"
362 fi
363
364 echo "LIB($name) HAS envlib='$envlib', envname='$envname'" >&5
365
366 if [ "$lib" != '--' ]
367 then
368  echo "EVAL: _no=\$no_lib_$envlib" >&5
369  eval _no="\$no_lib_$envlib";
370  $MINIMAL && _no='XXX'
371
372  if [ "$_no" != '' ]
373  then
374    echo "checking for $name... disabled by user"
375    echo "LIB($name) IS DISABLED BY USER" >&5
376   [ "$subdir" != '' ] && \
377    echo "subdir_$subdir=" >&4
378   echo "lib_$envlib=" >&4
379   return;
380  fi
381 fi
382
383 lib="$lib/"
384
385 libn=`echo $lib | cut -d/ -f1`
386 is_fatal=`echo $lib | cut -d/ -f2`
387
388 lib="$libn"
389
390# echo "is_fatal(i)=$is_fatal" >&5
391
392 if [ "$is_fatal" = '' -o "$is_fatal" = 'no' -o "$is_fatal" = 'false' ]
393 then
394  is_fatal=false
395 else
396  is_fatal=true
397  shift; # maybe we have a pkg name, not a lib
398 fi
399
400 echo "LIB($name) HAS FATAL FLAG SET TO $is_fatal" >&5
401
402# echo "is_fatal(b)=$is_fatal" >&5
403
404 LIBS=$($PKG_CONFIG --silence-errors --cflags --libs $lib 2> /dev/null)
405 if [ "$?" != '0' ]
406 then
407  if $is_fatal
408  then
409   echo "checking for $name... no (fatal config errors)"
410   echo "LIB($name) HAS FATAL ERRORS" >&5
411   echo "LIB($name) NOT FOUND" >&5
412   [ "$subdir" != '' ] && \
413    echo "subdir_$subdir=" >&4
414   echo "lib_$envlib=" >&4
415   return
416  fi
417  LIBS="-l$lib"
418 fi
419
420 echo "LIB($name) HAS LIBS: $LIBS" >&5
421
422 if test_lib "$name" $LIBS "$@"
423 then
424  subdir_var='subdir_'"`echo $subdir | to_escaped`"
425  echo "#define $def"            >&3
426  [ "$subdir" != '' ] && \
427   echo "$subdir_var=$subdir" >&4
428  [ "$lib" != 'c' ] && \
429   echo "lib_$envlib=$LIBS" >&4
430  if [ "$lib" != 'c' ]
431  then
432   eval "lib_$envlib='$LIBS'"
433  else
434   echo "LIB($name) SETS libname_$envname=true" >&5
435   eval "libname_$envname=true"
436  fi
437 else
438  [ "$subdir" != '' ] && \
439   echo "subdir_$subdir=" >&4
440  [ "$lib" != 'c' ] && \
441   echo "lib_$envlib=" >&4
442  echo "LIB($name) SETS libname_$envname=false" >&5
443  eval "libname_$envname=false"
444 fi
445 echo >&5
446 echo >&5
447}
448
449test_tool_defmake () {
450 DEF="$1"
451 NAME="$2"
452 shift;
453 shift;
454 echo -n "checking for $NAME... "
455
456 echo "TEST TOOL: $NAME" >&5
457
458 if $RUNTIME_DETECT
459 then
460  echo "$1 (runtime detect)"
461  echo "TOOL($NAME) WILL BE RUNTIME DETECTED" >&5
462  echo "#define $DEF "\""$1"\" >&3
463 elif $MINIMAL
464 then
465  echo "disabled by user (minimalstic build)"
466  echo "TOOL($NAME) IS DISABLED BY USER" >&5
467 else
468
469  LIST=$(which "$@" 2> /dev/null | grep ^/ | head -n 1)
470
471  if [ "$LIST" = '' ]
472  then
473   echo 'no'
474   echo "TOOL($NAME) NOT FOUND" >&5
475  else
476   echo $LIST
477   echo "#define $DEF "\""$LIST"\" >&3
478   echo "TOOL($NAME) IS AT $LIST" >&5
479  fi
480 fi
481}
482
483test_func_defmake () {
484 _defs=''
485 DEF="$1"
486 NAME="$2"
487 shift;
488 shift;
489 echo -n "checking for $NAME()... "
490
491 CALL="$1"
492 shift;
493
494 $NEED_GNU_SOURCE && _defs="$_defs -D_GNU_SOURCE"
495
496 if [ "$infotext" = '' ]
497 then
498  _info=''
499 else
500  _info=" ($infotext)"
501 fi
502
503 LIBS=''
504
505 _funcname=`echo "$NAME" | to_escaped`
506
507 while [ "$1" != '--' ]
508 do
509  case "$1" in
510   'c'|'-lc')
511    :; # no need to do anything
512   ;;
513   '-'*)
514    LIBS="$LIBS $1"
515   ;;
516   *)
517    LIBS="-l$1"
518   ;;
519  esac
520  shift;
521 done
522
523 shift; # skip '--'
524
525 echo "TEST FUNCTION: $NAME" >&5
526
527 {
528  while [ "$1" != '' ]
529  do
530   _h="$1";
531   shift;
532   _envname=`echo "$_h" | to_escaped`
533   eval "_t=\$libname_$_envname"
534   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
535   if [ "$_t" = 'false' ]
536   then
537    echo "// not including <$_h> as it was tested as not present"
538   else
539    echo "#include <$_h>"
540   fi
541  done
542
543  echo 'int main (void) {'
544  echo " $CALL;"
545  echo ' return 0;'
546  echo '}'
547
548 } > $TF_C
549
550 echo "--- BEGIN OF CODE BLOCK ---" >&5
551 cat $TF_C >&5
552 echo "--- END OF CODE BLOCK ---" >&5
553
554 echo "FUNCTION($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
555 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
556 $CCTF $_defs $LIBS >&5 2>&5;
557 R=$?
558 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
559
560 if [ "$R" = '0' ]
561 then
562  eval funcname_$_funcname=true
563  echo "#define $DEF" >&3
564  echo "FUNCTION($NAME) IS OK" >&5
565  echo "yes$_info"
566 else
567  eval funcname_$_funcname=false
568  echo "FUNCTION($NAME) IS NOT OK" >&5
569  echo "no$_info"
570 fi
571
572}
573
574test_const_defmake () {
575 DEF="$1"
576 NAME="$2"
577 shift;
578 shift;
579 echo -n "checking for constant $NAME... "
580
581 TYPE="$1"
582 CONST="$2"
583 shift;
584 shift;
585
586 LIBS=''
587
588 while [ "$1" != '--' ]
589 do
590  case "$1" in
591   'c'|'-lc')
592    :; # no need to do anything
593   ;;
594   '-'*)
595    LIBS="$LIBS $1"
596   ;;
597   *)
598    LIBS="-l$1"
599   ;;
600  esac
601  shift;
602 done
603
604 shift; # skip '--'
605
606 echo "TEST CONST: $NAME" >&5
607
608 {
609  while [ "$1" != '' ]
610  do
611   _h="$1";
612   shift;
613   _envname=`echo "$_h" | to_escaped`
614   eval "_t=\$libname_$_envname"
615   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
616   if [ "$_t" = 'false' ]
617   then
618    echo "// not including <$_h> as it was tested as not present"
619   else
620    echo "#include <$_h>"
621   fi
622  done
623
624  case "$TYPE" in
625   ':int')
626    _type='int'
627   ;;
628   ':float')
629    _type='float'
630   ;;
631   ':ptr')
632    _type='void *'
633   ;;
634   *)
635    _type="$TYPE"
636   ;;
637  esac
638
639  echo 'int main (void) {'
640  echo " $_type x;"
641  echo " x = ($_type)$CONST;"
642  echo ' return 0;'
643  echo '}'
644
645 } > $TF_C
646
647 echo "--- BEGIN OF CODE BLOCK ---" >&5
648 cat $TF_C >&5
649 echo "--- END OF CODE BLOCK ---" >&5
650
651 echo "CONST($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
652 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
653 $CCTF $LIBS >&5 2>&5;
654 R=$?
655 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
656
657 if [ "$R" = '0' ]
658 then
659  echo "#define $DEF" >&3
660  echo "CONST($NAME) IS OK" >&5
661  echo yes
662 else
663  echo "CONST($NAME) IS NOT OK" >&5
664  echo no
665 fi
666}
667
668test_var_defmake () {
669 DEF="$1"
670 NAME="$2"
671 shift;
672 shift;
673 echo -n "checking for global variable $NAME... "
674
675 TYPE="$1"
676 VAR="$2"
677 shift;
678 shift;
679
680 LIBS=''
681
682 while [ "$1" != '--' ]
683 do
684  case "$1" in
685   'c'|'-lc')
686    :; # no need to do anything
687   ;;
688   '-'*)
689    LIBS="$LIBS $1"
690   ;;
691   *)
692    LIBS="-l$1"
693   ;;
694  esac
695  shift;
696 done
697
698 shift; # skip '--'
699
700 echo "TEST VAR: $NAME" >&5
701
702 {
703  while [ "$1" != '' ]
704  do
705   _h="$1";
706   shift;
707   _envname=`echo "$_h" | to_escaped`
708   eval "_t=\$libname_$_envname"
709   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
710   if [ "$_t" = 'false' ]
711   then
712    echo "// not including <$_h> as it was tested as not present"
713   else
714    echo "#include <$_h>"
715   fi
716  done
717
718  case "$TYPE" in
719   ':int')
720    _type='int'
721   ;;
722   ':float')
723    _type='float'
724   ;;
725   ':ptr')
726    _type='void *'
727   ;;
728   *)
729    _type="$TYPE"
730   ;;
731  esac
732
733  echo 'int main (void) {'
734  echo " $_type x;"
735  echo " x = ($_type)$VAR;"
736  echo " $VAR = x;"
737  echo ' return 0;'
738  echo '}'
739
740 } > $TF_C
741
742 echo "--- BEGIN OF CODE BLOCK ---" >&5
743 cat $TF_C >&5
744 echo "--- END OF CODE BLOCK ---" >&5
745
746 echo "VAR($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
747 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
748 $CCTF $LIBS >&5 2>&5;
749 R=$?
750 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
751
752 if [ "$R" = '0' ]
753 then
754  echo "#define $DEF" >&3
755  echo "VAR($NAME) IS OK" >&5
756  echo yes
757 else
758  echo "VAR($NAME) IS NOT OK" >&5
759  echo no
760 fi
761}
762
763test_version () {
764 DEF="$1"
765 NAME="$2"
766 PKGNAME="$3"
767
768 echo -n "checking for version of $NAME... "
769
770 _ver=$($PKG_CONFIG --modversion $PKGNAME 2> /dev/null)
771
772 if [ "$_ver" = '' ]
773 then
774  _ver=unknown
775 fi
776
777 echo $_ver
778
779 _ver_def=$(echo $_ver | to_escaped | to_upper)
780 echo "#define ${DEF}_$_ver_def" >&3
781
782 echo "$_ver" | if grep '^[0-9]*\.[0-9]*\.[0-9]*$' > /dev/null
783 then
784  _ver_vdef=$(echo "$_ver" | sed 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]\)*$/_ROAR_MKVERSION(\1, \2, \3)/')
785  echo "#define ${DEF} $_ver_vdef" >&3
786 else
787  echo "#define ${DEF} 0" >&3
788 fi
789
790}
791
792test_type () {
793 DEF="$1"
794 NAME="$2"
795 INITVAL="$3"
796 DASHDASH="$4"
797 shift; shift;
798
799 if [ "$#" -ge '2' ]
800 then
801  shift; shift;
802 fi
803
804 HEADERS="stdint.h string.h unistd.h sys/types.h $*" #including headers here let
805                                                     #them get checked for presence.
806
807 [ "$INITVAL" = '' ] && INITVAL='0'
808
809 echo -n "checking for type $NAME... "
810 echo "TEST TYPE: $NAME" >&5
811
812 echo "// type test for type $NAME"  >  $TF_C # need a clean file, write something
813 for _h in $HEADERS
814 do
815  _envname=`echo "$_h" | to_escaped`
816  eval "_t=\$libname_$_envname"
817  echo "TYPE($NAME) DEPENDS ON $_h($_envname) with state '$_t'" >&5
818  if [ "$_t" = 'false' ]
819  then
820   echo "// not including <$_h> as it was tested as not present"  >> $TF_C
821  else
822   echo "#include <$_h>"  >> $TF_C
823  fi
824 done
825 echo "int main (void) { $NAME _var = $INITVAL; return 0; }" >> $TF_C
826
827 echo "--- BEGIN OF CODE BLOCK ---" >&5
828 cat $TF_C >&5
829 echo "--- END OF CODE BLOCK ---" >&5
830
831 echo "TYPE($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
832 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
833 $CCTF >&5 2>&5;
834 R=$?
835 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
836
837 if [ "$R" = '0' ]
838 then
839  echo "#define $DEF" >&3
840  echo 'ok'
841  echo "TYPE($NAME) IS OK" >&5
842 else
843  echo 'not found'
844  echo "TYPE($NAME) NOT FOUND" >&5
845 fi
846}
847
848test_pa_type () {
849 DEF="$1"
850 NAME="$2"
851 TYPE="$3"
852 V0="$4"
853 V1="$5"
854 TEST="$6"
855 shift; shift; shift; shift; shift; shift;
856 HEADER="$*"
857 RS='%s'
858
859 case "$TYPE" in
860  'type')
861   MSG="checking for type of $NAME()... "
862  ;;
863  'args:'*)
864   MSG="checking for argument types of $NAME()... "
865   RS=`echo "$TYPE" | cut -d: -f2`
866  ;;
867 esac;
868
869 echo -n "$MSG"
870 echo '#include <pulse/pulseaudio.h>'  >  $TF_C
871 for _h in $HEADERS
872 do
873  echo "#include <$_h>"  >> $TF_C
874 done
875 echo '#include <string.h>'           >> $TF_C
876 echo 'int main (void) { return 0; }' >> $TF_C
877 echo "$TEST"                         >> $TF_C
878
879 if $CCTF 2> /dev/null;
880 then
881  R="$V0"
882 else
883  R="$V1"
884 fi
885
886 echo "#define $DEF $R" >&3
887 printf "$RS\n" "$R"
888}
889
890test_winsock() {
891 test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBWSOCK32    %            WinSockP0     wsock32    -- winsock2.h
892 test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBWS2_32     %            WinSockP1     ws2_32     -- winsock2.h
893 echo 'NETLIBS += $(lib_wsock32) $(lib_ws2_32)' >&4
894}
895
896test_netlibs() {
897 test_winsock
898}
899
900test_pthread() {
901 echo -n 'checking for -pthread... '
902
903 echo '#include <pthread.h>'                            > $TF_C
904 echo 'int main (void) { pthread_self(); return 0; }'  >> $TF_C
905
906 if $CCTF -pthread 2> /dev/null;
907 then
908  echo '#define ROAR_HAVE_CC_PTHREAD_OPTION' >&3
909  echo 'opt_pthread=-pthread' >&4
910  echo 'pthread=$(opt_pthread)' >&4
911  echo yes
912 else
913  echo 'opt_pthread=' >&4
914  echo 'pthread=$(lib_pthread)' >&4
915  echo no
916  test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBPTHREAD    %            libpthread    pthread    -- pthread.h
917 fi
918}
919
920#ll
Note: See TracBrowser for help on using the repository browser.