view configure.ac @ 1000:2e30075384e6

Enable silent build.
author Matti Hamalainen <ccr@tnsp.org>
date Sat, 21 Dec 2013 07:45:22 +0200
parents 9feda7db56d7
children 07fe179dec57
line wrap: on
line source

dnl ***
dnl *** Process this file with autoconf to produce a configure script.
dnl ***

dnl Require autoconf 2.65 or later
AC_PREREQ([2.65])

dnl Initialize
AC_INIT([XMMS-SID], [0.9.1], [ccr@tnsp.org])
AC_COPYRIGHT([[(C) 2003-2013 Matti 'ccr' Hamalainen]])
AC_CONFIG_SRCDIR([src/xmms-sid.h])
AM_INIT_AUTOMAKE([foreign])
AM_SILENT_RULES([yes])
AC_CONFIG_HEADERS([src/config.h])
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT([external])


dnl ***
dnl *** Define some templates
dnl ***
AH_TEMPLATE([HAVE_SONG_POSITION], [Define if you have XMMS patched with the songpos patch.])
AH_TEMPLATE([HAVE_SIDPLAY1], [Define if you have and want to use libSIDPlay 1.])
AH_TEMPLATE([HAVE_SIDPLAY2], [Define if you have and want to use libSIDPlay 2.])
AH_TEMPLATE([HAVE_SIDPLAYFP], [Define if you have and want to use libSIDPlayFP http://sourceforge.net/projects/sidplay-residfp/])
AH_TEMPLATE([HAVE_SIDPLAYFP_V10], [Define if you are using v1.0.x API of libSIDPlayFP.])
AH_TEMPLATE([HAVE_SIDPLAYFP_V11], [Define if you are using v1.1.x API of libSIDPlayFP.])
AH_TEMPLATE([HAVE_THEMETUNE], [Define if you want to build code to play XMMS-SID theme SID-tune. The tune needs to be installed too, though.])
AH_TEMPLATE([DEBUG], [Define if you wish to enable debug output to terminal.])


dnl ***
dnl *** Some general checks
dnl ***
AC_PREFIX_PROGRAM([xmms])
AC_DISABLE_STATIC
AC_LIB_RPATH
AM_PROG_LIBTOOL
AC_SYS_LARGEFILE


dnl ***
dnl *** Checks for programs
dnl ***
AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_INSTALL


dnl ***
dnl *** Checks for generic libraries
dnl ***
AC_CHECK_HEADER([pthread.h],,AC_MSG_ERROR([[*** POSIX thread support not found. Strange, maybe you don't have some development packages installed?]]))
AM_PATH_GLIB([1.2.10],,AC_MSG_ERROR([[*** GLib >= 1.2.10 not found. You either don't have GLib at all or your GLib is too old. Latest GLib can be found from Gtk+ homepages (http://www.gtk.org/)]]))
AM_PATH_GTK([1.2.10],,AC_MSG_ERROR([[*** Gtk+ >= 1.2.10 not found. You either don't have Gtk+ at all or your Gtk+ is too old. Latest Gtk+ can be found from Gtk+ homepages (http://www.gtk.org/)]]), [gthread])


dnl ***
dnl *** Checks for header files, types and functions
dnl ***
AC_HEADER_STDC
AC_C_INLINE
AC_C_CONST
AC_CHECK_HEADERS([stdlib.h string.h unistd.h stdarg.h])

AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_FUNC_FSEEKO
dnl XS_CHECK_FEATURE([ac_cv_sys_largefile_source], [fseeko/ftello])
AC_CHECK_FUNCS([memset])
XS_CHECK_FEATURE([ac_cv_func_memset], [memset])
AC_CHECK_FUNCS([bsearch])
XS_CHECK_FEATURE([ac_cv_func_bsearch], [bsearch])


dnl ***
dnl *** Enable debugging
dnl ***
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [Enable debug output to terminal/console.])],
[
if test "x$enableval" = "xyes"; then
	xs_enable_debug=yes
else
	xs_enable_debug=no
fi
], [xs_enable_debug=no])
if test "x$xs_enable_debug" = "xyes"; then
	AC_DEFINE([DEBUG])
	CFLAGS="$CFLAGS -fstack-protector-all"
	CXXFLAGS="$CXXFLAGS -fstack-protector-all"
fi


dnl ***
dnl *** Enable or disable themetune support/installation
dnl ***
AC_ARG_ENABLE([themetune],
[AS_HELP_STRING([--disable-themetune],
[Disable XMMS-SID theme song-related code and installation of the SID-tune file. The tune is not under GNU GPL, refer to README for license.])
], [
if test "x$enableval" = "xyes"; then
	xs_have_themetune=yes
else
	if test "x$enableval" = "xno"; then
		xs_have_themetune=no
	else
		xs_have_themetune=no
	fi
fi
], [xs_have_themetune=yes])
if test "x$xs_have_themetune" = "xyes"; then
	AC_DEFINE([HAVE_THEMETUNE])
fi


dnl ***
dnl *** libSIDPlay1/2 options
dnl ***
xs_have_sidplay1=no
xs_have_sidplay2=no
xs_have_sidplayfp=no

XS_ARG_WITH([sidplay1], [libSIDPlay1], [XS_PATH_LIBSIDPLAY1])
if test "x$xs_have_sidplay1" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAY1])
fi


XS_ARG_WITH([sidplayfp], [libSIDPlayFP], [XS_PATH_LIBSIDPLAYFP])

if test "x$xs_have_sidplayfp" = "xyes"; then
	AC_DEFINE([HAVE_SIDPLAYFP])
	AC_DEFINE([HAVE_HARDSID_BUILDER])
	AC_DEFINE([HAVE_RESID_BUILDER])
	AC_DEFINE([HAVE_RESID_FP_BUILDER])
	if test "x$xs_pkg_sidplayfp_v10" = "xyes"; then
		AC_DEFINE([HAVE_SIDPLAYFP_V10])
	fi
	if test "x$xs_pkg_sidplayfp_v11" = "xyes"; then
		AC_DEFINE([HAVE_SIDPLAYFP_V11])
	fi
dnl fi
else
xs_have_sidplay2_api=""
XS_ARG_WITH([sidplay2], [libSIDPlay2], [XS_PATH_LIBSIDPLAY2])
if test "x$xs_have_sidplay2" = "xyes"; then
	xs_have_sidplay2_api="(old non-COMI)"
	AC_DEFINE([HAVE_SIDPLAY2])

	AC_LANG_PUSH([C++])
	
	XS_BUILDERS_CHECK
        xs_builders_available="no"
	dnl This is a faux check, to satisfy things
	XS_BUILDERS_FIND([reSID_FP], [residfp-builder], [residfp.h], [ReSIDfpBuilder])
	dnl These checks are real
	XS_BUILDERS_FIND([reSID], [resid-builder], [resid.h], [ReSIDBuilder])
	XS_BUILDERS_FIND([HardSID], [hardsid-builder], [hardsid.h], [HardSID])
	if test "x$xs_builders_available" = "xno"; then
		AC_MSG_ERROR([No builder modules were found in the sidbuilders directory!]);
	fi

	AC_LANG_POP([C++])
fi
fi

dnl ***
dnl *** Check if we have some emulator library available?
dnl ***
if test "x$xs_have_sidplay1" != "xyes" -a "x$xs_have_sidplay2" != "xyes" -a "x$xs_have_sidplayfp" != "xyes"; then
	AC_MSG_ERROR([Either libSIDPlay1, libSIDPlay2 or libSIDPlayFP is required! Please read INSTALL for more information!])
fi


dnl ***
dnl *** Song position patch check
dnl ***
AC_MSG_CHECKING([for song position patch])
tmp_CPPFLAGS="$CPPFLAGS"
if test -d "$prefix"; then
	CPPFLAGS="$CPPFLAGS -I${prefix}/include"
fi

AC_EGREP_HEADER([set_song_position], [xmms/plugin.h], [
	xs_have_songpos="yes"
	AC_DEFINE([HAVE_SONG_POSITION])
],[
	xs_have_songpos="no"
])
AC_MSG_RESULT([$xs_have_songpos])
CPPFLAGS="$tmp_CPPFLAGS"


dnl ***
dnl *** Check XMMS version
dnl ***
AM_PATH_XMMS([1.2.10],, [
 	AC_MSG_ERROR([*** XMMS >= 1.2.10 not found. You need XMMS v1.2.10 or later to use XMMS-SID plugin.])
])
libdir="$XMMS_INPUT_PLUGIN_DIR"


dnl ***
dnl *** And finally, output the all generatable files!
dnl ***
AC_CONFIG_FILES([
Makefile
xmms-sid.spec
po/Makefile.in
])
AC_OUTPUT


dnl ***
dnl *** Show the result message
dnl ***
AC_MSG_RESULT([
	$PACKAGE_STRING has been configured successfully:

	Prefix                        : $prefix
	Plugin installation directory : $libdir
	Song-position patch           : $xs_have_songpos
	libSIDPlay 1 support          : $xs_have_sidplay1
	libSIDPlay 2 support          : $xs_have_sidplay2 $xs_have_sidplay2_api
	    Included builders         : $xs_builders
	libSIDPlay 2-FP support       : $xs_have_sidplayfp
	XMMS-SID theme SID-tune       : $xs_have_themetune
	Translations (i18n/nls)       : $USE_NLS
	Debugging enabled             : $xs_enable_debug
])