Release 0.2
[platform/upstream/lightmediascanner.git] / configure.ac
1 AC_INIT(lightmediascanner, 0.2.0.0, lms-devel@garage.maemo.org)
2 AC_PREREQ(2.52)
3 AC_CONFIG_SRCDIR(configure.ac)
4 AC_CANONICAL_BUILD
5 AC_CANONICAL_HOST
6 AC_ISC_POSIX
7
8 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
9 AM_CONFIG_HEADER(config.h)
10 AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
11 _XTERM_COLORS
12
13 AC_PROG_CC
14 AM_PROG_CC_STDC
15 AM_PROG_CC_C_O
16 AC_HEADER_STDC
17 AC_C_CONST
18
19 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
20 AC_PROG_LIBTOOL
21
22 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
23 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
24 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
25 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
26 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
27 AC_SUBST(version_info)
28
29 pluginsdir="${libdir}/lightmediascanner/plugins"
30
31 AC_SUBST(pluginsdir)
32 AS_AC_EXPAND(PLUGINSDIR, $pluginsdir)
33 AC_DEFINE_UNQUOTED(PLUGINSDIR, ["$PLUGINSDIR"], [Where plugins are installed.])
34
35 AC_CHECK_FUNCS(realpath)
36
37 # required modules
38 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= 3.3])
39
40 # plugins checks
41
42 AM_CONDITIONAL(HAVE_VORBIS, false)
43 define([CHECK_MODULE_OGG],
44 [
45         AC_CHECK_HEADERS(tremor/ivorbiscodec.h tremor/ivorbisfile.h, HAVE_IVORBIS_HEADERS=yes, HAVE_IVORBIS_HEADERS=no)
46         if test "x$HAVE_IVORBIS_HEADERS" = "xyes"; then
47             AC_CHECK_LIB(vorbisidec, ogg_sync_bufferin, HAVE_IVORBIS_LIBS=yes, HAVE_IVORBIS_LIBS=no)
48         fi
49
50         AM_CONDITIONAL(USE_TREMOR, test "x$HAVE_IVORBIS_LIBS" = "xyes")
51         if test "x$HAVE_IVORBIS_LIBS" = "xyes"; then
52             AC_DEFINE(USE_TREMOR, 1, Define if libvorbisidec (aka tremor) support is enabled)
53             VORBIS_LIBS="-lvorbisidec"
54             AC_SUBST(VORBIS_LIBS)
55         else
56             AC_LMS_CHECK_PKG(VORBIS, vorbis, [], [OGG=false])
57         fi
58 ])
59
60 AM_CONDITIONAL(HAVE_MP4V2, false)
61 define([CHECK_MODULE_MP4],
62 [
63         AC_CHECK_HEADERS(mp4.h, HAVE_MP4_HEADERS=yes, HAVE_MP4_HEADERS=no)
64         if test "x$HAVE_MP4_HEADERS" = "xyes"; then
65             AC_CHECK_LIB(mp4v2, MP4Read, [MP4=true], [MP4=false])
66             MP4V2_LIBS="-lmp4v2"
67             AC_SUBST(MP4V2_LIBS)
68         else
69             MP4=false
70         fi
71 ])
72
73 AM_CONDITIONAL(HAVE_FLAC, false)
74 define([CHECK_MODULE_FLAC],
75 [
76         AC_LMS_CHECK_PKG(FLAC, flac, [], [FLAC=false])
77 ])
78
79 # plugins declarations
80 AC_LMS_OPTIONAL_MODULE([dummy], true)
81 AC_LMS_OPTIONAL_MODULE([jpeg], true)
82 AC_LMS_OPTIONAL_MODULE([png], true)
83 AC_LMS_OPTIONAL_MODULE([video-dummy], true)
84 AC_LMS_OPTIONAL_MODULE([audio-dummy], true)
85 AC_LMS_OPTIONAL_MODULE([m3u], true)
86 AC_LMS_OPTIONAL_MODULE([ogg], true, [CHECK_MODULE_OGG])
87 AC_LMS_OPTIONAL_MODULE([pls], true)
88 AC_LMS_OPTIONAL_MODULE([asf], true)
89 AC_LMS_OPTIONAL_MODULE([rm], true)
90 AC_LMS_OPTIONAL_MODULE([mp4], true, [CHECK_MODULE_MP4])
91 AC_LMS_OPTIONAL_MODULE([id3], true)
92 AC_LMS_OPTIONAL_MODULE([flac], true, [CHECK_MODULE_FLAC])
93
94 AC_OUTPUT([
95 lightmediascanner.pc
96 Makefile
97 m4/Makefile
98 src/Makefile
99 src/bin/Makefile
100 src/lib/Makefile
101 src/plugins/Makefile
102 src/plugins/dummy/Makefile
103 src/plugins/jpeg/Makefile
104 src/plugins/png/Makefile
105 src/plugins/video-dummy/Makefile
106 src/plugins/audio-dummy/Makefile
107 src/plugins/m3u/Makefile
108 src/plugins/ogg/Makefile
109 src/plugins/pls/Makefile
110 src/plugins/asf/Makefile
111 src/plugins/rm/Makefile
112 src/plugins/mp4/Makefile
113 src/plugins/id3/Makefile
114 src/plugins/flac/Makefile
115 ])
116
117
118 # report
119 txt_strip() {
120         echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
121 }
122
123 MODS=""
124 for mod in $OPTIONAL_MODULES; do
125         MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
126 done
127 MODS=$(txt_strip $MODS)
128
129 UNUSED_MODS=""
130 for mod in $UNUSED_OPTIONAL_MODULES; do
131         UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
132 done
133 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
134
135 cat << SUMMARY_EOF
136
137 Summary:
138  * project........: $PACKAGE $VERSION
139  * prefix.........: $(txt_strip $prefix)
140  * CFLAGS.........: $(txt_strip $CFLAGS)
141 SUMMARY_EOF
142
143 echo -e " * modules........: $MODS $UNUSED_MODS"