Add extra debug
[gmpc.git] / configure.ac
blobfb7c182add4e8b75d900750a8530fd4bb5c84440
1 #Define the version
2 # micro version (aka day) is 90+ means developers release
3 m4_define([package_major_version], [11])
4 m4_define([package_minor_version], [8])
5 m4_define([package_micro_version], [90])
6 m4_define([package_version], [package_major_version.package_minor_version.package_micro_version])
8 AC_INIT([gmpc], [11.8.90], [qball@gmpclient.org])
10 #Define variable
11 m4_define([package_tagline],       "All hail the Greg")
12 m4_define([package_website],       "http://gmpclient.org")
13 m4_define([package_copyright],     "Copyright 2003-2011 Qball Cow")
14 m4_define([package_bugtracker],    "http://gmpc.wikia.com/wiki/GMPC_HELP")
18 AM_CONFIG_HEADER([config.h])
19 AC_CONFIG_MACRO_DIR([m4])
20 AM_INIT_AUTOMAKE
22 AM_MAINTAINER_MODE
25 #Make version and variables available in config.h
26 #AC_DEFINE(GMPC_MAJOR_VERSION,   package_major_version, ["Major version of gmpc"])
27 #AC_DEFINE(GMPC_MINOR_VERSION,   package_minor_version, ["Minor version of gmpc"])
28 #AC_DEFINE(GMPC_MICRO_VERSION,   package_micro_version, ["Micro version of gmpc"])
29 # This makes sure the right substitution is done
30 [GMPC_MAJOR_VERSION]=package_major_version
31 [GMPC_MINOR_VERSION]=package_minor_version
32 [GMPC_MICRO_VERSION]=package_micro_version
33 AC_SUBST([GMPC_MAJOR_VERSION])
34 AC_SUBST([GMPC_MINOR_VERSION])
35 AC_SUBST([GMPC_MICRO_VERSION])
36 AC_DEFINE(GMPC_TAGLINE,         package_tagline,        ["Gmpc's tagline"])
37 AC_DEFINE(GMPC_WEBSITE,         package_website,        ["Gmpc's website"])
38 AC_DEFINE(GMPC_BUGTRACKER,      package_bugtracker,     ["Gmpc's bugtracker"])
39 AC_DEFINE(GMPC_COPYRIGHT,       package_copyright,      ["Gmpc's Copyright"])
42 AC_PREREQ(2.59)
44 # Remove the check for c++ and fortran compiler
45 LT_INIT
46 m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
47 m4_defun([_LT_AC_LANG_F77_CONFIG], [:])
48 AC_REPLACE_FUNCS(strndup)
51 #intltool, libtool. Check for CC compiler
52 AC_PROG_INTLTOOL([0.21])
54 # Check for intltool version, needed for make dist.
55 AM_CONDITIONAL([INTLTOOL_HIGHER_04000], [test ${INTLTOOL_APPLIED_VERSION_AS_INT} -ge 4000])
58 AC_PROG_CC
59 AM_PROG_CC_C_O
60 LT_AC_PROG_RC
61 AC_LIBTOOL_WIN32_DLL
62 AC_LIBTOOL_RC
63 AC_PROG_LIBTOOL
64 # test for zlib
65 zlib=0
66 AC_CHECK_LIB(z, inflate,zlib=1,zlib=0)
67 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
68 if test "x$zlib" != "x1"
69 then
70  AC_MSG_ERROR([GMPC plugin requires zlib])
75 PKG_PROG_PKG_CONFIG
77 #glyr
78 AC_ARG_ENABLE([glyr],
79               [--enable-glyr Enable glyr as provider plugin.],
80                   [case "${enableval}" in
81                             yes)    enable_glyr=true;;
82                              no)    enable_glyr=false;;
83                               *)    AC_MSG_ERROR([bad value ${enableval} for --enable-glyr]);;
84                esac],
85                [enable_glyr=true])
87 #unused.
88 if test "x$enable_glyr" = "xdetect"; then
89         PKG_CHECK_MODULES([libglyr], libglyr, enable_glyr=true, enable_glyr=false)
91 if test "x$enable_glyr" = "xtrue"; then
92 PKG_CHECK_MODULES([libglyr], libglyr)
93 AC_SUBST(libglyr_LIBS)
94 AC_SUBST(libglyr_CFLAGS)
95 AC_DEFINE(HAVE_GLYR, 1, [Enable glyr])
98 unique=0;
99 AC_ARG_ENABLE([unique],
100               [--enable-unique Use unique.],
101                   [case "${enableval}" in
102                             yes)    enable_unique=true;;
103                              no)    enable_unique=false;;
104                               *)    AC_MSG_ERROR([bad value ${enableval} for --enable-unique]);;
105                esac],
106                [enable_unique=true])
107 # libxspf
108 libxspf=0;
109 libspiff=0;
112 AC_ARG_ENABLE([libxspf],
113               [--enable-libxspf Use libxspf.],
114                   [case "${enableval}" in
115                             yes)    enable_libxspf=true;;
116                              no)    enable_libxspf=false;;
117                               *)    AC_MSG_ERROR([bad value ${enableval} for --enable-libxspf]);;
118                esac],
119                [enable_libxspf=detect])
120 if test "x$enable_libxspf" = "xdetect"; then
121         PKG_CHECK_MODULES([libxspf], xspf, enable_libxspf=true, enable_libxspf=false)
123 if test "x$enable_libxspf" = "xtrue"; then
124         PKG_CHECK_MODULES([libxspf], xspf)
125         AC_SUBST(libxspf_LIBS)
126         AC_SUBST(libxspf_CFLAGS)
127     libxspf=1;
128         AC_DEFINE([XSPF], 1, [Use xspf])
129 else
131 AC_ARG_ENABLE(libspiff,
132     [   --enable-libspiff      Use libspiff to parse spiff playlists.],
133     [ case "${enableval}" in
134         yes)    enable_libspiff=yes;;
135          no)    enable_libspiff=no;;
136           *)    AC_MSG_ERROR([bad value ${enableval} for --enable-libspiff]);;
137      esac],
138      [enable_libspiff=auto])
140 if test "x${enable_libspiff}" != xno; then
141     AC_CHECK_HEADER(spiff/spiff_c.h, AC_CHECK_LIB(spiff, spiff_parse,libspiff=1,libspiff=0),libspiff=0)
142     if test "x${libspiff}" = "x1";
143     then
144         AC_DEFINE(SPIFF,1,["Use or don't use libspiff"])
145         SPIFF_LIBS=-lspiff
146         AC_SUBST(SPIFF_LIBS)
147     else
148         if test "x${enable_libspiff}" = "xyes"; then
149             AC_MSG_ERROR([libspiff not found])
150         fi
151     fi
155 # Checking for libunique.
156 if test "x$enable_unique" = "xtrue"; then
157         PKG_CHECK_MODULES([unique], unique-1.0)
158         AC_SUBST(unique_LIBS)
159         AC_SUBST(unique_CFLAGS)
160     unique=true;
161         AC_DEFINE([HAVE_UNIQUE], 1, [Use libunique])
163 AM_CONDITIONAL(HAVE_UNIQUE, test "x$unique" = "xtrue")
164 # Checks for header files.
165 AC_HEADER_STDC
166 AC_CHECK_HEADERS([stdlib.h string.h unistd.h])
168 # Checks for typedefs, structures, and compiler characteristics.
169 AC_C_CONST
171 # Checks for libraries.
172 AC_SUBST(GLIB_REQUIRED)
173 AC_SUBST(GTK_REQUIRED)
176 # User params
180 # Maintainer mode
181 AC_ARG_ENABLE([timing],
182               [--enable-timing Print timing debug output.],
183                   [case "${enableval}" in
184                             yes)    enable_timing=true;;
185                              no)    enable_timing=false;;
186                               *)    AC_MSG_ERROR([bad value ${enableval} for --enable-timing]);;
187                esac],
188                [enable_timing=false])
190 if test x${enable_timing} = xtrue; then
191 # Add DEBUG_ENABLE define to config.h
192     AC_DEFINE(DEBUG_TIMING, 1, [Enable timing output])
195 # Maintainer mode
196 AC_ARG_ENABLE([test],
197         [--enable-test Enable tests],
198         [case "${enableval}" in
199                 yes) test_mode=true;;
200                 no)  test_mode=false;;
201                 *) AC_MSG_ERROR([bad value ${enableval} for --enable-test]);;
202          esac],
203         [test_mode=false])
205 AM_CONDITIONAL([ENABLE_TEST], [test x$test_mode = xtrue])
207 # EXTRA VERSION
208 AC_ARG_WITH([extra-version],
209         [--with-extra-version=revision Specify extra version.],
210         with_extra_version=${withval})
211 if test x"${with_extra_version}" != x; then
212     AM_CONDITIONAL([EXTRA_VERSION], [true])
213     EXTRA_VERSION="${with_extra_version}";
214     AC_SUBST(EXTRA_VERSION)
215 else
216     AM_CONDITIONAL([EXTRA_VERSION], [false])
221 # Split this out, because pkgconfig macro doesn't return nicely what is missing
223 # glib
224 PKG_CHECK_MODULES([glib], glib-2.0 >= 2.16)
225 AC_SUBST(glib_LIBS)
226 AC_SUBST(glib_CFLAGS)
228 # gobject
229 PKG_CHECK_MODULES([gobject], gobject-2.0 >= 2.4)
230 AC_SUBST(gobject_LIBS)
231 AC_SUBST(gobject_CFLAGS)
233 #gtk
234 PKG_CHECK_MODULES([gtk], gtk+-2.0 >= 2.18)
235 AC_SUBST(gtk_LIBS)
236 AC_SUBST(gtk_CFLAGS)
238 #gmodule
239 PKG_CHECK_MODULES([gmodule], gmodule-2.0 >= 2.4)
240 AC_SUBST(gmodule_LIBS)
241 AC_SUBST(gmodule_CFLAGS)
243 # libmpd
244 PKG_CHECK_MODULES([libmpd], libmpd >= 0.20.95)
245 AC_SUBST(libmpd_LIBS)
246 AC_SUBST(libmpd_CFLAGS)
249 # gthread
250 PKG_CHECK_MODULES([gthread], gthread-2.0)
251 AC_SUBST(gthread_LIBS)
252 AC_SUBST(gthread_CFLAGS)
254 #libsoup
255 PKG_CHECK_MODULES([libsoup], libsoup-2.4)
256 AC_SUBST(libsoup_LIBS)
257 AC_SUBST(libsoup_CFLAGS)
259 #libgio
260 PKG_CHECK_MODULES([libgio], gio-2.0)
261 AC_SUBST(libgio_LIBS)
262 AC_SUBST(libgio_CFLAGS)
265 #sqlite3
266 PKG_CHECK_MODULES([sqlite3], sqlite3)
267 AC_SUBST(sqlite3_LIBS)
268 AC_SUBST(sqlite3_CFLAGS)
271 #libxml2
272 PKG_CHECK_MODULES([libxml2], libxml-2.0)
273 AC_SUBST(libxml2_LIBS)
274 AC_SUBST(libxml2_CFLAGS)
277 # installation paths
278 AC_MSG_CHECKING(prefix)
280 if test "x${prefix}" = "xNONE"; then
281         PACKAGE_PREFIX="${ac_default_prefix}"
282 else
283         PACKAGE_PREFIX="${prefix}"
285 AC_MSG_RESULT($PACKAGE_PREFIX)
287 # i18n support
288 dnl please keep them in alphabetical order
289 ALL_LINGUAS="ar bg bn bs cs da de el et en_CA en_GB es fi fr gl he hi hu hy id it ja jv lv ml ms nb ne nl oc pl pt pt_BR ro ru sq sv th tr zh_CN zh_TW"
292 AM_GLIB_GNU_GETTEXT
293 GETTEXT_PACKAGE=gmpc
294 AC_SUBST(GETTEXT_PACKAGE)
295 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",[GMPC gettext package])
297 if test x$gt_cv_have_gettext != "xyes"; then
299         echo "Translations support is required."
300         exit 1;
303 #AM_GNU_GETTEXT([external])
304 # setting correct paths
305 PACKAGE_LOCALE_DIR="${PACKAGE_PREFIX}/${DATADIRNAME}/locale"
306 AC_DEFINE_UNQUOTED(PACKAGE_LOCALE_DIR,"$PACKAGE_LOCALE_DIR",[The package's locale path for gettext])
309 AC_SUBST(PACKAGE_LOCALE_DIR)
310 AC_SUBST(PACKAGE_LIBS)
314 #Win32 compile support
316 EXTRA_CFLAGS=
317 EXTRA_LDFLAGS=
318 case "$CC" in
319 *gcc*)
320         EXTRA_CFLAGS="-Wmissing-prototypes -Wmissing-declarations"
321         ;;
322 esac
324 win32=no
325 macosx=no
326 case $host in
327   *-*-mingw32* | *-*-windows)
328     win32=yes
329     EXTRA_CFLAGS="$EXTRA_CFLAGS -mno-cygwin -mwindows -mms-bitfields"
330     EXTRA_LDFLAGS="-export-all-symbols -mwindows -mms-bitfields" ;;
331   *-*-cygwin*)
332     win32=yes
333     EXTRA_LDFLAGS="-export-all-symbols -mms-bitfields" ;;
334   *-apple-darwin*)
335     EXTRA_LDFLAGS="-framework Carbon"
336     macosx=yes;;
337 esac
338 AM_CONDITIONAL(WIN32, test x$win32 = xyes)
339 AM_CONDITIONAL(OSX, test x$macosx = xyes)
340 # for smclient
341 AM_CONDITIONAL(PLATFORM_WIN32, test x$win32 = xyes)
342 AM_CONDITIONAL(PLATFORM_OSX, test x$macosx = xyes)
345 # These depend on if we are or are not on windows or osX
348 # Session support
349 if test x$macosx = xno && test x$win32 = xno ; then
350 # Multimedia keys
351 AC_ARG_ENABLE([mmkeys],
352               [  --disable-mmkeys                       Disable multimedia keys support.],
353               [ case "${enableval}" in
354                     yes)    enable_mmkeys=yes;;
355                      no)    enable_mmkeys=no;;
356                       *)    AC_MSG_ERROR([bad value ${enableval} for --disable--mmkeys]);;
357                 esac],
358               [enable_mmkeys=yes])
359 if test x${enable_mmkeys} = xyes; then
360         AC_DEFINE(ENABLE_MMKEYS, 1, [Enable multimedia support])
363 #libx11
364 PKG_CHECK_MODULES([libx11], x11)
365 AC_SUBST(libx11_LIBS)
366 AC_SUBST(libx11_CFLAGS)
368 else
369 # force them off
370 enable_mmkeys=no;
372 AC_SUBST(EXTRA_CFLAGS)
373 AC_SUBST(EXTRA_LDFLAGS)
375 # Check for gob2
376 GOB2_CHECK(2.0.0)
377 # Make the gob2 check fatal
378 if test x${GOB2} = x""; then
379         exit 1;
382 AM_PROG_VALAC([0.11.0])
384 if test x${VALAC} = x""; then
385     exit 1;
388 APPINDICATOR_REQUIRED=0.3
390 AC_ARG_ENABLE(appindicator,
391                         AS_HELP_STRING([--enable-appindicator[=@<:@no/auto/yes@:>@]],[Build support for application indicators ]),
392                         [enable_appindicator=$enableval],
393                         [enable_appindicator="auto"])
395 if test x$enable_appindicator = xauto ; then
396         PKG_CHECK_EXISTS([appindicator-0.1 >= $APPINDICATOR_REQUIRED],
397                          enable_appindicator="yes",
398                          enable_appindicator="no")
401 if test x$enable_appindicator = xyes ; then
402         PKG_CHECK_EXISTS([appindicator-0.1 >= $APPINDICATOR_REQUIRED],,
403                          AC_MSG_ERROR([appindicator-0.1 is not installed]))
404         PKG_CHECK_MODULES(APP_INDICATOR,
405                         appindicator-0.1 >= $APPINDICATOR_REQUIRED)
406         AC_SUBST(APP_INDICATOR_CFLAGS)
407         AC_SUBST(APP_INDICATOR_LIBS)
408         AC_DEFINE(HAVE_APP_INDICATOR, 1, [Have AppIndicator])
410 AM_CONDITIONAL(HAVE_APP_INDICATOR, test x"$enable_appindicator" = xyes)
412 AC_ARG_ENABLE([shave],
413             [  --disable-shave                  Use shave output cleaner when building.],
414               [ case "${enableval}" in
415                     yes)    enable_shave=yes;;
416                      no)    enable_shave=no;;
417                       *)    AC_MSG_ERROR([bad value ${enableval} for --disable-shave]);;
418                 esac],
419               [enable_shave=no])
420 if test x$enable_shave = xyes; then
421 SHAVE_INIT([./])
424 GNOME_DOC_INIT([0.18.0], [have_gdu=yes], [have_gdu=no])
426 AC_OUTPUT([
427 shave
428 shave-libtool
429 Makefile
430 src/Makefile
431 src/gmpc-version.h
432 glade/Makefile
433 data/Makefile
434 po/Makefile.in
435 po/Makefile
436 data/gmpc.pc
437 remote/Makefile
438 doc/Makefile
439 doc/Mallard/Makefile
440 pixmaps/Makefile
441 pixmaps/icons/Makefile
442 pixmaps/icons/hicolor/Makefile
443 pixmaps/icons/hicolor/16x16/Makefile
444 pixmaps/icons/hicolor/16x16/actions/Makefile
445 pixmaps/icons/hicolor/16x16/status/Makefile
446 pixmaps/icons/hicolor/16x16/apps/Makefile
447 pixmaps/icons/hicolor/22x22/Makefile
448 pixmaps/icons/hicolor/22x22/actions/Makefile
449 pixmaps/icons/hicolor/22x22/status/Makefile
450 pixmaps/icons/hicolor/22x22/apps/Makefile
451 pixmaps/icons/hicolor/32x32/Makefile
452 pixmaps/icons/hicolor/32x32/actions/Makefile
453 pixmaps/icons/hicolor/32x32/status/Makefile
454 pixmaps/icons/hicolor/32x32/apps/Makefile
455 pixmaps/icons/hicolor/48x48/Makefile
456 pixmaps/icons/hicolor/48x48/actions/Makefile
457 pixmaps/icons/hicolor/48x48/apps/Makefile
458 pixmaps/icons/hicolor/48x48/status/Makefile
459 pixmaps/icons/hicolor/64x64/Makefile
460 pixmaps/icons/hicolor/64x64/apps/Makefile
461 pixmaps/icons/hicolor/64x64/status/Makefile
462 pixmaps/icons/hicolor/72x72/Makefile
463 pixmaps/icons/hicolor/72x72/apps/Makefile
464 pixmaps/icons/hicolor/72x72/status/Makefile
465 pixmaps/icons/hicolor/96x96/Makefile
466 pixmaps/icons/hicolor/96x96/apps/Makefile
467 pixmaps/icons/hicolor/96x96/status/Makefile
468 pixmaps/icons/hicolor/128x128/Makefile
469 pixmaps/icons/hicolor/128x128/apps/Makefile
470 pixmaps/icons/hicolor/128x128/status/Makefile
471 pixmaps/icons/hicolor/128x128/categories/Makefile
472 pixmaps/icons/hicolor/scalable/Makefile
473 pixmaps/icons/hicolor/scalable/actions/Makefile
474 pixmaps/icons/hicolor/scalable/status/Makefile
475 pixmaps/icons/hicolor/scalable/apps/Makefile
476 pixmaps/icons/hicolor/scalable/categories/Makefile
477 pixmaps/icons/Humanity/16x16/Makefile
478 pixmaps/icons/Humanity/16x16/actions/Makefile
479 pixmaps/icons/Humanity/16x16/status/Makefile
480 pixmaps/icons/Humanity/16x16/apps/Makefile
481 pixmaps/icons/Humanity/22x22/Makefile
482 pixmaps/icons/Humanity/22x22/actions/Makefile
483 pixmaps/icons/Humanity/22x22/status/Makefile
484 pixmaps/icons/Humanity/22x22/apps/Makefile
485 pixmaps/icons/Humanity/24x24/Makefile
486 pixmaps/icons/Humanity/24x24/actions/Makefile
487 pixmaps/icons/Humanity/24x24/status/Makefile
488 pixmaps/icons/Humanity/24x24/categories/Makefile
489 pixmaps/icons/Humanity/24x24/apps/Makefile
490 pixmaps/icons/Humanity/32x32/Makefile
491 pixmaps/icons/Humanity/32x32/actions/Makefile
492 pixmaps/icons/Humanity/32x32/status/Makefile
493 pixmaps/icons/Humanity/32x32/apps/Makefile
494 pixmaps/icons/Humanity/48x48/Makefile
495 pixmaps/icons/Humanity/48x48/actions/Makefile
496 pixmaps/icons/Humanity/48x48/apps/Makefile
497 pixmaps/icons/Humanity/48x48/status/Makefile
498 pixmaps/icons/Humanity/64x64/Makefile
499 pixmaps/icons/Humanity/64x64/apps/Makefile
500 pixmaps/icons/Humanity/64x64/status/Makefile
501 pixmaps/icons/Humanity/64x64/actions/Makefile
502 pixmaps/icons/Humanity/72x72/Makefile
503 pixmaps/icons/Humanity/72x72/apps/Makefile
504 pixmaps/icons/Humanity/72x72/status/Makefile
505 pixmaps/icons/Humanity/72x72/actions/Makefile
506 pixmaps/icons/Humanity/96x96/Makefile
507 pixmaps/icons/Humanity/96x96/apps/Makefile
508 pixmaps/icons/Humanity/96x96/status/Makefile
509 pixmaps/icons/Humanity/96x96/actions/Makefile
510 pixmaps/icons/Humanity/128x128/Makefile
511 pixmaps/icons/Humanity/128x128/apps/Makefile
512 pixmaps/icons/Humanity/128x128/status/Makefile
513 pixmaps/icons/Humanity/128x128/categories/Makefile
514 pixmaps/icons/Humanity/128x128/actions/Makefile
515 pixmaps/icons/Humanity/Makefile
516 pixmaps/icons/Humanity/scalable/Makefile
517 pixmaps/icons/Humanity/scalable/actions/Makefile
518 pixmaps/icons/Humanity/scalable/status/Makefile
519 pixmaps/icons/Humanity/scalable/apps/Makefile
520 pixmaps/icons/Humanity/scalable/categories/Makefile
521 test/Makefile
522 test/config/Makefile
523 test/MpdDataModel/Makefile
524 test/GmpcEasyDownload/Makefile
525 test/MetaDataCache/Makefile
526 test/PixbufCache/Makefile
527 test/AsyncImage/Makefile
528 test/Misc/Makefile
529 test/DiscoGS/Makefile
530 test/LastFM/Makefile
532 echo ""
533 echo ""
534 echo "------------------ Status ------------------"
535 if test x$enable_timing = xtrue; then
536         echo "Debug timing output is:           enabled"
537 else
538         echo "Debug timing output is:           disabled"
540 if test x${enable_mmkeys} = xyes; then
541         echo "Multimedia keys support is:       enabled"
542 else
543         echo "Multimedia keys support is:       disabled"
545 if test x"$enable_appindicator" = xyes; then
546     echo "AppIndicator Support is:          enabled"
547 else
548     echo "AppIndicator Support is:          disabled"
550 if test "x$libspiff" = "x1"; then
551         echo "Use libspiff library:             enabled"
552 else
553         echo "Use libspiff library:             disabled"
555 if test "x$libxspf" = "x1"; then
556         echo "Use libxspf library:              enabled"
557 else
558         echo "Use libxspf library:              disabled"
560 if test "x$unique" = "xtrue"; then
561         echo "Use unique library:               enabled"
562 else
563         echo "Use unique library:               disabled"
565 if test "x$have_gdu" = "xyes"; then
566         echo "Use Gnome Documentation:          enabled"
567 else
568         echo "Use Gnome Documentation:          disabled"
570 if test "x$enable_glyr" = "xtrue"; then
571         echo "Use GLyr as metadata provider:    enabled"
572 else
573         echo "Use GLyr as metadata provider:    disabled"
575 echo "";
576 echo "Now type make to build"
577 if test x$enable_shave = xyes; then
578     echo "Building is done with reduced output. (shave";
579     echo "use --disable-shave to get all (old) output back";