Merge commit 'origin/git-version'
[profile/ivi/rygel.git] / configure.ac
1 AC_PREREQ(2.53)
2 AC_INIT([rygel],
3         m4_esyscmd([GNOME_TAG_PATTERN=RYGEL build-aux/git-version-gen .tarball-version]),
4         [http://live.gnome.org/Rygel])
5 AC_CONFIG_AUX_DIR([build-aux])
6 AM_INIT_AUTOMAKE
7 AC_CONFIG_SRCDIR([src/rygel/rygel-media-server.vala])
8 AM_CONFIG_HEADER([config.h])
9 AC_CONFIG_MACRO_DIR([m4])
10 AM_MAINTAINER_MODE
11
12 # Disable generation of static libraries
13 AC_DISABLE_STATIC
14
15 AC_ISC_POSIX
16 AC_PROG_CC
17 AC_STDC_HEADERS
18 AC_PROG_LIBTOOL
19 AC_FUNC_MMAP
20
21 VALA_REQUIRED=0.7.1
22 GUPNP_REQUIRED=0.12.5
23 GUPNP_AV_REQUIRED=0.3.2
24 GUPNP_VALA_REQUIRED=0.5.3
25 GCONF_REQUIRED=2.16
26 DBUS_GLIB_REQUIRED=0.74
27 GSTREAMER_REQUIRED=0.10.22
28 GIO_REQUIRED=2.16
29 GEE_REQUIRED=0.1.5
30 UUID_REQUIRED=1.41.3
31 LIBSOUP_REQUIRED=2.26.0
32 GTK_REQUIRED=2.16
33
34 PKG_CHECK_MODULES(VALA, [vala-1.0 >= $VALA_REQUIRED])
35 PKG_CHECK_MODULES(LIBGUPNP, gupnp-1.0 >= $GUPNP_REQUIRED)
36 PKG_CHECK_MODULES(LIBGUPNP_AV, gupnp-av-1.0 >= $GUPNP_AV_REQUIRED)
37 PKG_CHECK_MODULES(GUPNP_VALA, gupnp-vala-1.0 >= $GUPNP_VALA_REQUIRED)
38 PKG_CHECK_MODULES(LIBGCONF, gconf-2.0 >= $GCONF_REQUIRED)
39 PKG_CHECK_MODULES(LIBDBUS_GLIB, dbus-glib-1 >= $DBUS_GLIB_REQUIRED)
40 PKG_CHECK_MODULES(LIBGSTREAMER, gstreamer-0.10 >= $GSTREAMER_REQUIRED)
41 PKG_CHECK_MODULES(LIBGIO, gio-2.0 >= $GIO_REQUIRED)
42 PKG_CHECK_MODULES(GEE, gee-1.0 >= $GEE_REQUIRED)
43 PKG_CHECK_MODULES(UUID, uuid >= $UUID_REQUIRED)
44 PKG_CHECK_MODULES(LIBSOUP, libsoup-2.4 >= $LIBSOUP_REQUIRED)
45
46 # Vala compiler
47 # This is more to get the path of the compiler since the pkg-config check
48 # should covers check for compiler as well.
49 AC_PATH_PROG(VALAC, valac, no)
50 if test "x$VALAC" = "xno"; then
51         AC_MSG_ERROR([Cannot find the "valac" compiler in your PATH])
52 fi
53
54 VAPIDIR=`pkg-config --variable=vapidir vala-1.0`
55 AC_SUBST(VAPIDIR)
56
57 # FIXME: Whats the proper way for checking for particular Vala bindings
58 AC_CHECK_FILE("${VAPIDIR}/gupnp-1.0.vapi",
59         true,
60         [AC_MSG_ERROR("Unable to find Vala bindings for gupnp-1.0")])
61
62 AC_CHECK_FILE("${VAPIDIR}/gupnp-av-1.0.vapi",
63         true,
64         [AC_MSG_ERROR("Unable to find Vala bindings for gupnp-av-1.0")])
65
66 AC_CHECK_FILE("${VAPIDIR}/dbus-glib-1.vapi",
67         true,
68         [AC_MSG_ERROR("Unable to find Vala bindings for dbus-glib-1")])
69
70 AC_CHECK_FILE("${VAPIDIR}/gconf-2.0.vapi",
71         true,
72         [AC_MSG_ERROR("Unable to find Vala bindings for gconf-2.0")])
73
74 AC_CHECK_FILE("${VAPIDIR}/gstreamer-0.10.vapi",
75         true,
76         [AC_MSG_ERROR("Unable to find Vala bindings for gstreamer-0.10")])
77
78 AC_CHECK_FILE("${VAPIDIR}/gio-2.0.vapi",
79         true,
80         [AC_MSG_ERROR("Unable to find Vala bindings for gio-2.0")])
81
82 AC_CHECK_FILE("${VAPIDIR}/gee-1.0.vapi",
83         true,
84         [AC_MSG_ERROR("Unable to find Vala bindings for gee-1.0")])
85
86 # glib-genmarshal
87 GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
88 AC_SUBST(GLIB_GENMARSHAL)
89
90 # Debugging
91 AC_ARG_ENABLE(debug,
92         [  --enable-debug          enable debugging],,
93         enable_debug=no)
94 if test "x$enable_debug" = "xyes"; then
95         CFLAGS="$CFLAGS -g"
96 fi
97
98 # Strict compiler
99 AC_ARG_ENABLE(strict-cc,
100         [  --enable-strict-cc          enable strict C compiler],,
101         enable_strict_cc=no)
102 if test "x$enable_strict_cc" = "xyes"; then
103         CFLAGS="$CFLAGS -Wall -Werror"
104 fi
105
106 # Run uninstalled
107 AC_ARG_ENABLE(uninstalled,
108         [  --enable-uninstalled          run uninstalled],,
109         enable_uninstalled=no)
110 if test "x$enable_uninstalled" = "xyes"; then
111         AC_MSG_WARN("You want to run the tools uninstalled only? Fine!")
112 fi
113
114 # Check wether user wants to build UIs
115 AC_ARG_WITH( ui,
116   AC_HELP_STRING([--disable-ui],[Don't build UI applications]),
117   try_ui=$withval, try_ui=yes )
118
119 HAVE_GTK=no
120 if test x$try_ui = xyes ; then
121     dnl check for gtk
122     PKG_CHECK_MODULES(GTK, gtk+-2.0 >= $GTK_REQUIRED ,
123       [
124         AC_SUBST(GTK_CFLAGS)
125         AC_SUBST(GTK_LIBS)
126         AC_CHECK_FILE("${VAPIDIR}/gtk+-2.0.vapi",
127           [
128              HAVE_GTK=yes
129           ],
130           [
131              HAVE_GTK=no
132              AC_MSG_ERROR("Unable to find Vala bindings for gtk+-2.0")
133           ])
134         ],
135       [
136         HAVE_GTK=no
137         AC_MSG_WARN([gtk $GTK_REQUIRED or greater not found.])
138         AC_MSG_WARN([UI applications will not be built.])
139       ])
140 else
141     AC_MSG_NOTICE([UI applications disabled.])
142 fi
143
144 if test x$HAVE_GTK = xno; then
145   BUILD_UI=no
146 else
147   BUILD_UI=yes
148   AC_DEFINE(HAVE_GTK, , [Build UI applications])
149 fi
150
151 AC_SUBST(HAVE_GTK)
152 AM_CONDITIONAL(BUILD_UI, test x$BUILD_UI = xyes)
153
154 # Build test plugin
155 AC_ARG_ENABLE(test-plugin,
156         [  --enable-test-plugin          build test plugin],,
157         enable_test_plugin=no)
158
159 # Build Tracker plugin
160 AC_ARG_ENABLE(tracker-plugin,
161         [  --enable-tracker-plugin      build tracker plugin],,
162         enable_tracker_plugin=yes)
163
164 # Build DVB plugin
165 AC_ARG_ENABLE(dvb-plugin,
166         [  --enable-dvb-plugin          build DVB plugin],,
167         enable_dvb_plugin=yes)
168
169 # Build Folder plugin
170 AC_ARG_ENABLE(folder-plugin,
171         [  --enable-folder-plugin          build Folder plugin],,
172         enable_folder_plugin=yes)
173
174 # Build Mediathek plugin
175 AC_ARG_ENABLE(mediathek-plugin,
176         [  --enable-mediathek-plugin          build Mediathek plugin],,
177         enable_mediathek_plugin=yes)
178
179
180 AC_SUBST(abs_top_builddir)
181
182 AM_CONDITIONAL([UNINSTALLED], [test "x$enable_uninstalled" = "xyes"])
183 AM_CONDITIONAL([BUILD_TEST_PLUGIN], [test "x$enable_test_plugin" = "xyes"])
184 AM_CONDITIONAL([BUILD_TRACKER_PLUGIN],
185                [test "x$enable_tracker_plugin" = "xyes"])
186 AM_CONDITIONAL([BUILD_DVB_PLUGIN], [test "x$enable_dvb_plugin" = "xyes"])
187 AM_CONDITIONAL([BUILD_MEDIATHEK_PLUGIN], [test "x$enable_mediathek_plugin" = "xyes"])
188 AM_CONDITIONAL([BUILD_FOLDER_PLUGIN], [test "x$enable_folder_plugin" = "xyes"])
189
190 # Gettext
191 GETTEXT_PACKAGE=rygel
192 AC_SUBST(GETTEXT_PACKAGE)
193 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], 
194   [Define the gettext package to be used])
195
196 ALL_LINGUAS=""
197 AM_GLIB_GNU_GETTEXT
198 AM_GLIB_DEFINE_LOCALEDIR([LOCALEDIR])
199
200 AC_OUTPUT([
201 Makefile
202 src/Makefile
203 src/rygel/Makefile
204 src/ui/Makefile
205 src/plugins/Makefile
206 src/plugins/dvb/Makefile
207 src/plugins/folder/Makefile
208 src/plugins/mediathek/Makefile
209 src/plugins/tracker/Makefile
210 src/plugins/test/Makefile
211 data/Makefile
212 data/xml/Makefile
213 rygel-1.0.pc
214 ])
215
216 echo "
217
218                     ${PACKAGE} ${VERSION}
219                     ============
220
221
222         Prefix:                 ${prefix}
223         Source code location:   ${srcdir}
224         Compiler:               ${CC}
225         CFLAGS:                 ${CFLAGS}
226 "