1 AC_INIT(lightmediascanner, 0.5.1, https://github.com/profusion/lightmediascanner/)
3 AC_CONFIG_SRCDIR(configure.ac)
8 AM_INIT_AUTOMAKE(foreign 1.11 silent-rules subdir-objects dist-bzip2)
9 AM_CONFIG_HEADER(config.h)
10 AC_USE_SYSTEM_EXTENSIONS
11 AC_CONFIG_MACRO_DIR([m4])
13 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
22 LT_INIT([disable-static])
24 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
25 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
26 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
27 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
28 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
29 AC_SUBST(version_info)
31 pluginsdir="${libdir}/lightmediascanner/plugins"
34 AS_AC_EXPAND(PLUGINSDIR, $pluginsdir)
35 AC_DEFINE_UNQUOTED(PLUGINSDIR, ["$PLUGINSDIR"], [Where plugins are installed.])
37 AC_CHECK_FUNCS(realpath)
41 PKG_CHECK_MODULES(SQLITE3, [sqlite3 >= 3.3])
45 AM_CONDITIONAL(USE_TREMOR, false)
46 define([CHECK_MODULE_OGG],
48 AC_LMS_CHECK_PKG(VORBIS, vorbis, [], [OGG=false])
49 if test "x$HAVE_VOBIS" = "xno"; then
50 AC_LMS_CHECK_PKG(VORBIS, vorbisdec, [USE_TREMOR=true], [OGG=false])
52 AC_LMS_CHECK_PKG(THEORADEC, theoradec, [], [OGG=false])
55 AM_CONDITIONAL(HAVE_MP4V2, false)
56 define([CHECK_MODULE_MP4],
58 AC_CHECK_HEADERS(mp4v2/mp4v2.h, HAVE_MP4V2_HEADERS=yes, HAVE_MP4V2_HEADERS=no)
59 if test "x$HAVE_MP4V2_HEADERS" = "xyes"; then
60 AC_CHECK_LIB(mp4v2, MP4Read, [MP4=true], [MP4=false])
64 # strict about new 2.0 api
65 AC_MSG_CHECKING([mp4v2 2.0 API (MP4Read and MP4Close)])
66 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
67 [[#include <mp4v2/mp4v2.h>]],
68 [[MP4FileHandle fh = MP4Read("/tmp");
82 AM_CONDITIONAL(HAVE_FLAC, false)
83 define([CHECK_MODULE_FLAC],
85 AC_LMS_CHECK_PKG(FLAC, flac, [], [FLAC=false])
88 AM_CONDITIONAL(HAVE_GENERIC, false)
89 define([CHECK_MODULE_GENERIC],
91 AC_LMS_CHECK_PKG(GENERIC, [libavcodec libavformat], [], [GENERIC=false])
94 AC_ARG_ENABLE([magic],
95 [AC_HELP_STRING([--disable-magic],
96 [Disable mime computation with libmagic. @<:@default=enable@:>@])],
97 [enable_magic=${enableval}], [enable_magic=yes])
99 if test "$enable_magic" = "yes"; then
100 AC_CHECK_HEADERS([magic.h], [], [AC_MSG_ERROR([libmagic magic.h header file not found])])
101 AC_CHECK_LIB([magic], [magic_open], [AC_SUBST([LIBMAGIC], [-lmagic])],
102 [AC_MSG_ERROR([libmagic library or magic_open function not found])])
105 # plugins declarations
106 AC_LMS_OPTIONAL_MODULE([dummy], true)
107 AC_LMS_OPTIONAL_MODULE([jpeg], true)
108 AC_LMS_OPTIONAL_MODULE([png], true)
109 AC_LMS_OPTIONAL_MODULE([video-dummy], true)
110 AC_LMS_OPTIONAL_MODULE([audio-dummy], true)
111 AC_LMS_OPTIONAL_MODULE([m3u], true)
112 AC_LMS_OPTIONAL_MODULE([ogg], true, [CHECK_MODULE_OGG])
113 AC_LMS_OPTIONAL_MODULE([pls], true)
114 AC_LMS_OPTIONAL_MODULE([asf], true)
115 AC_LMS_OPTIONAL_MODULE([rm], true)
116 AC_LMS_OPTIONAL_MODULE([mp4], true, [CHECK_MODULE_MP4])
117 AC_LMS_OPTIONAL_MODULE([id3], true)
118 AC_LMS_OPTIONAL_MODULE([flac], true, [CHECK_MODULE_FLAC])
119 AC_LMS_OPTIONAL_MODULE([wave], true)
120 AC_LMS_OPTIONAL_MODULE([generic], true, [CHECK_MODULE_GENERIC])
123 AC_ARG_ENABLE([daemon],
124 [AC_HELP_STRING([--disable-daemon],
125 [Disable DBus scanner daemon. @<:@default=enable@:>@])],
126 [build_daemon=${enableval}], [build_daemon=yes])
128 dbusservicedir="${datadir}/dbus-1/services"
129 AC_ARG_WITH([dbus-services],
130 [AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES],
131 [Specify a directory to store dbus service files.])],
132 [dbusservicedir=$withval])
133 AC_SUBST(dbusservicedir)
136 if test "$build_daemon" = "yes"; then
137 PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.32])
139 AM_CONDITIONAL([BUILD_DAEMON], [test "$build_daemon" = "yes"])
142 #####################################################################
143 # Default CFLAGS and LDFLAGS
144 #####################################################################
146 CC_CHECK_FLAGS_APPEND(with_cflags, [CFLAGS], [\
148 -DANOTHER_BRICK_IN_THE \
159 -Wmissing-include-dirs \
160 -Wformat-nonliteral \
161 -Wold-style-definition \
164 -Wdeclaration-after-statement \
166 -Wmissing-prototypes \
167 -Wstrict-prototypes \
169 -Wmissing-declarations \
173 -Wstrict-aliasing=2 \
176 -Wno-overlength-strings \
177 -Wno-unused-parameter \
178 -Wno-missing-field-initializers \
185 -fdiagnostics-show-option \
186 -fvisibility=hidden \
187 -ffunction-sections \
189 AC_SUBST([WARNINGFLAGS], $with_cflags)
192 CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [ \
195 AC_SUBST([GCLDFLAGS], $with_ldflags)
200 lightmediascanner.spec
201 org.lightmediascanner.service
213 echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
217 for mod in $OPTIONAL_MODULES; do
218 MODS="$MODS ${COLOR_HGREEN}+$mod${COLOR_END}"
220 MODS=$(txt_strip $MODS)
223 for mod in $UNUSED_OPTIONAL_MODULES; do
224 UNUSED_MODS="$UNUSED_MODS ${COLOR_HRED}-$mod${COLOR_END}"
226 UNUSED_MODS=$(txt_strip $UNUSED_MODS)
231 * project........: $PACKAGE $VERSION
232 * prefix.........: $(txt_strip $prefix)
233 * CFLAGS.........: $(txt_strip $CFLAGS)
236 echo -e " * modules........: $MODS $UNUSED_MODS"
237 echo -e " * daemon.........: ${build_daemon}"
238 echo -e " * use libmagic...: ${enable_magic}"