1dnl configure.ac 2dnl 3dnl Pragha - A Lightweight Music Player for GNU/Linux 4dnl 5 6dnl Version information 7m4_define([pragha_version_major], [1]) 8m4_define([pragha_version_minor], [3]) 9m4_define([pragha_version_micro], [3]) 10 11m4_define([pragha_version], [pragha_version_major().pragha_version_minor().pragha_version_micro()]) 12 13dnl Initialize autoconf 14AC_COPYRIGHT([Copyright (c) 2009-2015 15 Matias De lellis <mati86dl@gmail.com>]) 16AC_INIT([pragha], [pragha_version()], [mati86dl@gmail.com]) 17AC_CONFIG_HEADERS([config.h]) 18 19dnl Initialize automake 20AM_INIT_AUTOMAKE([no-dist-gzip dist-bzip2]) 21AM_MAINTAINER_MODE() 22 23dnl Set required and max glib/gdk versions 24AC_DEFINE(GDK_VERSION_MIN_REQUIRED, GDK_VERSION_3_8, [Ignore post 3.10 deprecations]) 25AC_DEFINE(GDK_VERSION_MAX_ALLOWED, GDK_VERSION_3_10, [Ignore post 3.10 deprecations]) 26 27dnl ********************* 28dnl * Debugging support * 29dnl ********************* 30AC_ARG_ENABLE(debug,[ --enable-debug Turn on debugging],[ 31 case "${enableval}" in 32 yes) debug=true ; 33 CFLAGS="$CFLAGS -DDEBUG -D_DEBUG -g -ggdb -O0 -fno-inline -fno-inline-functions" ;; 34 no) debug=false ; 35 CFLAGS="$CFLAGS -DNDEBUG" ;; 36 *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; 37 esac 38],[ debug=false 39 CFLAGS="$CFLAGS -DNDEBUG" 40]) 41 42case "${host}" in 43 i[[3456789]]86-mingw32*) WIN32="yes" ;; 44 *cygwin*) WIN32="yes" ;; 45 *) WIN32="no" ;; 46esac 47AM_CONDITIONAL([WIN32], test "$WIN32" = "yes") 48 49if test x"$WIN32" = x"yes"; then 50AC_CHECK_TOOL(WINDRES, windres) 51fi 52 53AC_SUBST(CFLAGS) 54 55PLUGIN_LIBTOOL_FLAGS="-avoid-version -module -shared -export-dynamic -no-undefined" 56AC_SUBST(PLUGIN_LIBTOOL_FLAGS) 57 58m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 59 60dnl Check for basic programs 61AC_PROG_CC() 62AM_PROG_CC_C_O() 63AC_PROG_INSTALL() 64IT_PROG_INTLTOOL() 65 66dnl Initialize libtool 67LT_PREREQ([2.2.6]) 68LT_INIT([disable-static]) 69 70dnl Check for i18n support 71XDT_I18N([bg ca_ES cs de es el fr hu it ja ko_KR lt nl no pl pt pt_BR ru sv tr uk vi zh_CN]) 72 73GSTREAMER_REQUIRED=0.11.90 74 75dnl Check for required packages 76XDT_CHECK_PACKAGE([GSTREAMER], [gstreamer-1.0], [$GSTREAMER_REQUIRED]) 77XDT_CHECK_PACKAGE([GSTREAMER_BASE], [gstreamer-base-1.0], [$GSTREAMER_REQUIRED]) 78XDT_CHECK_PACKAGE([GIO], [gio-2.0], [2.36]) 79XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.8.0]) 80XDT_CHECK_PACKAGE([SQLITE3], [sqlite3], [3.4]) 81XDT_CHECK_PACKAGE([TAGLIB_C], [taglib_c], [1.8]) 82 83dnl Check peas library to plugins support 84LIBPEAS_FOUND="no" 85XDT_CHECK_OPTIONAL_PACKAGE([LIBPEAS], 86 [libpeas-1.0], [1.0.0], 87 [libpeas-1.0], 88 [libpeas-1.0 library], [yes]) 89 90if test x"$LIBPEAS_FOUND" = x"yes"; then 91XDT_CHECK_PACKAGE([LIBPEAS_GTK], [libpeas-gtk-1.0], [1.0.0]) 92fi 93 94dnl Check notify support 95LIBNOTIFY_FOUND="no" 96if test x"$LIBPEAS_FOUND" = x"yes"; then 97XDT_CHECK_OPTIONAL_PACKAGE([LIBNOTIFY], 98 [libnotify], [0.7.5], 99 [libnotify], 100 [libnotify library], [yes]) 101else 102AM_CONDITIONAL([HAVE_LIBNOTIFY], 0) 103fi 104 105dnl Check global keyboard shortcuts support 106LIBKEYBINDER_FOUND="no" 107if test x"$LIBPEAS_FOUND" = x"yes"; then 108XDT_CHECK_OPTIONAL_PACKAGE([LIBKEYBINDER], 109 [keybinder-3.0], [0.2.0], 110 [keybinder], 111 [keybinder library], [yes]) 112else 113AM_CONDITIONAL([HAVE_LIBKEYBINDER], 0) 114fi 115 116dnl Check libglyr 117LIBGLYR_FOUND="no" 118if test x"$LIBPEAS_FOUND" = x"yes"; then 119XDT_CHECK_OPTIONAL_PACKAGE([LIBGLYR], 120 [libglyr], [1.0.1], 121 [libglyr], 122 [libglyr library], [yes]) 123else 124AM_CONDITIONAL([HAVE_LIBGLYR], 0) 125fi 126 127GUDEV_FOUND="no" 128if test x"$LIBPEAS_FOUND" = x"yes"; then 129XDT_CHECK_OPTIONAL_PACKAGE([GUDEV], 130 [gudev-1.0], [145], 131 [gudev-1.0], 132 [gudev-1.0 library], [yes]) 133else 134AM_CONDITIONAL([HAVE_GUDEV], 0) 135fi 136 137LIBMTP_FOUND="no" 138if test x"$GUDEV_FOUND" = x"yes"; then 139XDT_CHECK_OPTIONAL_PACKAGE([LIBMTP], 140 [libmtp], [1.1.0], 141 [libmtp], 142 [libmtp library], [yes]) 143else 144AM_CONDITIONAL([HAVE_LIBMTP], 0) 145fi 146 147dnl Check libpsuop 148LIBSOUP_FOUND="no" 149if test x"$LIBPEAS_FOUND" = x"yes"; then 150XDT_CHECK_OPTIONAL_PACKAGE([LIBSOUP], 151 [libsoup-2.4], [2.38], 152 [libsoup-2.4], 153 [libsoup-2.4 library], [yes]) 154else 155AM_CONDITIONAL([HAVE_LIBSOUP], 0) 156fi 157 158dnl Check rygel 159RYGEL_FOUND="no" 160if test x"$LIBPEAS_FOUND" = x"yes"; then 161XDT_CHECK_OPTIONAL_PACKAGE([RYGEL], 162 [rygel-server-2.2], [0.20.0], 163 [rygel-server-2.2], 164 [rygel-server-2.2 library], [yes]) 165else 166AM_CONDITIONAL([HAVE_RYGEL], 0) 167fi 168 169dnl Check grilo 170GRILO_FOUND="no" 171if test x"$LIBPEAS_FOUND" = x"yes"; then 172XDT_CHECK_OPTIONAL_PACKAGE([GRILO], 173 [grilo-0.2], [0.2.10], 174 [grilo-0.2], 175 [grilo-0.2 library], [yes]) 176else 177AM_CONDITIONAL([HAVE_GRILO], 0) 178fi 179 180dnl Check libclastfm 181LIBCLASTFM_FOUND="no" 182if test x"$LIBPEAS_FOUND" = x"yes"; then 183XDT_CHECK_OPTIONAL_PACKAGE([LIBCLASTFM], 184 [libclastfm], [0.5], 185 [libclastfm], 186 [libclastfm library], [yes]) 187else 188AM_CONDITIONAL([HAVE_LIBCLASTFM], 0) 189fi 190 191dnl Check libcdio, libcdio_paranoia and libcddb 192LIBCDIO_FOUND="no" 193LIBCDIO_PARANOIA_FOUND="no" 194LIBCDDB_FOUND="no" 195if test x"$LIBPEAS_FOUND" = x"yes"; then 196XDT_CHECK_OPTIONAL_PACKAGE([LIBCDIO], 197 [libcdio], [0.80], 198 [libcdio], 199 [libcdio library], [yes]) 200 201XDT_CHECK_OPTIONAL_PACKAGE([LIBCDIO_PARANOIA], 202 [libcdio_paranoia], [0.90], 203 [libcdio_paranoia], 204 [libcdio_paranoia library], [yes]) 205 206XDT_CHECK_OPTIONAL_PACKAGE([LIBCDDB], 207 [libcddb], [1.3.0], 208 [libcddb], 209 [libcddb library], [yes]) 210else 211AM_CONDITIONAL([HAVE_LIBCDIO], 0) 212AM_CONDITIONAL([HAVE_LIBCDIO_PARANOIA], 0) 213AM_CONDITIONAL([HAVE_LIBCDDB], 0) 214fi 215 216CDROM_SUPPORT="no" 217if test x"$LIBCDIO_FOUND" = x"yes"; then 218if test x"$LIBCDIO_PARANOIA_FOUND" = x"yes"; then 219if test x"$LIBCDDB_FOUND" = x"yes"; then 220CDROM_SUPPORT="yes" 221fi 222fi 223fi 224 225dnl Check gstreamer-audio 226GSTREAMER_AUDIO_FOUND="no" 227XDT_CHECK_OPTIONAL_PACKAGE([GSTREAMER_AUDIO], 228 [gstreamer-audio-1.0], [$GSTREAMER_REQUIRED], 229 [gstreamer-audio], 230 [gstreamer-audio], [yes]) 231 232dnl Check libxfce4ui 233LIBXFCE4UI_FOUND="no" 234XDT_CHECK_OPTIONAL_PACKAGE([LIBXFCE4UI], 235 [libxfce4ui-2], [4.10.0], 236 [libxfce4ui], 237 [libxfce4ui library], [yes]) 238 239dnl Check totem-pl-parser 240PLPARSER_FOUND="no" 241XDT_CHECK_OPTIONAL_PACKAGE([PLPARSER], 242 [totem-plparser], [2.26], 243 [totem-plparser], 244 [totem-plparser library], [yes]) 245 246dnl Output files 247AC_CONFIG_FILES([Makefile]) 248AC_CONFIG_FILES([data/Makefile]) 249AC_CONFIG_FILES([data/icons/Makefile]) 250AC_CONFIG_FILES([data/icons/16x16/Makefile]) 251AC_CONFIG_FILES([data/icons/24x24/Makefile]) 252AC_CONFIG_FILES([data/icons/32x32/Makefile]) 253AC_CONFIG_FILES([data/icons/48x48/Makefile]) 254AC_CONFIG_FILES([data/icons/64x64/Makefile]) 255AC_CONFIG_FILES([data/icons/128x128/Makefile]) 256AC_CONFIG_FILES([po/Makefile.in]) 257AC_CONFIG_FILES([src/Makefile]) 258 259if test x"$LIBPEAS_FOUND" = x"yes"; then 260AC_CONFIG_FILES([plugins/Makefile]) 261AC_CONFIG_FILES([plugins/acoustid/Makefile]) 262AC_CONFIG_FILES([plugins/mpris2/Makefile]) 263AC_CONFIG_FILES([plugins/keybinder/Makefile]) 264AC_CONFIG_FILES([plugins/gnome-media-keys/Makefile]) 265AC_CONFIG_FILES([plugins/song-info/Makefile]) 266AC_CONFIG_FILES([plugins/notify/Makefile]) 267AC_CONFIG_FILES([plugins/devices/Makefile]) 268AC_CONFIG_FILES([plugins/mtp/Makefile]) 269AC_CONFIG_FILES([plugins/removable-media/Makefile]) 270AC_CONFIG_FILES([plugins/tunein/Makefile]) 271AC_CONFIG_FILES([plugins/dlna/Makefile]) 272AC_CONFIG_FILES([plugins/dlna-renderer/Makefile]) 273AC_CONFIG_FILES([plugins/cdrom/Makefile]) 274AC_CONFIG_FILES([plugins/lastfm/Makefile]) 275fi 276AC_OUTPUT 277 278echo "" 279echo "Build Configuration for $PACKAGE version $VERSION" 280echo "" 281echo " Gtk version used......: $GTK_VERSION" 282echo " Prefix................: ${prefix}" 283echo " Debug enabled.........: $debug" 284echo "" 285echo " Plugins enabled.......: $LIBPEAS_FOUND" 286echo " * Show notification when change songs..........(Need libnotify >= 0.7.5).: $LIBNOTIFY_FOUND" 287echo " * Controls Pragha using Mpris2 interface.................................: $LIBPEAS_FOUND" 288echo " * Controls Pragha using gnome-media-keys interface.......................: $LIBPEAS_FOUND" 289echo " * Play Audio cds...............(Need libcdio, libcdio_paranoia, libcddb).: $CDROM_SUPPORT" 290echo " * Controls Pragha using multimedia keys....(Need keybinder-3.0 >= 0.2.0).: $LIBKEYBINDER_FOUND" 291echo " * Search lyrics, artists info and albums art.....(Need libglyr >= 1.0.1).: $LIBGLYR_FOUND" 292echo " * Search metadata on AcoustID.....................(Need libsoup >= 2.38).: $LIBSOUP_FOUND" 293echo " * Search radios on TuneIn.........................(Need libsoup >= 2.38).: $LIBSOUP_FOUND" 294echo " * Share music library on DLNA............(Need rygel-server-2.2 >= 0.20).: $RYGEL_FOUND" 295echo " * Play songs on DLNA Servers..................(Need grilo-0.2 >= 0.2.10).: $GRILO_FOUND" 296echo " * Lastfm scroble, and add similar songs support (Need libclastfm >= 0.5).: $LIBCLASTFM_FOUND" 297echo " * EXPERIMENTAL management of removable devices..........(Need gudev-1.0).: $GUDEV_FOUND" 298echo " * EXPERIMENTAL management of mtp devices....:(Need gudev-1.0 and libmtp).: $LIBMTP_FOUND" 299echo "" 300echo " Others build options..:" 301echo " * Cubic volume support.....................(Need gstreamer-plugins-base).: $GSTREAMER_AUDIO_FOUND" 302echo " * Better session management support........(Need libxfce4ui-2 >= 4.11.0).: $LIBXFCE4UI_FOUND" 303echo " * Use totem-pl-parser to open playlists....(Need totem-plparser >= 2.26).: $PLPARSER_FOUND" 304echo "" 305