--- sourceforge.net/trunk/rdesktop/configure.ac 2006/03/13 09:27:10 1115 +++ sourceforge.net/trunk/rdesktop/configure.ac 2006/10/21 06:36:49 1301 @@ -1,4 +1,4 @@ -AC_INIT(rdesktop, 1.4.1) +AC_INIT(rdesktop, 1.5.0) AC_CONFIG_SRCDIR([rdesktop.c]) @@ -13,6 +13,8 @@ AC_C_BIGENDIAN([AC_DEFINE(B_ENDIAN)], [AC_DEFINE(L_ENDIAN)]) AC_PATH_XTRA +PKG_PROG_PKG_CONFIG + AC_SEARCH_LIBS(socket, socket) AC_SEARCH_LIBS(inet_aton, resolv) @@ -139,48 +141,136 @@ # # sound # -AC_ARG_WITH(libao, - [ --with-libao=DIR look for libao at DIR/include, DIR/lib], - [ - CFLAGS="$CFLAGS -I$withval/include" - CPPFLAGS="$CPPFLAGS -I$withval/include" - LIBS="$LIBS -L$withval/lib" - rpath="$rpath:$withval/lib" - ] -) sound="yes" AC_ARG_WITH(sound, - [ --with-sound select sound system ("oss", "sgi", "sun" or "libao") ], + [ --with-sound select sound system ("oss", "sgi", "sun", "alsa" or "libao") ], [ sound="$withval" ]) -if test "$sound" = yes; then - AC_CHECK_HEADER(ao/ao.h, [sound=libao]) - AC_CHECK_HEADER(sys/soundcard.h, [sound=oss]) - AC_CHECK_HEADER(dmedia/audio.h, [sound=sgi]) - AC_CHECK_HEADER(sys/audioio.h, [sound=sun]) -fi -if test "$sound" = no; then - break -elif test "$sound" = oss; then - SOUNDOBJ="rdpsnd.o rdpsnd_oss.o" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = sgi; then - SOUNDOBJ="rdpsnd.o rdpsnd_sgi.o" - LDFLAGS="$LDFLAGS -laudio" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = sun; then - SOUNDOBJ="rdpsnd.o rdpsnd_sun.o" - AC_DEFINE(WITH_RDPSND) -elif test "$sound" = libao; then - SOUNDOBJ="rdpsnd.o rdpsnd_libao.o" - LDFLAGS="$LDFLAGS -lao" + +AC_CHECK_HEADER(sys/soundcard.h, [HAVE_OSS=1], [HAVE_OSS=0]) +AC_CHECK_HEADER(dmedia/audio.h, [HAVE_SGI=1], [HAVE_SGI=0]) +AC_CHECK_HEADER(sys/audioio.h, [HAVE_SUN=1], [HAVE_SUN=0]) + +AC_ARG_ENABLE(static-libsamplerate, + [ --enable-static-libsamplerate link libsamplerate statically], + [static_libsamplerate=yes], + [static_libsamplerate=no]) + +if test -n "$PKG_CONFIG"; then + PKG_CHECK_MODULES(LIBAO, ao, [HAVE_LIBAO=1], [HAVE_LIBAO=0]) + PKG_CHECK_MODULES(ALSA, alsa, [HAVE_ALSA=1], [HAVE_ALSA=0]) + PKG_CHECK_MODULES(LIBSAMPLERATE, samplerate, [HAVE_LIBSAMPLERATE=1], [HAVE_LIBSAMPLERATE=0]) + if test x"$HAVE_LIBSAMPLERATE" = "x1"; then + AC_DEFINE(HAVE_LIBSAMPLERATE) + if test x"$static_libsamplerate" = "xyes"; then + _libsamplerate_libdir=`$PKG_CONFIG --errors-to-stdout --variable=libdir samplerate` + LIBSAMPLERATE_LIBS="$_libsamplerate_libdir""/libsamplerate.a" + fi + fi +fi + +if test "$sound" != "no"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd.o rdpsnd_dsp.o" + CFLAGS="$CFLAGS $LIBSAMPLERATE_CFLAGS" + LIBS="$LIBS $LIBSAMPLERATE_LIBS" AC_DEFINE(WITH_RDPSND) -else - AC_MSG_WARN([sound support disabled]) - AC_MSG_WARN([Currently supported systems are Open Sound System (oss), SGI AL (sgi), Sun/BSD (sun) and libao]) fi + +case $sound in + yes) + if test x"$HAVE_OSS" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_oss.o" + AC_DEFINE(RDPSND_OSS) + fi + + if test x"$HAVE_SGI" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_sgi.o" + LIBS="$LIBS -laudio" + AC_DEFINE(RDPSND_SGI) + fi + + if test x"$HAVE_SUN" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_sun.o" + AC_DEFINE(RDPSND_SUN) + fi + + if test x"$HAVE_ALSA" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_alsa.o" + CFLAGS="$CFLAGS $ALSA_CFLAGS" + LIBS="$LIBS $ALSA_LIBS" + AC_DEFINE(RDPSND_ALSA) + fi + + if test x"$HAVE_LIBAO" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_libao.o" + CFLAGS="$CFLAGS $LIBAO_CFLAGS" + LIBS="$LIBS $LIBAO_LIBS" + AC_DEFINE(RDPSND_LIBAO) + fi + + ;; + + oss) + if test x"$HAVE_OSS" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_oss.o" + AC_DEFINE(RDPSND_OSS) + else + AC_MSG_ERROR([Selected sound system is not available.]) + fi + ;; + + sgi) + if test x"$HAVE_SGI" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_sgi.o" + LIBS="$LIBS -laudio" + AC_DEFINE(RDPSND_SGI) + else + AC_MSG_ERROR([Selected sound system is not available.]) + fi + ;; + + sun) + if test x"$HAVE_SUN" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_sun.o" + AC_DEFINE(RDPSND_SUN) + else + AC_MSG_ERROR([Selected sound system is not available.]) + fi + ;; + + alsa) + if test x"$HAVE_ALSA" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_alsa.o" + CFLAGS="$CFLAGS $ALSA_CFLAGS" + LIBS="$LIBS $ALSA_LIBS" + AC_DEFINE(RDPSND_ALSA) + else + AC_MSG_ERROR([Selected sound system is not available.]) + fi + ;; + + libao) + if test x"$HAVE_LIBAO" = "x1"; then + SOUNDOBJ="$SOUNDOBJ rdpsnd_libao.o" + CFLAGS="$CFLAGS $LIBAO_CFLAGS" + LIBS="$LIBS $LIBAO_LIBS" + AC_DEFINE(RDPSND_LIBAO) + else + AC_MSG_ERROR([Selected sound system is not available.]) + fi + ;; + + no) + ;; + + *) + AC_MSG_WARN([sound support disabled]) + AC_MSG_WARN([Currently supported systems are Open Sound System (oss), SGI AL (sgi), Sun/BSD (sun), ALSA (alsa) and libao]) + ;; +esac + AC_SUBST(SOUNDOBJ) # @@ -684,6 +774,15 @@ fi ]) +AC_ARG_WITH(debug-channel, + [ --with-debug-channel enable debugging of virtual channel code], + [ + if test $withval != "no"; + then + AC_DEFINE(WITH_DEBUG_CHANNEL,1) + fi + ]) + # # target-specific stuff