# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. AC_INIT([cras], [0.1], [dgreid@chromium.org], [cras], [http://www.chromium.org/]) AC_PREREQ([2.59]) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.10 -Wall no-define]) #AC_CONFIG_HEADERS([config.h]) m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) AC_PROG_LIBTOOL AC_PROG_CC # c++ unit test (gtest). AC_PROG_CXX AC_LANG_C AM_PROG_CC_C_O PKG_PROG_PKG_CONFIG #AC_CONFIG_FILES([Makefile src/Makefile libcras.pc]) PKG_CHECK_MODULES([LIBSPEEX], [ speexdsp >= 1.2 ]) PKG_CHECK_MODULES([ASOUNDLIB], [ alsa >= 1.1.0 ]) AC_ARG_ENABLE([DBUS], AS_HELP_STRING([--disable-DBUS], [Disable all DBUS uses]), have_dbus=$enableval, have_dbus=yes) AM_CONDITIONAL(HAVE_DBUS, test "$have_dbus" = "yes") if test "$have_dbus" = "yes"; then PKG_CHECK_MODULES([DBUS], [ dbus-1 >= 1.4.12 ]) DBUS_CFLAGS+=-DCRAS_DBUS AC_SUBST(DBUS_CFLAGS) else DBUS_CFLAGS= AC_SUBST(DBUS_CFLAGS) DBUS_LIBS= AC_SUBST(DBUS_LIBS) fi PKG_CHECK_MODULES([SBC], [ sbc >= 1.0 ]) AC_CHECK_LIB(asound, snd_pcm_ioplug_create,, AC_ERROR([*** libasound has no external plugin SDK]), -ldl) AC_ARG_ENABLE([alsa-plugin], AS_HELP_STRING([--disable-alsa-plugin], [Disable building of ALSA plugin])) # Determine ALSA plugin directory. test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix AC_ARG_WITH(plugindir, AS_HELP_STRING([--with-plugindir=dir], [path where ALSA plugin files are stored]), plugindir="$withval", plugindir="") if test -z "$plugindir"; then eval dir="$libdir" case "$dir" in /*) ;; *) dir="$dir" esac plugindir="$dir/alsa-lib" fi AC_DEFINE_UNQUOTED(ALSA_PLUGIN_DIR, "$plugindir", [directory containing ALSA add-on modules]) ALSA_PLUGIN_DIR="$plugindir" AC_SUBST(ALSA_PLUGIN_DIR) # Determine CRAS configuration directory. eval cras_config_file_dir="$sysconfdir/cras" AC_DEFINE_UNQUOTED(CRAS_CONFIG_FILE_DIR, "$cras_config_file_dir", [directory containing CRAS configuration]) # CRAS socket dir AC_ARG_WITH(socketdir, AS_HELP_STRING([--with-socketdir=dir], [path where CRAS stores its sockets]), socketdir="$withval", socketdir="/run/cras") AC_DEFINE_UNQUOTED(CRAS_SOCKET_FILE_DIR, "$socketdir", [directory containing CRAS socket files]) # Get iniparser library and include locations AC_ARG_WITH([iniparser-include-path], [AS_HELP_STRING([--with-iniparser-include-path], [location of the iniparser headers, defaults to /usr/include/])], [INIPARSER_CFLAGS="-I$withval"], [INIPARSER_CFLAGS='-I/usr/include']) AC_SUBST([INIPARSER_CFLAGS]) AC_ARG_WITH([iniparser-lib-path], [AS_HELP_STRING([--with-iniparser-lib-path], [location of the iniparser libraries])], [INIPARSER_LIBS="-L$withval -liniparser"], [INIPARSER_LIBS='-liniparser']) AC_SUBST([INIPARSER_LIBS]) # SSE4_2 support AC_ARG_ENABLE(sse42, [AS_HELP_STRING([--enable-sse42],[enable SSE42 optimizations])], have_sse42=$enableval, have_sse42=yes) if test "x$target_cpu" != xx86_64; then have_sse42=no fi if test "$have_sse42" = "yes"; then AC_DEFINE(HAVE_SSE42,1,[Define to enable SSE42 optimizations.]) SSE42_CFLAGS="-DOPS_SSE42 -msse4.2 -ffast-math" fi AM_CONDITIONAL(HAVE_SSE42, test "$have_sse42" = "yes") AC_SUBST(SSE42_CFLAGS) # AVX support AC_ARG_ENABLE(avx, [AS_HELP_STRING([--enable-avx],[enable AVX optimizations])], have_avx=$enableval, have_avx=yes) if test "x$target_cpu" != xx86_64; then have_avx=no fi if test "$have_avx" = "yes"; then AC_DEFINE(HAVE_AVX,1,[Define to enable AVX optimizations.]) AVX_CFLAGS="-DOPS_AVX -mavx -ffast-math" fi AM_CONDITIONAL(HAVE_AVX, test "$have_avx" = "yes") AC_SUBST(AVX_CFLAGS) # AVX2 support AC_ARG_ENABLE(avx2, [AS_HELP_STRING([--enable-avx2],[enable AVX2 optimizations])], have_avx2=$enableval, have_avx2=yes) if test "x$target_cpu" != xx86_64; then have_avx2=no fi if test "$have_avx2" = "yes"; then AC_DEFINE(HAVE_AVX2,1,[Define to enable AVX2 optimizations.]) AVX2_CFLAGS="-DOPS_AVX2 -mavx2 -ffast-math" fi AM_CONDITIONAL(HAVE_AVX2, test "$have_avx2" = "yes") AC_SUBST(AVX2_CFLAGS) # FMA support AC_ARG_ENABLE(fma, [AS_HELP_STRING([--enable-fma],[enable FMA optimizations])], have_fma=$enableval, have_fma=yes) if test "x$target_cpu" != xx86_64; then have_fma=no fi if test "$have_fma" = "yes"; then AC_DEFINE(HAVE_FMA,1,[Define to enable FMA optimizations.]) FMA_CFLAGS="-DOPS_FMA -mavx2 -mfma -ffast-math" fi AM_CONDITIONAL(HAVE_FMA, test "$have_fma" = "yes") AC_SUBST(FMA_CFLAGS) AC_OUTPUT([ Makefile src/Makefile libcras.pc ]) AS_IF([test "$have_sse42" = "yes"], ENABLE_SSE42=yes, ENABLE_SSE42=no) AS_IF([test "$have_avx" = "yes"], ENABLE_AVX=yes, ENABLE_AVX=no) AS_IF([test "$have_avx2" = "yes"], ENABLE_AVX2=yes, ENABLE_AVX2=no) AS_IF([test "$have_fma" = "yes"], ENABLE_FMA=yes, ENABLE_FMA=no) echo " Enable SSE42: ${ENABLE_SSE42} Enable AVX: ${ENABLE_AVX} Enable AVX2: ${ENABLE_AVX2} Enable FMA: ${ENABLE_FMA} "