Blob Blame History Raw
AC_PREREQ([2.65])
AC_INIT([pcaudiolib], [1.1], [https://github.com/rhdunn/pcaudiolib/issues], [], [https://github.com/rhdunn/pcaudiolib])
AM_INIT_AUTOMAKE()

m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES])
AM_SILENT_RULES([yes])

AC_CONFIG_SRCDIR([src])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_HOST

dnl ================================================================
dnl Program checks.
dnl ================================================================

AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_LIBTOOL

dnl ================================================================
dnl PulseAudio checks.
dnl ================================================================

AC_ARG_WITH([pulseaudio],
    [AS_HELP_STRING([--with-pulseaudio], [support for PulseAudio output @<:@default=yes@:>@])],
    [])

AS_IF([test "x$with_pulseaudio" = "xno"],
    [
        echo "Disabling PulseAudio output support";
        have_pulseaudio=no
    ], [
        PKG_CHECK_MODULES(PULSEAUDIO, [libpulse-simple >= 0.9],
        [
            AC_DEFINE(HAVE_PULSE_SIMPLE_H, [], [Do we have pulse/simple.h])
            have_pulseaudio=yes
        ],[
            have_pulseaudio=no
])
])

AC_SUBST(PULSEAUDIO_CFLAGS)
AC_SUBST(PULSEAUDIO_LIBS)

dnl ================================================================
dnl ALSA checks.
dnl ================================================================

AC_ARG_WITH([alsa],
    [AS_HELP_STRING([--with-alsa], [support for ALSA audio output @<:@default=yes@:>@])],
    [])

AS_IF([test "x$with_alsa" = "xno"], [
    echo "Disabling ALSA audio output support";
    have_alsa=no
    ], [
        PKG_CHECK_MODULES(ALSA, [alsa],
        [
            AC_DEFINE(HAVE_ALSA_ASOUNDLIB_H, [], [Do we have ALSA])
            have_alsa=yes
        ],[
            have_alsa=no
        ])])

AC_SUBST(ALSA_CFLAGS)
AC_SUBST(ALSA_LIBS)

dnl ================================================================
dnl QSA checks.
dnl ================================================================

AC_ARG_WITH([qsa],
    [AS_HELP_STRING([--with-qsa], [support for QSA audio output @<:@default=yes@:>@])],
    [])

if test "$with_qsa" = "no"; then
    echo "Disabling QSA audio output support"
    have_qsa=no
else
    AC_CHECK_HEADERS([sys/asoundlib.h],[
        AC_CHECK_HEADERS([sys/asound.h],[
            have_qsa=yes
            QSA_LIBS=-lasound
        ],[
            have_qsa=no
        ])
    ],[
        have_qsa=no
    ])
fi

AC_SUBST(QSA_LIBS)

dnl ================================================================
dnl coreaudio checks.
dnl ================================================================

AC_ARG_WITH([coreaudio],
    [AS_HELP_STRING([--with-coreaudio], [support for coreaudio audio output on Mac OS @<:@default=yes@:>@])],
    [])

if test "$with_coreaudio" = "no";then
    echo "Disabling coreaudio audio output support"
    have_coreaudio=no
else
    case $host_os in
        *darwin*)
            COREAUDIO_CFLAGS="-dynamiclib -fvisibility=default"
            COREAUDIO_LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit"
            have_coreaudio=yes
            AC_DEFINE(HAVE_COREAUDIO_H, [], [Do we have coreaudio?])
            ;;
        *)
            have_coreaudio=no
            ;;
    esac
fi

AC_SUBST(COREAUDIO_CFLAGS)
AC_SUBST(COREAUDIO_LIBS)
AM_CONDITIONAL([HAVE_COREAUDIO], [test "x${have_coreaudio}" = "xyes"])

dnl ================================================================
dnl OSS checks.
dnl ================================================================

AC_ARG_WITH([oss],
    [AS_HELP_STRING([--with-oss], [support for OSS audio output @<:@default=yes@:>@])],
    [])

if test "$with_oss" = "no"; then
    echo "Disabling OSS audio output support"
    have_oss=no
else
    AC_CHECK_HEADERS([sys/soundcard.h],[
        AC_CHECK_LIB(ossaudio, _oss_ioctl)
        have_oss=yes
    ],[
        AC_CHECK_HEADERS([linux/soundcard.h],[
            AC_CHECK_LIB(ossaudio, _oss_ioctl)
            have_oss=yes
        ],[
            AC_CHECK_HEADERS([soundcard.h],[
                AC_CHECK_LIB(ossaudio, _oss_ioctl)
                have_oss=yes
            ],[
                have_oss=no
            ])
        ])
    ])
fi

dnl ================================================================
dnl Generate output.
dnl ================================================================

AC_CONFIG_FILES([Makefile])
AC_OUTPUT

AC_MSG_NOTICE([

    Configuration for Portable C Audio Library complete.

        Source code location:          ${srcdir}

        Compiler:                      ${CC}
        Compiler flags:                ${CFLAGS}

	PulseAudio support:            ${have_pulseaudio}
	ALSA support:                  ${have_alsa}
	QSA support:                   ${have_qsa}
	Coreaudio support:             ${have_coreaudio} 
	OSS support:                   ${have_oss}
])