Broken PulseAudio configure check

Francois Gouget fgouget at free.fr
Tue Nov 3 05:03:30 CST 2015


The PulseAudio configure check is broken:

    WINE_PACKAGE_FLAGS(PULSE,[libpulse],,,,
        [AC_CHECK_HEADERS(pulse/pulseaudio.h,
            [AC_CHECK_LIB(pulse,pa_stream_is_corked,[:],,[$PULSE_LIBS])])])
[...]
test -n "$PULSE_LIBS" || enable_winepulse_drv=${enable_winepulse_drv:-no}

WINE_PACKAGE_FLAGS() sets PULSE_LIBS but PULSE_LIBS is not unset even if 
AC_CHECK_LIB() fails. As a result compilation of winepulse.drv is 
enabled even if libpulse.so is missing.

I don't have the 32-bit libpulse.so library so this resulted in a 
compilation error here:

../../tools/winegcc/winegcc -o winepulse.drv.so -B../../tools/winebuild 
-m32 -fasynchronous-unwind-tables -shared winepulse.drv.spec \
  mmdevdrv.o -ldxguid -luuid -lwinmm -luser32 -ladvapi32 -lole32 -lwine \
  ../../libs/port/libwine_port.a -lpulse -lpthread 
/usr/bin/ld: cannot find -lpulse
collect2: error: ld returned 1 exit status
winegcc: gcc failed
Makefile:185: recipe for target 'winepulse.drv.so' failed


I also find it strange that all these audio modules are enabled/disabled 
at the end of the configure.ac file instead of where support is checked.

Also the 'Check for any sound system' should probably not look into the 
internals of audio systems (i.e. check for PULSE_LIBS) and instead only 
rely on the enable_xxx_drv variables which should have been set by then.


-- 
Francois Gouget <fgouget at free.fr>              http://fgouget.free.fr/
                     Avoid the Gates of Hell - use Linux.



More information about the wine-devel mailing list