1 dnl Granularly define the version components
2 dnl Remember to also update the Display Version
3 m4_define([banshee_version_major], [1])
4 m4_define([banshee_version_minor], [8])
5 m4_define([banshee_version_micro], [0])
7 dnl this can sometimes differ manually
8 m4_define([banshee_display_version], ["1.8.0"])
10 dnl set to 0 when doing an official release
11 m4_define([banshee_version_pre_release], [0])
13 m4_define([concat], $1$2$3$4)
15 dnl create base version string
16 m4_define([banshee_version], concat(
17 banshee_version_major.,
18 banshee_version_minor.,
19 banshee_version_micro))
21 dnl create the release version
22 m4_define([banshee_version],
23 m4_if(banshee_version_pre_release, [0],
25 concat(banshee_version, banshee_version_pre_release)))
27 m4_define([banshee_api_version],
28 [banshee_version_major.banshee_version_minor])
30 m4_define([banshee_asm_version],
31 [banshee_api_version.0.0])
34 AC_INIT([banshee-1], banshee_version,
35 [http://bugzilla.gnome.org/enter_bug.cgi?product=banshee])
37 AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar dist-zip foreign])
39 AM_CONFIG_HEADER([config.h])
40 AC_CONFIG_MACRO_DIR([build/m4])
41 AC_SUBST([ACLOCAL_AMFLAGS], ["-I build/m4/shamrock -I build/m4/banshee -I build/m4/shave \${ACLOCAL_FLAGS}"])
43 IT_PROG_INTLTOOL([0.35.0])
47 dnl How to configure for distcheck
48 DISTCHECK_CONFIGURE_FLAGS="--disable-docs --enable-mtp --enable-daap --enable-podcast --enable-user-help --enable-release"
49 AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
51 dnl Export Version Info
52 AC_SUBST([API_VERSION], [banshee_api_version])
53 AC_SUBST([ASM_VERSION], [banshee_asm_version])
54 AC_SUBST([DISPLAY_VERSION], [banshee_display_version])
57 SHAMROCK_EXPAND_LIBDIR
58 SHAMROCK_EXPAND_BINDIR
59 SHAMROCK_EXPAND_DATADIR
61 dnl libbanshee/native dependencies (required)
62 BANSHEE_CHECK_LIBBANSHEE
63 BANSHEE_CHECK_GSTREAMER
65 dnl For the new media backend using gstreamer-sharp
66 BANSHEE_CHECK_GSTREAMER_SHARP
68 BANSHEE_CHECK_NOW_PLAYING_X11
71 SHAMROCK_CHECK_GNOME_DOC_UTILS(0.17.3)
74 SHAMROCK_CHECK_MONO_MODULE(1.9.1)
75 SHAMROCK_FIND_MONO_2_0_COMPILER
76 SHAMROCK_FIND_MONO_RUNTIME
77 SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([
81 ICSharpCode.SharpZipLib
84 dnl Check for mono >= 2.4.3 for LibraryWatcher extension, with fix for bnc#322330
85 PKG_CHECK_MODULES(MONO_2_4_3, mono >= 2.4.3, HAVE_MONO_2_4_3=yes, HAVE_MONO_2_4_3=no)
86 AM_CONDITIONAL(ENABLE_LIBRARY_WATCHER, test "x$HAVE_MONO_2_4_3" = "xyes")
88 dnl Check for GNOME >= 2.28 to see if we should remove
89 dnl 'Media Player' from the app Name, bgo#596242, except
90 dnl in MeeGo where GNOME >= 2.28, but we want the full name
91 PKG_CHECK_MODULES(GNOME_2_28, gnome-desktop-2.0 >= 2.28,
92 HAVE_GNOME_2_28=yes, HAVE_GNOME_2_28=no)
93 PKG_CHECK_MODULES(MEEGO_PANEL, meego-panel,
94 HAVE_MEEGO_PANEL=yes, HAVE_MEEGO_PANEL=no)
95 if test "x$HAVE_GNOME_2_28" = "xno" -o "x$HAVE_MEEGO_PANEL" = "xyes"; then
96 BANSHEE_DESKTOP_NAME="_Name=Banshee Media Player"
98 BANSHEE_DESKTOP_NAME="_Name=Banshee"
100 AC_SUBST(BANSHEE_DESKTOP_NAME)
102 dnl NDesk DBus libraries
103 BANSHEE_CHECK_NDESK_DBUS
105 dnl Mono.Addins libraries
106 BANSHEE_CHECK_MONO_ADDINS
108 dnl notify-sharp library
109 BANSHEE_CHECK_NOTIFY_SHARP
114 dnl Monodoc (optional through --disable-docs)
115 SHAMROCK_CHECK_MONODOC
117 dnl webkit (optional through --disable-webkit)
118 BANSHEE_CHECK_LIBWEBKIT
120 dnl gdata (optional through --disable-youtube)
121 BANSHEE_CHECK_YOUTUBE
123 dnl Check for disabled hal
126 dnl gtk#-beans and gio#
127 BANSHEE_CHECK_GIO_SHARP
129 dnl Moonlight (optional through --enable-moonlight)
130 BANSHEE_CHECK_MOONLIGHT
135 dnl External TagLib# libraries (optional)
136 BANSHEE_CHECK_TAGLIB_SHARP
138 dnl Required dependencies (managed/core)
139 BANSHEE_CHECK_GTK_SHARP
141 dnl OS X (optional through --enable-osx)
144 PKG_CHECK_MODULES(SQLITE, sqlite3 >= 3.4)
148 AC_HELP_STRING([--disable-gnome],
149 [Disable GNOME support]),
150 , enable_gnome="yes")
151 if test "x$enable_gnome" = "xyes"; then
152 BANSHEE_CHECK_GNOME_SHARP
153 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
155 AM_CONDITIONAL(ENABLE_GNOME, true)
157 AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, false)
158 AM_CONDITIONAL(ENABLE_GNOME, false)
161 dnl DAP support (each module is optional)
162 BANSHEE_CHECK_DAP_MTP
163 BANSHEE_CHECK_DAP_APPLEDEVICE
164 BANSHEE_CHECK_DAP_IPOD
165 BANSHEE_CHECK_DAP_KARMA
167 dnl DAAP support (optional)
170 dnl RemoteAudio support (optional)
171 BANSHEE_CHECK_REMOTE_AUDIO
173 dnl MonoTorrent support (optional)
174 BANSHEE_CHECK_TORRENT
176 dnl MeeGo integration (optional)
179 dnl Gapless, if we have a new-enough playbin2
181 AC_ARG_ENABLE(gapless-playback,
182 AC_HELP_STRING([--enable-gapless-playback],
183 [Enable gapless playback engine (requires gst-plugins-base > 0.10.25.2)]),
184 enable_gapless=$enableval,
186 if test "x$enable_gapless" != "xno" ; then
187 PKG_CHECK_MODULES([GST_PLUGINS_BASE], [gstreamer-plugins-base-0.10 > 0.10.25.2], ENABLE_GAPLESS=yes, ENABLE_GAPLESS=no)
188 if test "x$enable_gapless" == "xyes" -a "x$ENABLE_GAPLESS" == "xno" ; then
189 AC_MSG_ERROR([Gapless playback requires gstreamer-plugins-base > 0.10.25.2])
192 AM_CONDITIONAL(ENABLE_GAPLESS, test "x$ENABLE_GAPLESS" = "xyes")
195 SHAMROCK_CONFIGURE_I18N($PACKAGE)
197 dnl the bird is the word
198 AC_ARG_ENABLE(podcast,
199 AC_HELP_STRING([--disable-podcast],
200 [Disable Podcasting support]),
201 , enable_podcast="yes")
202 AM_CONDITIONAL(ENABLE_PODCAST, test "x$enable_podcast" = "xyes")
204 AC_ARG_ENABLE(release,
205 AC_HELP_STRING([--enable-release],
206 [Use release configuration]),
207 enable_release=yes, enable_release=`(test ! -d .svn && test ! -d .git) && echo "yes" || echo "no"`)
208 AM_CONDITIONAL(ENABLE_RELEASE, test "x$enable_release" = "xyes")
209 ENABLE_RELEASE=$enable_release
210 AC_SUBST(ENABLE_RELEASE)
211 if test "x$enable_release" = "xyes"; then
212 GMCS_FLAGS="-define:RELEASE"
214 GMCS_FLAGS="-warnaserror"
218 AM_CONDITIONAL(HYENA_PKG_CONFIG, false)
220 AC_ARG_WITH(vendor-build-id,
221 AC_HELP_STRING([--with-vendor-build-id=<vendor-build-id>],
222 [Set a vendor build ID, recommended for packagers]),
223 [vendor_build_id="$withval"], [
225 && vendor_build_id="git-checkout" \
226 || vendor_build_id="source-tarball"
228 BUILD_VENDOR_ID="$vendor_build_id"
229 BUILD_HOST_OS="$host_os"
230 BUILD_HOST_CPU="$host_cpu"
231 BUILD_TIME=`date +"%F %T %Z"`
232 AC_SUBST(BUILD_VENDOR_ID)
233 AC_SUBST(BUILD_HOST_OS)
234 AC_SUBST(BUILD_HOST_CPU)
237 SHAVE_INIT([build/m4/shave], [enable])
246 build/m4/shave/shave-libtool
247 build/pkg-config/Makefile
250 data/org.bansheeproject.Banshee.service
251 data/org.bansheeproject.CollectionIndexer.service
252 data/audio-profiles/Makefile
253 data/desktop-files/Makefile
254 data/desktop-files/common.desktop
255 data/icon-theme-hicolor/Makefile
261 docs/Banshee/Makefile
266 tests/Analyzer/Makefile
267 tests/Performance/Makefile
274 gstreamer/equalizer/Makefile
277 src/Hyena/build/Makefile
278 src/Hyena/build/pkg-config/Makefile
279 src/Hyena/build/m4/Makefile
280 src/Hyena/Mono.Data.Sqlite/Makefile
281 src/Hyena/Hyena/Makefile
282 src/Hyena/Hyena.Data.Sqlite/Makefile
283 src/Hyena/Hyena.Gui/Makefile
289 src/Clients/Beroe/Makefile
290 src/Clients/Booter/Makefile
291 src/Clients/Booter/banshee-1.linux
292 src/Clients/Booter/banshee-1.darwin
293 src/Clients/Halie/Makefile
294 src/Clients/Muinshee/Makefile
295 src/Clients/Nereid/Makefile
296 src/Clients/MeeGo/Makefile
299 src/Core/Banshee.CollectionIndexer/Makefile
300 src/Core/Banshee.Core/Makefile
301 src/Core/Banshee.Services/Makefile
302 src/Core/Banshee.ThickClient/Makefile
303 src/Core/Banshee.Widgets/Makefile
304 src/Core/Banshee.WebBrowser/Makefile
305 src/Core/Banshee.WebBrowser/libossifer/Makefile
307 src/Backends/Makefile
308 src/Backends/Banshee.Gio/Makefile
309 src/Backends/Banshee.Gnome/Makefile
310 src/Backends/Banshee.GStreamer/Makefile
311 src/Backends/Banshee.GStreamerSharp/Makefile
312 src/Backends/Banshee.Hal/Makefile
313 src/Backends/Banshee.Unix/Makefile
314 src/Backends/Banshee.Osx/Makefile
315 src/Backends/Banshee.NowPlaying.X11/Makefile
316 src/Backends/Banshee.NowPlaying.X11/libbnpx11/Makefile
318 src/Libraries/Makefile
319 src/Libraries/Lastfm/Makefile
320 src/Libraries/Lastfm.Gui/Makefile
321 src/Libraries/Migo/Makefile
322 src/Libraries/Mono.Media/Makefile
323 src/Libraries/Mtp/Makefile
324 src/Libraries/Mtp/Mtp.dll.config
325 src/Libraries/MusicBrainz/Makefile
328 src/Dap/Banshee.Dap/Makefile
329 src/Dap/Banshee.Dap.AppleDevice/Makefile
330 src/Dap/Banshee.Dap.Ipod/Makefile
331 src/Dap/Banshee.Dap.MassStorage/Makefile
332 src/Dap/Banshee.Dap.Mtp/Makefile
333 src/Dap/Banshee.Dap.Karma/Makefile
335 src/Extensions/Makefile
336 src/Extensions/Banshee.AmazonMp3/Makefile
337 src/Extensions/Banshee.AmazonMp3.Store/Makefile
338 src/Extensions/Banshee.Audiobook/Makefile
339 src/Extensions/Banshee.AudioCd/Makefile
340 src/Extensions/Banshee.BooScript/Makefile
341 src/Extensions/Banshee.Bpm/Makefile
342 src/Extensions/Banshee.CoverArt/Makefile
343 src/Extensions/Banshee.Daap/Makefile
344 src/Extensions/Banshee.Emusic/Makefile
345 src/Extensions/Banshee.FileSystemQueue/Makefile
346 src/Extensions/Banshee.InternetArchive/Makefile
347 src/Extensions/Banshee.Fixup/Makefile
348 src/Extensions/Banshee.InternetRadio/Makefile
349 src/Extensions/Banshee.Lastfm/Makefile
350 src/Extensions/Banshee.LastfmStreaming/Makefile
351 src/Extensions/Banshee.LibraryWatcher/Makefile
352 src/Extensions/Banshee.MiniMode/Makefile
353 src/Extensions/Banshee.MiroGuide/Makefile
354 src/Extensions/Banshee.MeeGo/Makefile
355 src/Extensions/Banshee.Mpris/Makefile
356 src/Extensions/Banshee.MultimediaKeys/Makefile
357 src/Extensions/Banshee.NotificationArea/Makefile
358 src/Extensions/Banshee.NowPlaying/Makefile
359 src/Extensions/Banshee.PlayQueue/Makefile
360 src/Extensions/Banshee.PlayerMigration/Makefile
361 src/Extensions/Banshee.Podcasting/Makefile
362 src/Extensions/Banshee.SqlDebugConsole/Makefile
363 src/Extensions/Banshee.Sample/Makefile
364 src/Extensions/Banshee.Torrent/Makefile
365 src/Extensions/Banshee.RemoteAudio/Makefile
366 src/Extensions/Banshee.Wikipedia/Makefile
367 src/Extensions/Banshee.YouTube/Makefile
369 extras/metrics/Makefile
374 ${PACKAGE}-${VERSION}
377 Install Prefix: ${prefix}
378 Datadir: ${expanded_datadir}
379 Libdir: ${expanded_libdir}
382 Mono C# Compiler: ${MCS} ${GMCS_FLAGS}
383 Mono Runtime: ${MONO}
386 Graphics System: ${GRAPHICS_SUBSYSTEM}
387 X11 Video: ${have_xvidmode}
388 Clutter: ${enable_clutter}
390 Operating System/Desktop Environment:
391 GNOME Support: ${enable_gnome}
392 OSX Support: ${enable_osx}
393 MeeGo Support: ${enable_meego}
395 Digital Audio Player (DAP) Support:
397 MTP: ${enable_libmtp}
398 Apple Device: ${enable_appledevice}
399 iPod: ${enable_ipodsharp}
400 Karma: ${enable_karmasharp}
403 Web Browser: ${have_libwebkit} (webkit-1.0 >= $WEBKIT_MIN_VERSION, libsoup-2.4 >= $SOUP_MIN_VERSION)
404 + GNOME Proxy ${have_libsoup_gnome} (libsoup-gnome-2.4 >= $SOUP_GNOME_MIN_VERSION)
405 + Amazon MP3 ${have_libwebkit}
406 + Miro Guide ${have_libwebkit}
407 + Wikipedia ${have_libwebkit}
408 Boo Scripting: ${enable_boo}
409 Builtin Equalizer: ${enable_builtin_equalizer}
411 GIO Backend: ${enable_gio} (glib >= 2.22, gtk-sharp-beans, and gio-sharp)
412 GIO Hardware: ${enable_gio_hardware} (gudev-sharp, gkeyfile-sharp)
413 HAL Backend: ${enable_hal}
414 Library Watcher: ${HAVE_MONO_2_4_3} (Mono >= 2.4.3)
415 Podcasts: ${enable_podcast}
416 Gapless playback: ${ENABLE_GAPLESS} (gstreamer-plugins-base > 0.10.25.2)
417 YouTube extension: ${enable_youtube} (gdata-sharp >= 1.4)
420 Unit Tests: ${do_tests} (nunit >= ${NUNIT_REQUIRED})
421 API Docs: ${enable_docs} (monodocer and mdassembler)
422 User Help: ${enable_user_help} (gnome-doc-utils >= 0.17.3)
423 Custom a11y: ${gtksharp_with_a11y} (gtk-sharp >= 2.12.10)
424 Release Build: ${enable_release}
425 Vendor Build ID: ${vendor_build_id}
429 # Unstable/in-development features; only show them if they were manually enabled
430 if test "x$enable_moonlight" = "xyes"; then br=yes; echo " Moonlight Effects: ${enable_moonlight}"; fi
431 if test "x$enable_remote_audio" = "xyes"; then br=yes; echo " Remote Audio: ${enable_remote_audio}"; fi
432 if test "x$enable_torrent" = "xyes"; then br=yes; echo " Torrent Podcasts: ${enable_torrent}"; fi
433 if test "x$enable_gst_sharp" = "xyes"; then br=yes; echo " Gst# Backend: ${enable_gst_sharp} (unfinished, experimental!)"; fi
435 if test -d ${expanded_libdir}/${PACKAGE}; then
436 if test x$br = xyes; then echo; fi
437 echo " WARNING: An existing Banshee install is in ${expanded_libdir}/${PACKAGE}"
438 echo " Remove the existing install before installing this build."
439 echo " Installing over an existing install will cause conflicts!"