## Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) AC_INIT([Infinity plugin],[0.9.0alpha1],[dprotti@users.sourceforge.net],[infinity-plugin-4-audacious]) AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.9.0 dist-bzip2]) AC_CONFIG_HEADER(config.h) AC_CONFIG_MACRO_DIR([m4]) AC_PREFIX_PROGRAM(audacious) # Check for programs. AC_PROG_CXX AC_PROG_INSTALL AC_DISABLE_STATIC LT_INIT AC_PATH_PROG(PKG_CONFIG, [pkg-config], [no]) if test x$PKG_CONFIG = xno ; then AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/]) fi if $PKG_CONFIG --atleast-pkgconfig-version 0.14 ; then : else AC_MSG_ERROR([*** pkg-config too old; version 0.14 or better required.]) fi # Check some dependencies PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.8,,) AC_SUBST(GLIB_LIBS) AC_SUBST(GLIB_CFLAGS) PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.8,,) AC_SUBST(GTK_LIBS) AC_SUBST(GTK_CFLAGS) PKG_CHECK_MODULES(AUDACIOUS, audacious >= 3.5,,) AC_SUBST(AUDACIOUS_LIBS) AC_SUBST(AUDACIOUS_CFLAGS) PKG_CHECK_MODULES(AUDCLIENT, audclient >= 3.5,,) AC_SUBST(AUDCLIENT_LIBS) AC_SUBST(AUDCLIENT_CFLAGS) AC_PATH_PROG(SDL_CONFIG, [sdl-config], [no]) if test x$SDL_CONFIG = xno ; then AC_MSG_ERROR([ *** sdl-config not found. *** If you have installed from binaries, probably you have not *** installed SDL development package. *** See http://www.libsdl.org ]) fi AM_PATH_SDL(1.0.6,,AC_MSG_ERROR([*** SDL >= 1.0.6 not installed - please install first])) # Check for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdlib.h string.h unistd.h]) # Check for typedefs, structures, and compiler characteristics. AC_C_VOLATILE AC_C_CONST AC_C_INLINE AC_C_BIGENDIAN(AC_MSG_WARN([*** You have a big endian system, Infinity have not been tested on these systems]),,) AC_CHECK_SIZEOF(long long) if test x$ac_cv_sizeof_long_long = x8; then : else AC_MSG_ERROR([ *** Infinity requires a 64 bit long long type. You might want to consider *** using the GNU C compiler. ]) fi # Check for library functions. AC_CHECK_FUNCS([floor sqrt]) # Arguments to specify certain features. AC_ARG_ENABLE([mmx], AS_HELP_STRING([--enable-mmx],[Turn on MMX detection support @<:@default=enabled@:>@]), [mmx=$enableval], [mmx=no]) AC_MSG_CHECKING([whether to enable MMX detection support]) if test x$mmx = xyes; then AC_MSG_RESULT([yes]) AC_DEFINE([MMX_DETECTION], [1], [Activate MMX Extensions support]) else AC_MSG_RESULT([no]) fi AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug],[Turn on debug mode @<:@default=disabled@:>@]), [debug=$enableval], [debug=no]) AC_MSG_CHECKING([whether to activate debugging]) if test "$debug" = yes; then AC_MSG_RESULT([yes]) AC_DEFINE([INFINITY_DEBUG], [1], [Activate Infinity debugging]) else AC_MSG_RESULT([no]) fi INF_CFLAGS_EXTRA='' if test x"$GCC" = xyes; then INF_CFLAGS_EXTRA="${INF_CFLAGS_EXTRA} -Wall -Wimplicit -Wunused -Wmissing-prototypes" CXXFLAGS="${CXXFLAGS} -std=c++11" fi AC_ARG_ENABLE([vectorization], AS_HELP_STRING([--enable-vectorization],[Turn on vectorization optimizations (gcc >= 4 only) @<:@default=enabled@:>@]), [vectorization=$enableval], [vectorization=yes]) AC_MSG_CHECKING([whether to activate vectorization under gcc >= 4]) if test x"$vectorization" = xyes; then AC_MSG_RESULT([yes]) if test x"$GCC" = xno; then AC_MSG_ERROR([You are not using a gcc compiler]) else # Some distros call gcc 4.x as gcc4 if test -z "$ac_cv_prog_CC" || test x"$CC" = xgcc4; then our_gcc="$CC" else our_gcc="$ac_cv_prog_CC" fi case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in *2. | *3.) AC_MSG_ERROR([You need gcc version 4 or newer to build with vectorization optimizations]) ;; *) INF_CFLAGS_EXTRA="${INF_CFLAGS_EXTRA} -ftree-vectorize" case "$target_cpu" in i*86|ia64*) # TODO check for sse2 availability INF_CFLAGS_EXTRA="${INF_CFLAGS_EXTRA} -msse" ;; powerpc|ppc) INF_CFLAGS_EXTRA="${INF_CFLAGS_EXTRA} -maltivec" ;; *) ;; esac ;; esac fi else AC_MSG_RESULT([no]) fi AC_SUBST(INF_CFLAGS_EXTRA) # Define EXPORT if test "x$HAVE_MSWINDOWS" = "xyes" ; then EXPORT="__declspec(dllexport)" elif test "x$GCC" = "xyes" ; then CFLAGS="$CFLAGS -fvisibility=hidden" CXXFLAGS="$CXXFLAGS -fvisibility=hidden" EXPORT="__attribute__((visibility(\"default\")))" else AC_MSG_ERROR([Unknown syntax for EXPORT keyword]) fi AC_DEFINE_UNQUOTED([EXPORT], [$EXPORT], [Compiler syntax for export of public symbols]) AC_CHECK_FILE("${prefix}/lib/x86_64-linux-gnu/libSDL.so", # Ubuntu on AMD64 puts libraries into x86_64-linux-gnu/ libdir="${libdir}/x86_64-linux-gnu/audacious/Visualization", libdir="${libdir}/audacious/Visualization" ) pkglibdir="${libdir}" AC_SUBST(libdir) AC_SUBST(pkglibdir) AC_CONFIG_FILES([Makefile src/Makefile]) AC_OUTPUT echo " ============================================================== Infinity Plugin for the Audacious Player -- version $VERSION ============================================================== Install path : ${libdir} Compiler : ${CC} CFLAGS : ${INF_CFLAGS_EXTRA} ${CFLAGS} CXXFLAGS : ${CXXFLAGS} Debug enabled : ${debug} MMX Extensions support : ${mmx} "