configure.ac 11.1 KB
Newer Older
1 2
dnl Granularly define the version components
dnl Remember to also update the Display Version
Gabriel Burt's avatar
Gabriel Burt committed
3
m4_define([banshee_version_major], [2])
4
m4_define([banshee_version_minor], [9])
5
m4_define([banshee_version_micro], [2])
Gabriel Burt's avatar
Gabriel Burt committed
6 7

dnl this can sometimes differ manually
8
m4_define([banshee_display_version], ["2.9"])
9

10
dnl set to 0 when doing an official release
11
m4_define([banshee_version_pre_release], [0])
12 13 14 15

m4_define([concat], $1$2$3$4)

dnl create base version string
16
m4_define([banshee_version], concat(banshee_version_major., banshee_version_minor., banshee_version_micro))
17 18

dnl create the release version
19
m4_define([banshee_version],
20 21 22
	m4_if(banshee_version_pre_release, [0],
		banshee_version,
		concat(banshee_version, banshee_version_pre_release)))
23

24 25
m4_define([banshee_api_version], [banshee_version_major.banshee_version_minor])
m4_define([banshee_asm_version], [banshee_api_version.0.0])
26 27

AC_PREREQ(2.52)
28
AC_INIT([banshee], banshee_version, [http://bugzilla.gnome.org/enter_bug.cgi?product=banshee])
Aaron Bockover's avatar
Aaron Bockover committed
29

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])
Gabriel Burt's avatar
Gabriel Burt committed
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}"])
35

36
IT_PROG_INTLTOOL([0.35.0])
37
AC_PROG_LIBTOOL
Aaron Bockover's avatar
Aaron Bockover committed
38
AC_PROG_INSTALL
39

40
dnl How to configure for distcheck
41
DISTCHECK_CONFIGURE_FLAGS="--disable-docs --enable-mtp --enable-daap --enable-user-help --enable-release"
42 43 44 45 46 47 48
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)

dnl Export Version Info
AC_SUBST([API_VERSION], [banshee_api_version])
AC_SUBST([ASM_VERSION], [banshee_asm_version])
AC_SUBST([DISPLAY_VERSION], [banshee_display_version])

49 50 51 52 53
dnl Expansions
SHAMROCK_EXPAND_LIBDIR
SHAMROCK_EXPAND_BINDIR
SHAMROCK_EXPAND_DATADIR

54 55
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.22)

56
dnl User help
Gabriel Burt's avatar
Gabriel Burt committed
57 58
SHAMROCK_CHECK_GNOME_DOC_UTILS(0.17.3)

59 60 61
dnl Mono and mcs
SHAMROCK_CHECK_MONO_MODULE(3.2.8)
SHAMROCK_FIND_MONO_COMPILER
62
SHAMROCK_FIND_MONO_RUNTIME
63
SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([
64
	Mono.Posix
65
	ICSharpCode.SharpZipLib
66
])
67

68
BANSHEE_DESKTOP_NAME="_Name=Banshee"
69 70
AC_SUBST(BANSHEE_DESKTOP_NAME)

71 72 73
dnl Required dependencies (managed/core)
BANSHEE_CHECK_GTK_SHARP

74 75 76 77 78 79 80
dnl Clutter support is not available in Gst# backend and is opt-in in the unmanaged one
dnl so we set a default value here for simplicity
AM_CONDITIONAL(HAVE_CLUTTER, false)

dnl Media backends
BANSHEE_CHECK_GSTREAMER

81 82
dnl DBus Sharp libraries
BANSHEE_CHECK_DBUS_SHARP
83

84 85 86
dnl Mono.Addins libraries
BANSHEE_CHECK_MONO_ADDINS

87 88 89
dnl notify-sharp library
BANSHEE_CHECK_NOTIFY_SHARP

90 91
dnl Monodoc (optional through --disable-docs)
SHAMROCK_CHECK_MONODOC
92

93
dnl webkit (optional through --disable-webkit)
94
BANSHEE_CHECK_LIBWEBKIT
95

96 97
dnl gdata (optional through --disable-youtube)
BANSHEE_CHECK_YOUTUBE
98

99
dnl gio#
100 101
BANSHEE_CHECK_GIO_SHARP

102 103 104
dnl Moonlight (optional through --enable-moonlight)
BANSHEE_CHECK_MOONLIGHT

105
dnl NUnit (optional)
106
SHAMROCK_CHECK_NUNIT
107

108 109 110
dnl External TagLib# libraries (optional)
BANSHEE_CHECK_TAGLIB_SHARP

111 112 113
dnl OS X (optional through --enable-osx)
BANSHEE_CHECK_OSX

114 115 116
dnl Mono.Upnp libraries
BANSHEE_CHECK_MONO_UPNP

117
PKG_CHECK_MODULES(SQLITE, sqlite3 >= 3.8.1)
Aaron Bockover's avatar
Aaron Bockover committed
118

119
dnl GNOME (optional)
120
AC_ARG_ENABLE(gnome, AC_HELP_STRING([--disable-gnome], [Disable GNOME support]), , enable_gnome="yes")
121 122
if test "x$enable_gnome" = "xyes"; then
	BANSHEE_CHECK_GNOME_SHARP
123
	BANSHEE_CHECK_GCONF
124 125 126 127 128
	AM_CONDITIONAL(ENABLE_GNOME, true)
else
	AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, false)
	AM_CONDITIONAL(ENABLE_GNOME, false)
fi
129

130
dnl DAP support (each module is optional)
131
BANSHEE_CHECK_DAP_MTP
132
BANSHEE_CHECK_DAP_APPLEDEVICE
133
BANSHEE_CHECK_DAP_KARMA
134

135
dnl DAAP support (optional)
136
BANSHEE_CHECK_DAAP
137

138 139 140
dnl RemoteAudio support (optional)
BANSHEE_CHECK_REMOTE_AUDIO

141 142 143
dnl MonoTorrent support (optional)
BANSHEE_CHECK_TORRENT

144 145 146
dnl Sound menu integration (optional)
BANSHEE_CHECK_SOUNDMENU

147 148 149
dnl Ubuntu One Music Store (optional)
BANSHEE_CHECK_UBUNTUONE

150 151 152
dnl Boo (optional)
BANSHEE_CHECK_BOO

153
dnl i18n
154
SHAMROCK_CONFIGURE_I18N($PACKAGE)
155

156 157
AC_ARG_ENABLE(release,
	AC_HELP_STRING([--enable-release],
158
		[Use release configuration]),
159
	enable_release=yes, enable_release=`(test ! -d .svn && test ! -d .git) && echo "yes" || echo "no"`)
Gabriel Burt's avatar
Gabriel Burt committed
160
AM_CONDITIONAL(ENABLE_RELEASE, test "x$enable_release" = "xyes")
161 162
ENABLE_RELEASE=$enable_release
AC_SUBST(ENABLE_RELEASE)
163
if test "x$enable_release" = "xyes"; then
164
	MCS_FLAGS="-define:RELEASE"
165
else
166
	MCS_FLAGS=""
167
fi
168 169
#FIXME: add "-warnaserror" back above!

170
AC_SUBST(MCS_FLAGS)
171

172 173
AM_CONDITIONAL(HYENA_PKG_CONFIG, false)

174
AC_ARG_WITH(vendor-build-id,
Aaron Bockover's avatar
Aaron Bockover committed
175
	AC_HELP_STRING([--with-vendor-build-id=<vendor-build-id>],
176
		[Set a vendor build ID, recommended for packagers]),
177
	[vendor_build_id="$withval"], [
178 179
		test -d .git \
			&& vendor_build_id="git-checkout" \
180 181
			|| vendor_build_id="source-tarball"
	])
182 183 184 185 186 187 188 189
BUILD_VENDOR_ID="$vendor_build_id"
BUILD_HOST_OS="$host_os"
BUILD_HOST_CPU="$host_cpu"
BUILD_TIME=`date +"%F %T %Z"`
AC_SUBST(BUILD_VENDOR_ID)
AC_SUBST(BUILD_HOST_OS)
AC_SUBST(BUILD_HOST_CPU)
AC_SUBST(BUILD_TIME)
190

191 192
SHAVE_INIT([build/m4/shave], [enable])

193
dnl generated files
Aaron Bockover's avatar
Aaron Bockover committed
194 195
AC_OUTPUT([
Makefile
196

197
build/Makefile
198
build/m4/Makefile
199 200
build/m4/shave/shave
build/m4/shave/shave-libtool
201
build/pkg-config/Makefile
202

Aaron Bockover's avatar
Aaron Bockover committed
203
data/Makefile
204
data/org.bansheeproject.Banshee.service
205
data/org.bansheeproject.CollectionIndexer.service
206
data/audio-profiles/Makefile
Aaron Bockover's avatar
Aaron Bockover committed
207
data/desktop-files/Makefile
208
data/desktop-files/common.desktop
209
data/icon-theme-hicolor/Makefile
210

Gabriel Burt's avatar
Gabriel Burt committed
211 212
help/Makefile

213
docs/Makefile
214 215 216 217 218
docs/Hyena/Makefile
docs/Banshee/Makefile

po/Makefile.in

219
tests/Makefile
220 221
tests/Analyzer/Makefile
tests/Performance/Makefile
222

223
extras/Makefile
224

Gabriel Burt's avatar
Gabriel Burt committed
225 226
src/Hyena/Makefile
src/Hyena/build/Makefile
227
src/Hyena/build/pkg-config/Makefile
Gabriel Burt's avatar
Gabriel Burt committed
228 229 230 231
src/Hyena/build/m4/Makefile
src/Hyena/Hyena/Makefile
src/Hyena/Hyena.Data.Sqlite/Makefile
src/Hyena/Hyena.Gui/Makefile
232

233 234 235
src/Makefile
src/AssemblyInfo.cs

236
src/Clients/Makefile
Aaron Bockover's avatar
Aaron Bockover committed
237
src/Clients/Beroe/Makefile
238
src/Clients/Booter/Makefile
239 240
src/Clients/Booter/banshee.linux
src/Clients/Booter/banshee.darwin
241
src/Clients/Halie/Makefile
242
src/Clients/Muinshee/Makefile
243
src/Clients/Nereid/Makefile
244
src/Clients/MediaPanel/Makefile
245

246
src/Core/Makefile
247
src/Core/Banshee.CollectionIndexer/Makefile
248
src/Core/Banshee.Core/Makefile
249
src/Core/Banshee.Services/Makefile
250
src/Core/Banshee.ThickClient/Makefile
251
src/Core/Banshee.Widgets/Makefile
252 253
src/Core/Banshee.WebBrowser/Makefile
src/Core/Banshee.WebBrowser/libossifer/Makefile
254

255
src/Backends/Makefile
256
src/Backends/Banshee.Gio/Makefile
257
src/Backends/Banshee.Gnome/Makefile
258
src/Backends/Banshee.GStreamer/Makefile
259
src/Backends/Banshee.GStreamer/libbanshee/Makefile
260
src/Backends/Banshee.GStreamerSharp/Makefile
261
src/Backends/Banshee.Unix/Makefile
262
src/Backends/Banshee.Osx/Makefile
263
src/Backends/Banshee.Windows/Makefile
264

265 266 267
src/Libraries/Makefile
src/Libraries/Lastfm/Makefile
src/Libraries/Lastfm.Gui/Makefile
268
src/Libraries/Migo/Makefile
269
src/Libraries/Mono.Media/Makefile
270 271
src/Libraries/Mtp/Makefile
src/Libraries/Mtp/Mtp.dll.config
272
src/Libraries/MusicBrainz/Makefile
273

274 275
src/Dap/Makefile
src/Dap/Banshee.Dap/Makefile
276
src/Dap/Banshee.Dap.AppleDevice/Makefile
277
src/Dap/Banshee.Dap.MassStorage/Makefile
278
src/Dap/Banshee.Dap.Mtp/Makefile
279
src/Dap/Banshee.Dap.Karma/Makefile
280

281
src/Extensions/Makefile
282
src/Extensions/Banshee.AmazonMp3/Makefile
283
src/Extensions/Banshee.AmazonMp3.Store/Makefile
284
src/Extensions/Banshee.Audiobook/Makefile
285
src/Extensions/Banshee.BooScript/Makefile
286
src/Extensions/Banshee.Bpm/Makefile
287
src/Extensions/Banshee.CoverArt/Makefile
288
src/Extensions/Banshee.Daap/Makefile
289
src/Extensions/Banshee.Emusic/Makefile
290
src/Extensions/Banshee.Emusic.Store/Makefile
291
src/Extensions/Banshee.FileSystemQueue/Makefile
292
src/Extensions/Banshee.InternetArchive/Makefile
293
src/Extensions/Banshee.Fixup/Makefile
294
src/Extensions/Banshee.InternetRadio/Makefile
Gabriel Burt's avatar
Gabriel Burt committed
295
src/Extensions/Banshee.Lastfm/Makefile
296
src/Extensions/Banshee.LastfmStreaming/Makefile
297
src/Extensions/Banshee.LibraryWatcher/Makefile
298
src/Extensions/Banshee.MiniMode/Makefile
299
src/Extensions/Banshee.MiroGuide/Makefile
300
src/Extensions/Banshee.MediaPanel/Makefile
301
src/Extensions/Banshee.Mpris/Makefile
302
src/Extensions/Banshee.MultimediaKeys/Makefile
303
src/Extensions/Banshee.NotificationArea/Makefile
304
src/Extensions/Banshee.NowPlaying/Makefile
305
src/Extensions/Banshee.OpticalDisc/Makefile
306
src/Extensions/Banshee.PlayQueue/Makefile
307
src/Extensions/Banshee.PlayerMigration/Makefile
308
src/Extensions/Banshee.Podcasting/Makefile
309
src/Extensions/Banshee.SoundMenu/Makefile
310
src/Extensions/Banshee.SqlDebugConsole/Makefile
311
src/Extensions/Banshee.Sample/Makefile
312
src/Extensions/Banshee.Torrent/Makefile
313
src/Extensions/Banshee.RemoteAudio/Makefile
314
src/Extensions/Banshee.UbuntuOneMusicStore/Makefile
315
src/Extensions/Banshee.UPnPClient/Makefile
316
src/Extensions/Banshee.Wikipedia/Makefile
317
src/Extensions/Banshee.YouTube/Makefile
318 319

extras/metrics/Makefile
Aaron Bockover's avatar
Aaron Bockover committed
320 321
])

322 323
cat <<EOF

324
${PACKAGE}-${VERSION}
Aaron Bockover's avatar
Aaron Bockover committed
325

326
  Build Environment
327 328 329
    Install Prefix:        ${prefix}
    Datadir:               ${expanded_datadir}
    Libdir:                ${expanded_libdir}
Aaron Bockover's avatar
Aaron Bockover committed
330

331
    C Compiler:            ${CC}
332
    Mono C# Compiler:      ${MCS} ${MCS_FLAGS}
333
    Mono Runtime:          ${MONO}
334
    Gtk#:                  ${gtk_sharp_version}
335

336
  Media/Graphics:
337
    GStreamer# backend:    ${enable_gst_sharp}
338
    GStreamer C backend:   ${enable_gst_native}
339
    Clutter:               ${enable_clutter}
340 341

  Operating System/Desktop Environment:
342 343
    GNOME Support:         ${enable_gnome}
    OSX Support:           ${enable_osx}
344 345

  Digital Audio Player (DAP) Support:
346 347
    Apple Device:          ${enable_appledevice} (libgpod-sharp)
    Karma:                 ${enable_karmasharp}
348 349
    Mass Storage:          yes
    MTP:                   ${enable_libmtp}
350

351
  Extra Features:
352
    Web Browser:           ${have_libwebkit} (webkitgtk-3.0 >= $WEBKIT_MIN_VERSION, libsoup-2.4 >= $SOUP_MIN_VERSION)
353
    DAAP:                  ${enable_daap}
354 355
    GIO Backend:           ${enable_gio} (gio-sharp >= $GIOSHARP_REQUIRED)
    GIO Hardware:          ${enable_gio_hardware} (gudev-sharp >= $GUDEVSHARP_REQUIRED)
356
    YouTube:               ${enable_youtube} (gdata-sharp >= $GDATASHARP_REQUIRED_VERSION)
357
    Sound Menu:            ${enable_soundmenu}
358
    Ubuntu One Store:      ${enable_ubuntuone} (ubuntuone-sharp >= $UBUNTUONESHARP_REQUIRED)
359
    UPnP:                  ${enable_upnp} (mono-upnp >= $MONOUPNP_REQUIRED)
360
    Boo Scripting:         ${enable_boo} (boo >= $BOO_REQUIRED)
361

362
  Build/Development:
363 364 365 366 367
    Unit Tests:            ${do_tests} (nunit >= ${NUNIT_REQUIRED})
    API Docs:              ${enable_docs} (monodocer and mdassembler)
    User Help:             ${enable_user_help} (gnome-doc-utils >= 0.17.3)
    Release Build:         ${enable_release}
    Vendor Build ID:       ${vendor_build_id}
368 369

EOF
370

371
# Unstable/in-development features; only show them if they were manually enabled
372 373 374
if test "x$enable_moonlight" = "xyes";    then br=yes; echo "  Moonlight Effects:   ${enable_moonlight}";    fi
if test "x$enable_remote_audio" = "xyes"; then br=yes; echo "  Remote Audio:        ${enable_remote_audio}"; fi
if test "x$enable_torrent" = "xyes";      then br=yes; echo "  Torrent Podcasts:    ${enable_torrent}";      fi
375

Aaron Bockover's avatar
Aaron Bockover committed
376
if test -d ${expanded_libdir}/${PACKAGE}; then
377 378 379 380
	if test x$br = xyes; then echo; fi
	echo "  WARNING: An existing Banshee install is in ${expanded_libdir}/${PACKAGE}"
	echo "           Remove the existing install before installing this build."
	echo "           Installing over an existing install will cause conflicts!"
Aaron Bockover's avatar
Aaron Bockover committed
381 382
	echo 
fi