1 dnl Granularly define the version components
2 dnl Remember to also update the Display Version
3 m4_define([banshee_version_major], [2])
4 m4_define([banshee_version_minor], [9])
5 m4_define([banshee_version_micro], [1])
7 dnl this can sometimes differ manually
8 m4_define([banshee_display_version], ["2.9"])
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(banshee_version_major., banshee_version_minor., banshee_version_micro))
18 dnl create the release version
19 m4_define([banshee_version],
20 m4_if(banshee_version_pre_release, [0],
22 concat(banshee_version, banshee_version_pre_release)))
24 m4_define([banshee_api_version], [banshee_version_major.banshee_version_minor])
25 m4_define([banshee_asm_version], [banshee_api_version.0.0])
28 AC_INIT([banshee], banshee_version, [http://bugzilla.gnome.org/enter_bug.cgi?product=banshee])
30 AM_INIT_AUTOMAKE([1.10 no-dist-gzip dist-bzip2 tar-ustar foreign])
31 AM_MAINTAINER_MODE([enable])
32 AC_CONFIG_HEADERS([config.h])
33 AC_CONFIG_MACRO_DIR([build/m4])
34 AC_SUBST([ACLOCAL_AMFLAGS], ["-I build/m4/shamrock -I build/m4/banshee -I build/m4/shave \${ACLOCAL_FLAGS}"])
36 IT_PROG_INTLTOOL([0.35.0])
40 dnl How to configure for distcheck
41 DISTCHECK_CONFIGURE_FLAGS="--disable-docs --enable-mtp --enable-daap --enable-user-help --enable-release"
42 AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
44 dnl Export Version Info
45 AC_SUBST([API_VERSION], [banshee_api_version])
46 AC_SUBST([ASM_VERSION], [banshee_asm_version])
47 AC_SUBST([DISPLAY_VERSION], [banshee_display_version])
50 SHAMROCK_EXPAND_LIBDIR
51 SHAMROCK_EXPAND_BINDIR
52 SHAMROCK_EXPAND_DATADIR
54 PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.22)
57 SHAMROCK_CHECK_GNOME_DOC_UTILS(0.17.3)
60 SHAMROCK_CHECK_MONO_MODULE(2.8.2)
61 SHAMROCK_FIND_MONO_2_0_COMPILER_OR_HIGHER
62 SHAMROCK_FIND_MONO_RUNTIME
63 SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([
65 ICSharpCode.SharpZipLib
68 BANSHEE_DESKTOP_NAME="_Name=Banshee"
69 AC_SUBST(BANSHEE_DESKTOP_NAME)
71 dnl Required dependencies (managed/core)
72 BANSHEE_CHECK_GTK_SHARP
74 dnl Clutter support is not available in Gst# backend and is opt-in in the unmanaged one
75 dnl so we set a default value here for simplicity
76 AM_CONDITIONAL(HAVE_CLUTTER, false)
79 BANSHEE_CHECK_GSTREAMER
81 dnl DBus Sharp libraries
82 BANSHEE_CHECK_DBUS_SHARP
84 dnl Mono.Addins libraries
85 BANSHEE_CHECK_MONO_ADDINS
87 dnl notify-sharp library
88 BANSHEE_CHECK_NOTIFY_SHARP
90 dnl Monodoc (optional through --disable-docs)
91 SHAMROCK_CHECK_MONODOC
93 dnl webkit (optional through --disable-webkit)
94 BANSHEE_CHECK_LIBWEBKIT
96 dnl gdata (optional through --disable-youtube)
100 BANSHEE_CHECK_GIO_SHARP
102 dnl Moonlight (optional through --enable-moonlight)
103 BANSHEE_CHECK_MOONLIGHT
108 dnl External TagLib# libraries (optional)
109 BANSHEE_CHECK_TAGLIB_SHARP
111 dnl OS X (optional through --enable-osx)
114 dnl Mono.Upnp libraries
115 BANSHEE_CHECK_MONO_UPNP
117 PKG_CHECK_MODULES(SQLITE, sqlite3 >= 3.4)
120 AC_ARG_ENABLE(gnome, AC_HELP_STRING([--disable-gnome], [Disable GNOME support]), , enable_gnome="yes")
121 if test "x$enable_gnome" = "xyes"; then
122 BANSHEE_CHECK_GNOME_SHARP
124 AM_CONDITIONAL(ENABLE_GNOME, true)
126 AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, false)
127 AM_CONDITIONAL(HAVE_DBUS_GLIB, false)
128 AM_CONDITIONAL(ENABLE_GNOME, false)
131 dnl DAP support (each module is optional)
132 BANSHEE_CHECK_DAP_MTP
133 BANSHEE_CHECK_DAP_APPLEDEVICE
134 BANSHEE_CHECK_DAP_KARMA
136 dnl DAAP support (optional)
139 dnl RemoteAudio support (optional)
140 BANSHEE_CHECK_REMOTE_AUDIO
142 dnl MonoTorrent support (optional)
143 BANSHEE_CHECK_TORRENT
145 dnl Sound menu integration (optional)
146 BANSHEE_CHECK_SOUNDMENU
148 dnl Ubuntu One Music Store (optional)
149 BANSHEE_CHECK_UBUNTUONE
155 SHAMROCK_CONFIGURE_I18N($PACKAGE)
157 AC_ARG_ENABLE(release,
158 AC_HELP_STRING([--enable-release],
159 [Use release configuration]),
160 enable_release=yes, enable_release=`(test ! -d .svn && test ! -d .git) && echo "yes" || echo "no"`)
161 AM_CONDITIONAL(ENABLE_RELEASE, test "x$enable_release" = "xyes")
162 ENABLE_RELEASE=$enable_release
163 AC_SUBST(ENABLE_RELEASE)
164 if test "x$enable_release" = "xyes"; then
165 GMCS_FLAGS="-define:RELEASE"
169 #FIXME: add "-warnaserror" back above!
171 #TODO: for simplicity, just remove langversion and use .NET 4.0 moving forward
172 GMCS_FLAGS="$GMC_FLAGS -langversion:3"
176 AM_CONDITIONAL(HYENA_PKG_CONFIG, false)
178 AC_ARG_WITH(vendor-build-id,
179 AC_HELP_STRING([--with-vendor-build-id=<vendor-build-id>],
180 [Set a vendor build ID, recommended for packagers]),
181 [vendor_build_id="$withval"], [
183 && vendor_build_id="git-checkout" \
184 || vendor_build_id="source-tarball"
186 BUILD_VENDOR_ID="$vendor_build_id"
187 BUILD_HOST_OS="$host_os"
188 BUILD_HOST_CPU="$host_cpu"
189 BUILD_TIME=`date +"%F %T %Z"`
190 AC_SUBST(BUILD_VENDOR_ID)
191 AC_SUBST(BUILD_HOST_OS)
192 AC_SUBST(BUILD_HOST_CPU)
195 SHAVE_INIT([build/m4/shave], [enable])
204 build/m4/shave/shave-libtool
205 build/pkg-config/Makefile
208 data/org.bansheeproject.Banshee.service
209 data/org.bansheeproject.CollectionIndexer.service
210 data/audio-profiles/Makefile
211 data/desktop-files/Makefile
212 data/desktop-files/common.desktop
213 data/icon-theme-hicolor/Makefile
219 docs/Banshee/Makefile
224 tests/Analyzer/Makefile
225 tests/Performance/Makefile
230 src/Hyena/build/Makefile
231 src/Hyena/build/pkg-config/Makefile
232 src/Hyena/build/m4/Makefile
233 src/Hyena/Hyena/Makefile
234 src/Hyena/Hyena.Data.Sqlite/Makefile
235 src/Hyena/Hyena.Gui/Makefile
241 src/Clients/Beroe/Makefile
242 src/Clients/Booter/Makefile
243 src/Clients/Booter/banshee.linux
244 src/Clients/Booter/banshee.darwin
245 src/Clients/Halie/Makefile
246 src/Clients/Muinshee/Makefile
247 src/Clients/Nereid/Makefile
248 src/Clients/MediaPanel/Makefile
251 src/Core/Banshee.CollectionIndexer/Makefile
252 src/Core/Banshee.Core/Makefile
253 src/Core/Banshee.Services/Makefile
254 src/Core/Banshee.ThickClient/Makefile
255 src/Core/Banshee.Widgets/Makefile
256 src/Core/Banshee.WebBrowser/Makefile
257 src/Core/Banshee.WebBrowser/libossifer/Makefile
259 src/Backends/Makefile
260 src/Backends/Banshee.Gio/Makefile
261 src/Backends/Banshee.Gnome/Makefile
262 src/Backends/Banshee.GStreamer/Makefile
263 src/Backends/Banshee.GStreamer/libbanshee/Makefile
264 src/Backends/Banshee.GStreamerSharp/Makefile
265 src/Backends/Banshee.Unix/Makefile
266 src/Backends/Banshee.Osx/Makefile
267 src/Backends/Banshee.Windows/Makefile
269 src/Libraries/Makefile
270 src/Libraries/Lastfm/Makefile
271 src/Libraries/Lastfm.Gui/Makefile
272 src/Libraries/Migo/Makefile
273 src/Libraries/Mono.Media/Makefile
274 src/Libraries/Mtp/Makefile
275 src/Libraries/Mtp/Mtp.dll.config
276 src/Libraries/MusicBrainz/Makefile
279 src/Dap/Banshee.Dap/Makefile
280 src/Dap/Banshee.Dap.AppleDevice/Makefile
281 src/Dap/Banshee.Dap.MassStorage/Makefile
282 src/Dap/Banshee.Dap.Mtp/Makefile
283 src/Dap/Banshee.Dap.Karma/Makefile
285 src/Extensions/Makefile
286 src/Extensions/Banshee.AmazonMp3/Makefile
287 src/Extensions/Banshee.AmazonMp3.Store/Makefile
288 src/Extensions/Banshee.Audiobook/Makefile
289 src/Extensions/Banshee.BooScript/Makefile
290 src/Extensions/Banshee.Bpm/Makefile
291 src/Extensions/Banshee.CoverArt/Makefile
292 src/Extensions/Banshee.Daap/Makefile
293 src/Extensions/Banshee.Emusic/Makefile
294 src/Extensions/Banshee.Emusic.Store/Makefile
295 src/Extensions/Banshee.FileSystemQueue/Makefile
296 src/Extensions/Banshee.InternetArchive/Makefile
297 src/Extensions/Banshee.Fixup/Makefile
298 src/Extensions/Banshee.InternetRadio/Makefile
299 src/Extensions/Banshee.Lastfm/Makefile
300 src/Extensions/Banshee.LastfmStreaming/Makefile
301 src/Extensions/Banshee.LibraryWatcher/Makefile
302 src/Extensions/Banshee.MiniMode/Makefile
303 src/Extensions/Banshee.MiroGuide/Makefile
304 src/Extensions/Banshee.MediaPanel/Makefile
305 src/Extensions/Banshee.Mpris/Makefile
306 src/Extensions/Banshee.MultimediaKeys/Makefile
307 src/Extensions/Banshee.NotificationArea/Makefile
308 src/Extensions/Banshee.NowPlaying/Makefile
309 src/Extensions/Banshee.OpticalDisc/Makefile
310 src/Extensions/Banshee.PlayQueue/Makefile
311 src/Extensions/Banshee.PlayerMigration/Makefile
312 src/Extensions/Banshee.Podcasting/Makefile
313 src/Extensions/Banshee.SoundMenu/Makefile
314 src/Extensions/Banshee.SqlDebugConsole/Makefile
315 src/Extensions/Banshee.Sample/Makefile
316 src/Extensions/Banshee.Torrent/Makefile
317 src/Extensions/Banshee.RemoteAudio/Makefile
318 src/Extensions/Banshee.UbuntuOneMusicStore/Makefile
319 src/Extensions/Banshee.UPnPClient/Makefile
320 src/Extensions/Banshee.Wikipedia/Makefile
321 src/Extensions/Banshee.YouTube/Makefile
323 extras/metrics/Makefile
328 ${PACKAGE}-${VERSION}
331 Install Prefix: ${prefix}
332 Datadir: ${expanded_datadir}
333 Libdir: ${expanded_libdir}
336 Mono C# Compiler: ${MCS} ${GMCS_FLAGS}
337 Mono Runtime: ${MONO}
338 Gtk#: ${gtk_sharp_version}
341 GStreamer# backend: ${enable_gst_sharp}
342 GStreamer C backend: ${enable_gst_native}
343 Clutter: ${enable_clutter}
345 Operating System/Desktop Environment:
346 GNOME Support: ${enable_gnome}
347 OSX Support: ${enable_osx}
349 Digital Audio Player (DAP) Support:
350 Apple Device: ${enable_appledevice} (libgpod-sharp)
351 Karma: ${enable_karmasharp}
353 MTP: ${enable_libmtp}
356 Web Browser: ${have_libwebkit} (webkitgtk-3.0 >= $WEBKIT_MIN_VERSION, libsoup-2.4 >= $SOUP_MIN_VERSION)
358 GIO Backend: ${enable_gio} (gio-sharp >= $GIOSHARP_REQUIRED)
359 GIO Hardware: ${enable_gio_hardware} (gudev-sharp >= $GUDEVSHARP_REQUIRED)
360 YouTube: ${enable_youtube} (gdata-sharp >= $GDATASHARP_REQUIRED_VERSION)
361 Sound Menu: ${enable_soundmenu}
362 Ubuntu One Store: ${enable_ubuntuone} (ubuntuone-sharp >= $UBUNTUONESHARP_REQUIRED)
363 UPnP: ${enable_upnp} (mono-upnp >= $MONOUPNP_REQUIRED)
364 Boo Scripting: ${enable_boo} (boo >= $BOO_REQUIRED)
367 Unit Tests: ${do_tests} (nunit >= ${NUNIT_REQUIRED})
368 API Docs: ${enable_docs} (monodocer and mdassembler)
369 User Help: ${enable_user_help} (gnome-doc-utils >= 0.17.3)
370 Release Build: ${enable_release}
371 Vendor Build ID: ${vendor_build_id}
375 # Unstable/in-development features; only show them if they were manually enabled
376 if test "x$enable_moonlight" = "xyes"; then br=yes; echo " Moonlight Effects: ${enable_moonlight}"; fi
377 if test "x$enable_remote_audio" = "xyes"; then br=yes; echo " Remote Audio: ${enable_remote_audio}"; fi
378 if test "x$enable_torrent" = "xyes"; then br=yes; echo " Torrent Podcasts: ${enable_torrent}"; fi
380 if test -d ${expanded_libdir}/${PACKAGE}; then
381 if test x$br = xyes; then echo; fi
382 echo " WARNING: An existing Banshee install is in ${expanded_libdir}/${PACKAGE}"
383 echo " Remove the existing install before installing this build."
384 echo " Installing over an existing install will cause conflicts!"