source: roaraudio/build-system/configure.tests @ 5778:8373a5d378af

Last change on this file since 5778:8373a5d378af was 5778:8373a5d378af, checked in by phi, 11 years ago

yet anoter workaround for broken win32 shells...

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 (minimum required: $_min)"
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  BIN_FORMAT=`$EXEC_HELPER $TF_E < $TF_E 2> /dev/null`
217  R=$?
218  if [ "$R" = '0' ]
219  then
220   echo "$BIN_FORMAT"
221   echo "BIN FORMAT() IS '$BIN_FORMAT'" >&5
222  else
223   BIN_FORMAT=unknown
224   echo 'unknown'
225   echo "BIN FORMAT() NOT KNOWN" >&5
226  fi
227 else
228  BIN_FORMAT=unknown
229  echo 'unknown'
230  echo "BIN FORMAT() NOT KNOWN" >&5
231 fi
232}
233
234test_linkdeps() {
235 if [ "$LINK_DEPS" = 'auto' ]
236 then
237  if [ "$BIN_FORMAT" = 'ELF' ]
238  then
239   LINK_DEPS='indirect'
240  else
241   LINK_DEPS='full'
242  fi
243 fi
244
245 echo "LINK_DEPS=$LINK_DEPS" >&4
246 echo "checking for linkage model... $LINK_DEPS"
247}
248
249test_lib () {
250 _have_libs=false
251 _have_headers=false
252 _defs=''
253 echo > $TF_C
254
255 $NEED_GNU_SOURCE && _defs="$_defs -D_GNU_SOURCE"
256
257 name="$1"
258 echo -n "checking for $name... "
259 echo "TEST LIB: $name" >&5
260 shift;
261
262 if [ "$infotext" = '' ]
263 then
264  _info=''
265 else
266  _info=" ($infotext)"
267 fi
268
269 LIBS=''
270
271 while [ "$1" != '--' ]
272 do
273  echo "LIB($name) HAS LIB INFO: $1" >&5
274  case "$1" in
275   'c'|'-lc')
276    :; # no need to do anything
277   ;;
278   '-'*)
279    LIBS="$LIBS $1"
280    _have_libs=true
281   ;;
282   *)
283    LIBS="$LIBS -l$1"
284    _have_libs=true
285   ;;
286  esac
287  shift;
288 done
289
290 shift;
291
292 echo "LIB($name) IS TESTED USING LIBS: $LIBS" >&5
293
294 while [ "$1" != '' ]
295 do
296  _h="$1";
297  shift;
298  _envname=`echo "$_h" | to_escaped`
299  eval "_t=\$libname_$_envname"
300  echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
301  if [ "$_t" = 'false' ]
302  then
303   echo "// not including <$_h> as it was tested as not present"  >> $TF_C
304  else
305   echo "#include <$_h>"  >> $TF_C
306   _have_headers=true
307  fi
308 done
309
310 echo 'int main (void) { return 0; }' >> $TF_C
311
312 if [ "$_have_libs" = 'false' -a "$_have_headers" = 'false' ]
313 then
314  echo "no (nothing left to test)$_info"
315  echo "LIB($name) HAS NOTHING TO TEST" >&5
316  return 1
317 fi
318
319 echo "LIB($name) IS TESTED USING TEST CODE:" >&5
320 echo "--- BEGIN OF CODE BLOCK ---" >&5
321 cat $TF_C >&5
322 echo "--- END OF CODE BLOCK ---" >&5
323
324 echo "LIB($name) HAS COMPILER/LINKER OUTPUT:" >&5
325 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
326 $CCTF $_defs $LIBS >&5 2>&5;
327 R=$?
328 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
329
330 if [ "$R" = '0' ]
331 then
332  echo "yes$_info"
333  echo "LIB($name) WAS FOUND" >&5
334 else
335  echo "no$_info"
336  echo "LIB($name) NOT FOUND" >&5
337 fi
338
339 return $R
340}
341
342test_lib_defmake () {
343 def="$1"
344 subdir="$2"
345 shift
346 shift
347 name="$1"
348 lib="$2"
349 shift
350
351 echo "TEST LIB: $name" >&5
352
353 [ "$subdir" = '%' ] && subdir=''
354
355 envlib=`echo "$lib"   | cut -d/ -f1 | to_escaped`
356 envname=`echo "$name" | to_escaped`
357
358 if [ "$envlib" = 'c' ]
359 then
360  envlib="$envname"
361 fi
362
363 echo "LIB($name) HAS envlib='$envlib', envname='$envname'" >&5
364
365 if [ "$lib" != '--' ]
366 then
367  echo "EVAL: _no=\$no_lib_$envlib" >&5
368  eval _no="\$no_lib_$envlib";
369  $MINIMAL && _no='XXX'
370
371  if [ "$_no" != '' ]
372  then
373    echo "checking for $name... disabled by user"
374    echo "LIB($name) IS DISABLED BY USER" >&5
375   [ "$subdir" != '' ] && \
376    echo "subdir_$subdir=" >&4
377   echo "lib_$envlib=" >&4
378   return;
379  fi
380 fi
381
382 lib="$lib/"
383
384 libn=`echo $lib | cut -d/ -f1`
385 is_fatal=`echo $lib | cut -d/ -f2`
386
387 lib="$libn"
388
389# echo "is_fatal(i)=$is_fatal" >&5
390
391 if [ "$is_fatal" = '' -o "$is_fatal" = 'no' -o "$is_fatal" = 'false' ]
392 then
393  is_fatal=false
394 else
395  is_fatal=true
396  shift; # maybe we have a pkg name, not a lib
397 fi
398
399 echo "LIB($name) HAS FATAL FLAG SET TO $is_fatal" >&5
400
401# echo "is_fatal(b)=$is_fatal" >&5
402
403 LIBS=$($PKG_CONFIG --silence-errors --cflags --libs $lib 2> /dev/null)
404 if [ "$?" != '0' ]
405 then
406  if $is_fatal
407  then
408   echo "checking for $name... no (fatal config errors)"
409   echo "LIB($name) HAS FATAL ERRORS" >&5
410   echo "LIB($name) NOT FOUND" >&5
411   [ "$subdir" != '' ] && \
412    echo "subdir_$subdir=" >&4
413   echo "lib_$envlib=" >&4
414   return
415  fi
416  LIBS="-l$lib"
417 fi
418
419 echo "LIB($name) HAS LIBS: $LIBS" >&5
420
421 if test_lib "$name" $LIBS "$@"
422 then
423  subdir_var='subdir_'"`echo $subdir | to_escaped`"
424  echo "#define $def"            >&3
425  [ "$subdir" != '' ] && \
426   echo "$subdir_var=$subdir" >&4
427  [ "$lib" != 'c' ] && \
428   echo "lib_$envlib=$LIBS" >&4
429  if [ "$lib" != 'c' ]
430  then
431   eval "lib_$envlib='$LIBS'"
432  else
433   echo "LIB($name) SETS libname_$envname=true" >&5
434   eval "libname_$envname=true"
435  fi
436 else
437  [ "$subdir" != '' ] && \
438   echo "subdir_$subdir=" >&4
439  [ "$lib" != 'c' ] && \
440   echo "lib_$envlib=" >&4
441  echo "LIB($name) SETS libname_$envname=false" >&5
442  eval "libname_$envname=false"
443 fi
444 echo >&5
445 echo >&5
446}
447
448test_tool_defmake () {
449 DEF="$1"
450 NAME="$2"
451 shift;
452 shift;
453 echo -n "checking for $NAME... "
454
455 echo "TEST TOOL: $NAME" >&5
456
457 if $RUNTIME_DETECT
458 then
459  echo "$1 (runtime detect)"
460  echo "TOOL($NAME) WILL BE RUNTIME DETECTED" >&5
461  echo "#define $DEF "\""$1"\" >&3
462 elif $MINIMAL
463 then
464  echo "disabled by user (minimalstic build)"
465  echo "TOOL($NAME) IS DISABLED BY USER" >&5
466 else
467
468  LIST=$(which "$@" 2> /dev/null | grep ^/ | head -n 1)
469
470  if [ "$LIST" = '' ]
471  then
472   echo 'no'
473   echo "TOOL($NAME) NOT FOUND" >&5
474  else
475   echo $LIST
476   echo "#define $DEF "\""$LIST"\" >&3
477   echo "TOOL($NAME) IS AT $LIST" >&5
478  fi
479 fi
480}
481
482test_func_defmake () {
483 _defs=''
484 DEF="$1"
485 NAME="$2"
486 shift;
487 shift;
488 echo -n "checking for $NAME()... "
489
490 CALL="$1"
491 shift;
492
493 $NEED_GNU_SOURCE && _defs="$_defs -D_GNU_SOURCE"
494
495 if [ "$infotext" = '' ]
496 then
497  _info=''
498 else
499  _info=" ($infotext)"
500 fi
501
502 LIBS=''
503
504 _funcname=`echo "$NAME" | to_escaped`
505
506 while [ "$1" != '--' ]
507 do
508  case "$1" in
509   'c'|'-lc')
510    :; # no need to do anything
511   ;;
512   '-'*)
513    LIBS="$LIBS $1"
514   ;;
515   *)
516    LIBS="-l$1"
517   ;;
518  esac
519  shift;
520 done
521
522 shift; # skip '--'
523
524 echo "TEST FUNCTION: $NAME" >&5
525
526 {
527  while [ "$1" != '' ]
528  do
529   _h="$1";
530   shift;
531   _envname=`echo "$_h" | to_escaped`
532   eval "_t=\$libname_$_envname"
533   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
534   if [ "$_t" = 'false' ]
535   then
536    echo "// not including <$_h> as it was tested as not present"
537   else
538    echo "#include <$_h>"
539   fi
540  done
541
542  echo 'int main (void) {'
543  echo " $CALL;"
544  echo ' return 0;'
545  echo '}'
546
547 } > $TF_C
548
549 echo "--- BEGIN OF CODE BLOCK ---" >&5
550 cat $TF_C >&5
551 echo "--- END OF CODE BLOCK ---" >&5
552
553 echo "FUNCTION($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
554 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
555 $CCTF $_defs $LIBS >&5 2>&5;
556 R=$?
557 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
558
559 if [ "$R" = '0' ]
560 then
561  eval funcname_$_funcname=true
562  echo "#define $DEF" >&3
563  echo "FUNCTION($NAME) IS OK" >&5
564  echo "yes$_info"
565 else
566  eval funcname_$_funcname=false
567  echo "FUNCTION($NAME) IS NOT OK" >&5
568  echo "no$_info"
569 fi
570
571}
572
573test_const_defmake () {
574 DEF="$1"
575 NAME="$2"
576 shift;
577 shift;
578 echo -n "checking for constant $NAME... "
579
580 TYPE="$1"
581 CONST="$2"
582 shift;
583 shift;
584
585 LIBS=''
586
587 while [ "$1" != '--' ]
588 do
589  case "$1" in
590   'c'|'-lc')
591    :; # no need to do anything
592   ;;
593   '-'*)
594    LIBS="$LIBS $1"
595   ;;
596   *)
597    LIBS="-l$1"
598   ;;
599  esac
600  shift;
601 done
602
603 shift; # skip '--'
604
605 echo "TEST CONST: $NAME" >&5
606
607 {
608  while [ "$1" != '' ]
609  do
610   _h="$1";
611   shift;
612   _envname=`echo "$_h" | to_escaped`
613   eval "_t=\$libname_$_envname"
614   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
615   if [ "$_t" = 'false' ]
616   then
617    echo "// not including <$_h> as it was tested as not present"
618   else
619    echo "#include <$_h>"
620   fi
621  done
622
623  case "$TYPE" in
624   ':int')
625    _type='int'
626   ;;
627   ':float')
628    _type='float'
629   ;;
630   ':ptr')
631    _type='void *'
632   ;;
633   *)
634    _type="$TYPE"
635   ;;
636  esac
637
638  echo 'int main (void) {'
639  echo " $_type x;"
640  echo " x = ($_type)$CONST;"
641  echo ' return 0;'
642  echo '}'
643
644 } > $TF_C
645
646 echo "--- BEGIN OF CODE BLOCK ---" >&5
647 cat $TF_C >&5
648 echo "--- END OF CODE BLOCK ---" >&5
649
650 echo "CONST($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
651 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
652 $CCTF $LIBS >&5 2>&5;
653 R=$?
654 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
655
656 if [ "$R" = '0' ]
657 then
658  echo "#define $DEF" >&3
659  echo "CONST($NAME) IS OK" >&5
660  echo yes
661 else
662  echo "CONST($NAME) IS NOT OK" >&5
663  echo no
664 fi
665}
666
667test_var_defmake () {
668 DEF="$1"
669 NAME="$2"
670 shift;
671 shift;
672 echo -n "checking for global variable $NAME... "
673
674 TYPE="$1"
675 VAR="$2"
676 shift;
677 shift;
678
679 LIBS=''
680
681 while [ "$1" != '--' ]
682 do
683  case "$1" in
684   'c'|'-lc')
685    :; # no need to do anything
686   ;;
687   '-'*)
688    LIBS="$LIBS $1"
689   ;;
690   *)
691    LIBS="-l$1"
692   ;;
693  esac
694  shift;
695 done
696
697 shift; # skip '--'
698
699 echo "TEST VAR: $NAME" >&5
700
701 {
702  while [ "$1" != '' ]
703  do
704   _h="$1";
705   shift;
706   _envname=`echo "$_h" | to_escaped`
707   eval "_t=\$libname_$_envname"
708   echo "LIB($name) DEPENDS ON $_h($_envname) with state '$_t'" >&5
709   if [ "$_t" = 'false' ]
710   then
711    echo "// not including <$_h> as it was tested as not present"
712   else
713    echo "#include <$_h>"
714   fi
715  done
716
717  case "$TYPE" in
718   ':int')
719    _type='int'
720   ;;
721   ':float')
722    _type='float'
723   ;;
724   ':ptr')
725    _type='void *'
726   ;;
727   *)
728    _type="$TYPE"
729   ;;
730  esac
731
732  echo 'int main (void) {'
733  echo " $_type x;"
734  echo " x = ($_type)$VAR;"
735  echo " $VAR = x;"
736  echo ' return 0;'
737  echo '}'
738
739 } > $TF_C
740
741 echo "--- BEGIN OF CODE BLOCK ---" >&5
742 cat $TF_C >&5
743 echo "--- END OF CODE BLOCK ---" >&5
744
745 echo "VAR($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
746 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
747 $CCTF $LIBS >&5 2>&5;
748 R=$?
749 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
750
751 if [ "$R" = '0' ]
752 then
753  echo "#define $DEF" >&3
754  echo "VAR($NAME) IS OK" >&5
755  echo yes
756 else
757  echo "VAR($NAME) IS NOT OK" >&5
758  echo no
759 fi
760}
761
762test_version () {
763 DEF="$1"
764 NAME="$2"
765 PKGNAME="$3"
766
767 echo -n "checking for version of $NAME... "
768
769 _ver=$($PKG_CONFIG --modversion $PKGNAME 2> /dev/null)
770
771 if [ "$_ver" = '' ]
772 then
773  _ver=unknown
774 fi
775
776 echo $_ver
777
778 _ver_def=$(echo $_ver | to_escaped | to_upper)
779 echo "#define ${DEF}_$_ver_def" >&3
780
781 echo "$_ver" | if grep '^[0-9]*\.[0-9]*\.[0-9]*$' > /dev/null
782 then
783  _ver_vdef=$(echo "$_ver" | sed 's/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]\)*$/_ROAR_MKVERSION(\1, \2, \3)/')
784  echo "#define ${DEF} $_ver_vdef" >&3
785 else
786  echo "#define ${DEF} 0" >&3
787 fi
788
789}
790
791test_type () {
792 DEF="$1"
793 NAME="$2"
794 INITVAL="$3"
795 DASHDASH="$4"
796 shift; shift;
797
798 if [ "$#" -ge '2' ]
799 then
800  shift; shift;
801 fi
802
803 HEADERS="stdint.h string.h unistd.h sys/types.h $*" #including headers here let
804                                                     #them get checked for presence.
805
806 [ "$INITVAL" = '' ] && INITVAL='0'
807
808 echo -n "checking for type $NAME... "
809 echo "TEST TYPE: $NAME" >&5
810
811 echo "// type test for type $NAME"  >  $TF_C # need a clean file, write something
812 for _h in $HEADERS
813 do
814  _envname=`echo "$_h" | to_escaped`
815  eval "_t=\$libname_$_envname"
816  echo "TYPE($NAME) DEPENDS ON $_h($_envname) with state '$_t'" >&5
817  if [ "$_t" = 'false' ]
818  then
819   echo "// not including <$_h> as it was tested as not present"  >> $TF_C
820  else
821   echo "#include <$_h>"  >> $TF_C
822  fi
823 done
824 echo "int main (void) { $NAME _var = $INITVAL; return 0; }" >> $TF_C
825
826 echo "--- BEGIN OF CODE BLOCK ---" >&5
827 cat $TF_C >&5
828 echo "--- END OF CODE BLOCK ---" >&5
829
830 echo "TYPE($NAME) HAS COMPILER/LINKER OUTPUT:" >&5
831 echo "--- BEGIN OF CHILD OUTPUT BLOCK ---" >&5
832 $CCTF >&5 2>&5;
833 R=$?
834 echo "--- END OF CHILD OUTPUT BLOCK ---" >&5
835
836 if [ "$R" = '0' ]
837 then
838  echo "#define $DEF" >&3
839  echo 'ok'
840  echo "TYPE($NAME) IS OK" >&5
841 else
842  echo 'not found'
843  echo "TYPE($NAME) NOT FOUND" >&5
844 fi
845}
846
847test_pa_type () {
848 DEF="$1"
849 NAME="$2"
850 TYPE="$3"
851 V0="$4"
852 V1="$5"
853 TEST="$6"
854 shift; shift; shift; shift; shift; shift;
855 HEADER="$*"
856 RS='%s'
857
858 case "$TYPE" in
859  'type')
860   MSG="checking for type of $NAME()... "
861  ;;
862  'args:'*)
863   MSG="checking for argument types of $NAME()... "
864   RS=`echo "$TYPE" | cut -d: -f2`
865  ;;
866 esac;
867
868 echo -n "$MSG"
869 echo '#include <pulse/pulseaudio.h>'  >  $TF_C
870 for _h in $HEADERS
871 do
872  echo "#include <$_h>"  >> $TF_C
873 done
874 echo '#include <string.h>'           >> $TF_C
875 echo 'int main (void) { return 0; }' >> $TF_C
876 echo "$TEST"                         >> $TF_C
877
878 if $CCTF 2> /dev/null;
879 then
880  R="$V0"
881 else
882  R="$V1"
883 fi
884
885 echo "#define $DEF $R" >&3
886 printf "$RS\n" "$R"
887}
888
889test_winsock() {
890 test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBWSOCK32    %            WinSockP0     wsock32    -- winsock2.h
891 test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBWS2_32     %            WinSockP1     ws2_32     -- winsock2.h
892 echo 'NETLIBS += $(lib_wsock32) $(lib_ws2_32)' >&4
893}
894
895test_netlibs() {
896 test_winsock
897}
898
899test_pthread() {
900 echo -n 'checking for -pthread... '
901
902 echo '#include <pthread.h>'                            > $TF_C
903 echo 'int main (void) { pthread_self(); return 0; }'  >> $TF_C
904
905 if $CCTF -pthread 2> /dev/null;
906 then
907  echo '#define ROAR_HAVE_CC_PTHREAD_OPTION' >&3
908  echo 'opt_pthread=-pthread' >&4
909  echo 'pthread=$(opt_pthread)' >&4
910  echo yes
911 else
912  echo 'opt_pthread=' >&4
913  echo 'pthread=$(lib_pthread)' >&4
914  echo no
915  test_lib_defmake ${ROAR_BUILDSYSTEM_DEFPREFIX}HAVE_LIBPTHREAD    %            libpthread    pthread    -- pthread.h
916 fi
917}
918
919#ll
Note: See TracBrowser for help on using the repository browser.