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