- new portaudio-v19 tries to use alsa if available, but does not

make a static library including alsa definitions. A binary linked
  against a portaudio-v19 library using alsa also has to link against -alsa,
  this is inconvenient to say the least. I do not consider this the
  best "fix", the portaudio.a may not be referencing any alsa libs at all,
  even if it is present; but this should get Harry going.



git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@260 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Diane Bruce 2006-08-11 00:00:23 +00:00
parent 2ea5f6eabb
commit a8b728e9ed
2 changed files with 82 additions and 4 deletions

78
configure vendored
View File

@ -2,7 +2,7 @@
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for wsjt 5.9.2. # Generated by GNU Autoconf 2.59 for wsjt 5.9.2.
# #
# $Id: configure.ac 258 2006-08-10 21:49:40Z va3db $ # $Id: configure.ac 259 2006-08-10 22:22:33Z va3db $
# #
# Copyright (C) 2003 Free Software Foundation, Inc. # Copyright (C) 2003 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
@ -976,7 +976,7 @@ Copyright (C) 2003 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it. gives unlimited permission to copy, distribute and modify it.
$Id: configure.ac 258 2006-08-10 21:49:40Z va3db $ $Id: configure.ac 259 2006-08-10 22:22:33Z va3db $
_ACEOF _ACEOF
exit 0 exit 0
fi fi
@ -2500,7 +2500,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
CFLAGS="$OLD_CFLAGS" CFLAGS="$OLD_CFLAGS"
CPPFLAGS="-Iportaudio-v19/include -I/usr/local/include -I/usr/include/alsa ${CPPFLAGS}" CPPFLAGS="-Iportaudio-v19/include -I/usr/local/include -I/usr/include/alsa -I/usr/local/include/alsa ${CPPFLAGS}"
LDFLAGS="-L/usr/local/lib ${LDFLAGS}" LDFLAGS="-L/usr/local/lib ${LDFLAGS}"
LIBS=" -lpthread ${LIBS}" LIBS=" -lpthread ${LIBS}"
@ -4890,6 +4890,76 @@ else
RTLIBS="" RTLIBS=""
fi fi
echo "$as_me:$LINENO: checking for snd_pcm_open in -lasound" >&5
echo $ECHO_N "checking for snd_pcm_open in -lasound... $ECHO_C" >&6
if test "${ac_cv_lib_asound_snd_pcm_open+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lasound $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char snd_pcm_open ();
int
main ()
{
snd_pcm_open ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_asound_snd_pcm_open=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_asound_snd_pcm_open=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_asound_snd_pcm_open" >&5
echo "${ECHO_T}$ac_cv_lib_asound_snd_pcm_open" >&6
if test $ac_cv_lib_asound_snd_pcm_open = yes; then
ASOUNDLIBS="-lasound"
else
ASOUNDLIBS=""
fi
echo "$as_me:$LINENO: checking for int64_t" >&5 echo "$as_me:$LINENO: checking for int64_t" >&5
echo $ECHO_N "checking for int64_t... $ECHO_C" >&6 echo $ECHO_N "checking for int64_t... $ECHO_C" >&6
@ -6771,6 +6841,7 @@ FC="${FC}"
if test "$alsa" != yes -a "$oss" != yes -a \ if test "$alsa" != yes -a "$oss" != yes -a \
"$portaudio" != yes; then "$portaudio" != yes; then
if test $HAS_PORTAUDIO_H -eq 1; then if test $HAS_PORTAUDIO_H -eq 1; then
@ -6814,6 +6885,7 @@ _ACEOF
NEEDPORTAUDIO="portaudio-v19/lib/.libs/libportaudio.a" NEEDPORTAUDIO="portaudio-v19/lib/.libs/libportaudio.a"
LIBS="${LIBS} ${RTLIBS} -lsamplerate ./portaudio-v19/lib/.libs/libportaudio.a" LIBS="${LIBS} ${RTLIBS} -lsamplerate ./portaudio-v19/lib/.libs/libportaudio.a"
LIBS="${LIBS} ${ASOUNDLIBS}"
else else
NEEDPORTAUDIO="" NEEDPORTAUDIO=""

View File

@ -20,7 +20,7 @@ dnl Make sure autoconf doesn't interfere with cflags -jmallett
CFLAGS="$OLD_CFLAGS" CFLAGS="$OLD_CFLAGS"
dnl Lets guess at some likely places for extra libs/includes XXX -db dnl Lets guess at some likely places for extra libs/includes XXX -db
CPPFLAGS="-Iportaudio-v19/include -I/usr/local/include -I/usr/include/alsa ${CPPFLAGS}" CPPFLAGS="-Iportaudio-v19/include -I/usr/local/include -I/usr/include/alsa -I/usr/local/include/alsa ${CPPFLAGS}"
LDFLAGS="-L/usr/local/lib ${LDFLAGS}" LDFLAGS="-L/usr/local/lib ${LDFLAGS}"
LIBS=" -lpthread ${LIBS}" LIBS=" -lpthread ${LIBS}"
@ -136,6 +136,7 @@ if test "$gcc_cv_header_string" = "yes"; then
fi fi
AC_CHECK_LIB(rt, clock_gettime, [RTLIBS="-lrt"], [RTLIBS=""]) AC_CHECK_LIB(rt, clock_gettime, [RTLIBS="-lrt"], [RTLIBS=""])
AC_CHECK_LIB(asound, snd_pcm_open, [ASOUNDLIBS="-lasound"], [ASOUNDLIBS=""])
AC_CHECK_SIZEOF(int64_t) AC_CHECK_SIZEOF(int64_t)
AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(long long)
@ -284,6 +285,7 @@ AC_SUBST(FC, "${FC}")
dnl set defaults dnl set defaults
dnl ============ dnl ============
if test "$alsa" != yes -a "$oss" != yes -a \ if test "$alsa" != yes -a "$oss" != yes -a \
"$portaudio" != yes; then "$portaudio" != yes; then
if test $HAS_PORTAUDIO_H -eq 1; then if test $HAS_PORTAUDIO_H -eq 1; then
@ -310,7 +312,11 @@ if test "$portaudio" = yes; then
AC_DEFINE(USE_PORTAUDIO, 1, [Define if you want PORTAUDIO used.]) AC_DEFINE(USE_PORTAUDIO, 1, [Define if you want PORTAUDIO used.])
AC_SUBST(AUDIO, "a2d.f90 jtaudio.c resample.c start_portaudio.c") AC_SUBST(AUDIO, "a2d.f90 jtaudio.c resample.c start_portaudio.c")
AC_SUBST(NEEDPORTAUDIO, "portaudio-v19/lib/.libs/libportaudio.a") AC_SUBST(NEEDPORTAUDIO, "portaudio-v19/lib/.libs/libportaudio.a")
dnl
dnl new portaudio-v19 on linux will be referencing alsa.
dnl
LIBS="${LIBS} ${RTLIBS} -lsamplerate ./portaudio-v19/lib/.libs/libportaudio.a" LIBS="${LIBS} ${RTLIBS} -lsamplerate ./portaudio-v19/lib/.libs/libportaudio.a"
LIBS="${LIBS} ${ASOUNDLIBS}"
else else
AC_SUBST(NEEDPORTAUDIO, "") AC_SUBST(NEEDPORTAUDIO, "")
fi fi