Mercurial > hg > xmms-sid
diff configure.ac @ 727:369c1f4414e2
Renamed file.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 22 Oct 2009 14:53:14 +0300 |
parents | configure.in@a7342fc5d1db |
children | 171f42746b88 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure.ac Thu Oct 22 14:53:14 2009 +0300 @@ -0,0 +1,234 @@ +dnl *** +dnl *** Process this file with autoconf to produce a configure script. +dnl *** + +dnl Require autoconf 2.60 or later +AC_PREREQ([2.60]) + +dnl Initialize +AC_INIT([XMMS-SID], [0.8.0beta20], [ccr@tnsp.org]) +AC_COPYRIGHT([[(C) 2003-2009 Matti 'ccr' Hamalainen]]) +AC_CONFIG_SRCDIR([src/xmms-sid.h]) +AM_INIT_AUTOMAKE +AC_CONFIG_HEADERS([src/config.h]) +AM_GNU_GETTEXT_VERSION([0.14]) +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_XMMSEXTRA], [Define if you have XMMS version 1.2.5 or later and you want XMMS-SID to support some extra features.]) +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_SIDPLAY2_COMI], [Define if you have libSIDPlay2 v2.2.x or later (or CVS version) with the new COMI API]) +AH_TEMPLATE([HAVE_SIDPLAY2_DISTORTION], [Define if you have libSIDPlay2 + reSID with Antti Lankila's distortion patches (v10 and possibly later) http://bel.fi/~alankila/c64-sw/]) +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.]) + + +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.5],,AC_MSG_ERROR([[*** GLib >= 1.2.5 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.5],,AC_MSG_ERROR([[*** Gtk+ >= 1.2.5 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_CHECK_HEADERS([stdlib.h string.h unistd.h]) + +AC_TYPE_SIZE_T +AC_C_CONST +AC_C_INLINE +AC_CHECK_FUNCS([memset],[],[[*** memset function not found. Your libc has failed you.]]) + + +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_ARG_WITH([sidplay1], [libSIDPlay1], [XS_PATH_LIBSIDPLAY1]) +if test "x$xs_have_sidplay1" = "xyes"; then + AC_DEFINE([HAVE_SIDPLAY1]) +fi + +XS_ARG_WITH([sidplay2], [libSIDPlay2], [XS_PATH_LIBSIDPLAY2]) +xs_have_sidplay2_api="" +xs_have_distortion="no" +if test "x$xs_have_sidplay2" = "xyes"; then + AC_DEFINE([HAVE_SIDPLAY2]) + AC_LANG_PUSH([C++]) + + XS_BUILDERS_CHECK + 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 + + dnl *** Check for new COMI API + AC_MSG_CHECKING([libSIDPlay2 API style]) + tmp_CPPFLAGS="$CPPFLAGS" + if test -d "$xs_sidplay2_includes"; then + CPPFLAGS="$CPPFLAGS -I${xs_sidplay2_includes}" + fi + AC_EGREP_HEADER([SIDIID], [sidplay/sidplay2.h], + [xs_have_sidplay2_api="yes"], + [xs_have_sidplay2_api="(old style API)"] + ) + if test "x$xs_have_sidplay2_api" = "xyes"; then + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [#include <sidplay/sidunknown.h>], + [ISidUnknown *i;]) + ], [ + xs_have_sidplay2_api="(new COMI style API)" + AC_DEFINE([HAVE_SIDPLAY2_COMI]) + ],[ + xs_have_sidplay2_api="(broken version!)" + ]) + fi + AC_MSG_RESULT([$xs_have_sidplay2_api]) + + AC_LANG_POP([C++]) + + dnl *** Check for distortion patch + AC_MSG_CHECKING([libSIDPlay2+reSID distortion patch]) + AC_EGREP_HEADER([minimumfetresistance], [sidplay/sidtypes.h], [ + xs_have_distortion="yes" + AC_DEFINE([HAVE_SIDPLAY2_DISTORTION]) + ],[ + xs_have_distortion="no" + ]) + AC_MSG_RESULT([$xs_have_distortion]) + CPPFLAGS="$tmp_CPPFLAGS" +fi + + +dnl *** +dnl *** Check if we have some emulator library available? +dnl *** +if test "x$xs_have_sidplay1" = "xno" && test "x$xs_have_sidplay2" = "xno"; then + AC_MSG_ERROR([Either libSIDPlay1 or libSIDPlay2 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.0],, [ +AC_MSG_ERROR([*** XMMS >= 1.2.0 not found. You need XMMS v1.2.0 or later to use XMMS-SID plugin.]) +]) +libdir="$XMMS_INPUT_PLUGIN_DIR" + +XMMS_TEST_VERSION([$XMMS_VERSION], [1.2.5], [ + AC_DEFINE([HAVE_XMMSEXTRA]) + xs_have_xmmsextra="yes" +], [ + xs_have_xmmsextra="no" +]) + + +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: + + Installation directory : $libdir + XMMS >= v1.2.5 extra features : $xs_have_xmmsextra + Song-position patch : $xs_have_songpos + libSIDPlay 1 support : $xs_have_sidplay1 + libSIDPlay 2 support : $xs_have_sidplay2 $xs_have_sidplay2_api + With distortion patch? : $xs_have_distortion + Included builders : $xs_builders + XMMS-SID theme SID-tune : $xs_have_themetune + Translations (i18n/nls) : $USE_NLS +]) + +if test "x$xs_have_distortion" = "xyes"; then + echo "***" + echo "*** WARNING! A version of libSIDPlay2 with Antti Lankila's distortion" + echo "*** patches has been detected. Due to the fast-changing nature of this" + echo "*** particular patch-set, it is possible that this version of XMMS-SID" + echo "*** may be incompatible." + echo "***" + echo "*** If you encounter any compilation problems, try a non-patched" + echo "*** version of libSIDPlay2+reSID." + echo "***" +fi