dnl Autoconf settings for vlc
-dnl $Id: configure.ac,v 1.167 2004/01/29 18:48:40 gbazin Exp $
+dnl $Id: configure.ac,v 1.186 2004/02/29 19:28:10 gbazin Exp $
-AC_INIT(vlc,0.7.1-cvs)
+AC_INIT(vlc,0.7.1)
CONFIGURE_LINE="$0 $*"
CODENAME="Bond"
dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.7.1-cvs)
+AM_INIT_AUTOMAKE(vlc,0.7.1)
AM_CONFIG_HEADER(config.h)
dnl
AM_PROG_CC_C_O
AC_PROG_CPP
AC_PROG_CXX
+AC_PROG_CXXCPP
AC_PROG_MAKE_SET
AC_PROG_INSTALL
;;
solaris*)
SYS=solaris
+ # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
+ # Perhaps it is useful other places as well?
+ CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
;;
hpux*)
SYS=hpux
AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
+AC_ARG_ENABLE(utf8,
+ [ --enable-utf8 unicode utf8 support (default enabled on darwin/beos/win32)])
+if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) )
+then
+ AC_DEFINE(ENABLE_UTF8, 1,
+ Define if you want utf8 support)
+fi
+
AC_MSG_CHECKING(for suffix of libraries)
AC_MSG_RESULT(${LIBEXT})
if test "${SYS}" != "mingw32"; then
AC_TYPE_SIGNAL
AC_CHECK_LIB(m,cos,[
- AX_ADD_LDFLAGS([adjust distort a52tofloat32],[-lm])
+ AX_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32],[-lm])
])
AC_CHECK_LIB(m,pow,[
AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad vlc],[-lm])
dnl default modules
dnl
AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys])
-AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 ts avi asf aac mp4 rawdv demux2 nsv real])
+AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff])
AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
AX_ADD_PLUGINS([aout_file])
#AX_ADD_PLUGINS([scope])
AX_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
-AX_ADD_PLUGINS([id3 m3u])
+AX_ADD_PLUGINS([id3 m3u playlist export])
AX_ADD_PLUGINS([rawvideo])
AX_ADD_PLUGINS([wav araw demuxdump demuxsub adpcm a52sys dtssys au])
AX_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
if test "${ac_cv_mmx_inline}" != "no"; then
+ AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
fi
AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
if test "${ac_cv_mmxext_inline}" != "no"; then
+ AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
fi
CFLAGS_TUNING="-mcpu=${with_tuning}"
fi
else
- if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then CFLAGS_TUNING="-mcpu=pentiumpro"
+ if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
+ CFLAGS_TUNING="-mcpu=pentiumpro"
else
if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
fi
dnl
AC_ARG_ENABLE(livedotcom,
[ --enable-livedotcom live.com input plugin (default disabled)])
-if test "${enable_livedotcom}" = "yes"
-then
+if test "${enable_livedotcom}" = "yes"; then
AC_ARG_WITH(livedotcom-tree,
- [ --with-livedotcom-tree=PATH live.com tree for static linking (required)])
+ [ --with-livedotcom-tree=PATH live.com tree for static linking])
dnl
dnl test for --with-livedotcom-tree
dnl
- if test "${with_livedotcom_tree}" != "no" -a -n "${with_livedotcom_tree}";then
+ if test -z "${with_livedotcom_tree}"; then
+ AC_LANG_PUSH(C++)
+ CPPFLAGS_save="${CPPFLAGS}"
+ CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
+ CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
+ AC_CHECK_HEADERS(liveMedia.hh, [
+ AX_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
+ AC_CHECK_LIB(liveMedia_pic, main, [
+ # We have -lliveMedia_pic, build plugins
+ AX_ADD_PLUGINS([livedotcom])
+ AX_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
+ ], [
+ AC_CHECK_LIB(liveMedia, main, [
+ # We only have -lliveMedia, do builtins
+ AX_ADD_BUILTINS([livedotcom])
+ AX_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
+ ])
+ ])
+ if test "${SYS}" = "mingw32"; then
+ # add ws2_32 for closesocket, select, recv
+ AX_ADD_LDFLAGS([livedotcom],[-lws2_32])
+ fi
+ ])
+ CPPFLAGS="${CPPFLAGS_save}"
+ AC_LANG_POP(C++)
+ else
AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
if test -z "${real_livedotcom_tree}"; then
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
fi
- else
- dnl The --with-livedotcom-tree isn't specified wasn't built
- AC_MSG_RESULT(no)
- AC_MSG_ERROR([You have to specify a tree with --with-livedotcom-tree])
fi
fi
AC_ARG_ENABLE(vcdx,
[ --enable-vcdx VCD support with Navigation (default enabled)])
+AC_ARG_ENABLE(cdda,
+ [ --enable-cdda CDDA plugin support (default enabled)])
+
if test "${enable_cddax}" != "no"
then
PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65,
dnl
AC_ARG_ENABLE(mkv,
[ --enable-mkv Matroska demux support (default enabled)])
-if test "${enable_mkv}" != "no"
-then
-AC_LANG_PUSH(C++)
- AC_CHECK_HEADERS(ebml/EbmlVersion.h matroska/KaxVersion.h, [
- AC_CHECK_HEADERS(matroska/KaxAttachments.h)
- AX_ADD_PLUGINS([mkv])
- AX_ADD_CXXFLAGS([mkv],[])
- AC_CHECK_LIB(ebml_pic,main,[
- # We have ebml_pic, that's good, we can build an mkv.so plugin !
- AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
- ],[
- AX_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
+if test "${enable_mkv}" != "no"; then
+ AC_LANG_PUSH(C++)
+ AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
+ AC_CHECK_HEADERS(matroska/KaxVersion.h, [
+ AC_CHECK_HEADERS(matroska/KaxAttachments.h)
+ AX_ADD_CXXFLAGS([mkv],[])
+ AC_CHECK_LIB(ebml_pic, main, [
+ # We have ebml_pic, that's good, we can build an mkv.so plugin !
+ AX_ADD_PLUGINS([mkv])
+ AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
+ ], [
+ AC_CHECK_LIB(ebml, main, [
+ # We only have libebml, make mkv.a a builtin
+ AX_ADD_BUILTINS([mkv])
+ AX_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
+ ])
+ ])
])
])
- CPPFLAGS="${CPPFLAGS_save}"
-AC_LANG_POP(C++)
+ AC_LANG_POP(C++)
+fi
+
+dnl
+dnl modplug demux plugin
+dnl
+AC_ARG_ENABLE(mod,
+ [ --enable-mod Mod demux support (default enabled)])
+if test "${enable_mod}" != "no"
+then
+ AC_CHECK_HEADERS(libmodplug/modplug.h, [
+ AX_ADD_PLUGINS([mod])
+ AX_ADD_CXXFLAGS([mod],[])
+ AX_ADD_LDFLAGS([mod],[-lmodplug])])
fi
dnl
dnl
dnl test for !(--with-ffmpeg-tree)
dnl
- if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}";then
+ if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
- AC_CHECK_HEADERS(ffmpeg/avcodec.h postproc/postprocess.h)
+ AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
+ AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
AC_CHECK_LIB(avcodec, avcodec_init, [
AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
AX_ADD_LDFLAGS([ffmpeg],[-lavcodec])
dnl
dnl test for --with-ffmpeg-tree
dnl
- if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}";then
+ if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
if test -z "${real_ffmpeg_tree}"; then
dnl
-dnl a52 AC3 decoder plugin
+dnl A52/AC3 decoder plugin
dnl
AC_ARG_ENABLE(a52,
[ --enable-a52 A/52 support with liba52 (default enabled)])
fi
fi
+dnl
+dnl DTS Coherent Acoustics decoder plugin
+dnl
+AC_ARG_ENABLE(dts,
+ [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
+if test "${enable_dts}" != "no"; then
+ AC_ARG_WITH(dts-tree,
+ [ --with-dts-tree=PATH libdts tree for static linking ],[],[])
+ if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
+ then
+ real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
+ if test -z "${real_dts_tree}"
+ then
+ dnl The given directory can't be found
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
+ fi
+ dnl Use a custom libdts
+ AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
+ if test -f ${real_dts_tree}/include/dts.h
+ then
+ AC_MSG_RESULT(yes)
+ AX_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
+ AX_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
+ AC_CHECK_LIB(dts, dts_free, [
+ AX_ADD_BUILTINS([dtstofloat32])
+ AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
+ ],[
+ if test -f ${real_dts_tree}/libdts/libdts.a
+ then
+ AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
+ else
+ AC_MSG_ERROR([the specified tree hasn't been compiled])
+ fi
+ ])
+ LDFLAGS="${LDFLAGS_save}"
+ else
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([the specified tree doesn't have dts.h])
+ fi
+ else
+ AC_CHECK_HEADERS(dts.h, [
+ AC_CHECK_LIB(dts, dts_free, [
+ AX_ADD_PLUGINS([dtstofloat32])
+ AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
+ ],[
+ if test "${enable_dts}" = "yes"; then
+ AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.])
+ fi
+ ])
+ ])
+ fi
+fi
+
dnl dnl
dnl dnl DV plugin
dnl dnl
AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs` ${LIBICONV}])
AC_CHECK_HEADERS(Carbon/Carbon.h,
[AX_ADD_LDFLAGS([freetype],[-framework Carbon])])
- CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}"
elif test "${enable_freetype}" = "yes"
then
AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2
if test "${XML2_CONFIG}" != "no"; then
AX_ADD_CPPFLAGS([skins2],[`${XML2_CONFIG} --cflags`])
AX_ADD_LDFLAGS([skins2],[`${XML2_CONFIG} --libs`])
+ dnl skins2 depends on the xmlTextReader extension
+ LDFLAGS="${LDFLAGS_save} ${LDFLAGS_skins2}"
+ AC_CHECK_LIB(xml2,xmlTextReaderConstName,[],[
+ skins2_missing_lib="yes"
+ AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
+ if test "${enable_skins2}" = "yes"; then
+ AC_MSG_ERROR([libxml2 missing the xmlTextReader extension (required for skins2)])
+ fi])
+ LDFLAGS="${LDFLAGS_save}"
else
skins2_missing_lib="yes"
if test "${enable_skins2}" = "yes"; then
dnl
dnl PDA Gtk+2 module
dnl
-#AC_ARG_ENABLE(pda,
-# [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
-#if test "x${enable_pda}" = "xyes"
-#then
- # PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
-# AX_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
-# AX_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
-# AX_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
-# AX_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
-# AX_ADD_PLUGINS([pda])
-# if test "${SYS}" != "mingw32"; then
-# NEED_GTK2_MAIN=yes
-# fi
-#fi
+AC_ARG_ENABLE(pda,
+ [ --enable-pda PDA interface needs Gtk2 support (default disabled)])
+if test "x${enable_pda}" = "xyes"
+then
+ PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
+ AX_ADD_CFLAGS([gtk2],[${GTK2_CFLAGS}])
+ AX_ADD_LDFLAGS([gtk2],[${GTK2_LIBS}])
+ AX_ADD_CFLAGS([pda],[${GTK2_CFLAGS} ${CFLAGS_pda}])
+ AX_ADD_LDFLAGS([pda],[${GTK2_LIBS} ${LDFLAGS_pda}])
+ AX_ADD_PLUGINS([pda])
+ if test "${SYS}" != "mingw32"; then
+ NEED_GTK2_MAIN=yes
+ fi
+fi
dnl
dnl Gnome module
dnl
dnl test for --with-goom-tree
dnl
- if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}";then
+ if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
if test -z "${real_goom_tree}"; then