summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2003-10-13 11:47:11 +0000
committerDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2003-10-13 11:47:11 +0000
commitbf6b1747ae4bad46dbbf5fa2189a18b45c1d6b38 (patch)
tree60ac612a5a60675173b00d73bf9aefc3b5085e34 /configure.ac
parentee3b51f5df1a50e02d43d7cf81fbef19f61aa942 (diff)
downloadxine-lib-bf6b1747ae4bad46dbbf5fa2189a18b45c1d6b38.tar.gz
xine-lib-bf6b1747ae4bad46dbbf5fa2189a18b45c1d6b38.tar.bz2
Add vcdx plugin(CVS) and dependent libs(no CVS, broken API).
Ability to use external libs (--with-external-vcdnav), disable vcdx build and build old vcd instead (--disable-vcdx). This last feature is useful since vcdx take /hours/ to start playback, that can help people who don't want vcd navigation. Remove all .la files, even in subdirs (eg: post) CVS patchset: 5505 CVS date: 2003/10/13 11:47:11
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac230
1 files changed, 228 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 0d8ed0a68..e18f94e90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -977,6 +977,218 @@ AM_CONDITIONAL(HAVE_DVDNAV, [test x"$no_dvdnav" != "xyes"])
dnl ---------------------------------------------
+dnl VCDx
+dnl ---------------------------------------------
+AC_ARG_ENABLE(vcdx,[ --disable-vcdx Do not compile VCDX plugin. Compile old VCD instead], enable_vcdx=no, enable_vcdx=yes)
+AC_ARG_WITH(external-vcdnav,[ --with-external-vcdnav Use external libcdio/libvcd libraries [[not recommended]]],
+ [external_vcdnav="yes"], [no_vcdnav="yes"; external_vcdnav="no"])
+
+if test x"$enable_vcdx" = "xyes"; then
+ dnl empty_array_size
+ AC_MSG_CHECKING([how to create empty arrays])
+
+ empty_array_size="xxx"
+ AC_TRY_COMPILE([],[struct { int foo; int bar[]; } doo;], empty_array_size="")
+
+ if test "x$empty_array_size" = "xxxx";then
+ AC_TRY_COMPILE([],[struct { int foo; int bar[0]; } doo;], empty_array_size="0")
+ fi
+
+ if test "x$empty_array_size" = "xxxx"
+ then
+ AC_MSG_ERROR([compiler is unable to creaty empty arrays])
+ else
+ AC_DEFINE_UNQUOTED(EMPTY_ARRAY_SIZE, $empty_array_size,
+ [what to put between the brackets for empty arrays])
+ changequote(`,')
+ msg="[${empty_array_size}]"
+ changequote([,])
+ AC_MSG_RESULT($msg)
+ fi
+ dnl empty_array_size
+
+ if test x"$external_vcdnav" = "xyes"; then
+ external_vcdnav="no"
+
+ if test x"$PKG_CONFIG" != "xno" ; then
+ AC_MSG_CHECKING(for libcdio)
+ if $PKG_CONFIG --atleast-version 0.61 libcdio; then
+ AC_MSG_RESULT(found)
+ LIBCDIO_CFLAGS=`$PKG_CONFIG --cflags libcdio`
+ LIBCDIO_LIBS=`$PKG_CONFIG --libs libcdio`
+
+ AC_MSG_CHECKING(for libvcdinfo)
+ if $PKG_CONFIG --atleast-version 0.7.17-cdio libvcdinfo; then
+ AC_MSG_RESULT(found)
+ LIBVCDINFO_CFLAGS=`$PKG_CONFIG --cflags libvcdinfo`
+ LIBVCDINFO_LIBS=`$PKG_CONFIG --libs libvcdinfo`
+ AC_DEFINE(HAVE_VCDNAV,1,[Define this if you have a suitable version of libcdio/libvcd])
+ external_vcdnav="yes"
+ no_vcdnav="no"
+ else
+ AC_MSG_RESULT([Use included VCDNAV support])
+ fi
+
+ else
+ AC_MSG_RESULT([Use included VCDNAV support])
+ fi
+ fi
+ fi
+
+ dnl check twice, fallback is internal copy
+ if test x"$external_vcdnav" != "xyes"; then
+ AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_os/$host_cpu", [host os/cpu identifier])
+ AC_CHECK_FUNCS(snprintf vsnprintf, , [AC_MSG_ERROR(required function not found)])
+
+ AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release)
+ AC_DEFINE(_GNU_SOURCE, [], enable GNU libc extension)
+ AC_STDC_HEADERS
+ AC_CHECK_HEADERS(sys/stat.h stdint.h glob.h inttypes.h stdbool.h)
+
+ if test "x$ac_cv_header_stdint_h" != "xyes"
+ then
+ AC_CHECK_SIZEOF(int, 4)
+ AC_CHECK_SIZEOF(long, 4)
+ AC_CHECK_SIZEOF(long long, 8)
+ fi
+
+ dnl ISOC99_PRAGMA
+ AC_MSG_CHECKING([whether $CC supports ISOC99 _Pragma()])
+ AC_TRY_COMPILE([],[_Pragma("pack(1)")], [
+ ISOC99_PRAGMA=yes
+ AC_DEFINE(HAVE_ISOC99_PRAGMA, [], [Supports ISO _Pragma() macro])
+ ],ISOC99_PRAGMA=no)
+ AC_MSG_RESULT($ISOC99_PRAGMA)
+
+ dnl bitfield order
+ AC_MSG_CHECKING(bitfield ordering in structs)
+ AC_TRY_RUN([
+int
+ main() {
+ struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+ __attribute__((packed))
+#endif
+ bf = { 1,1,1,1 };
+ if (sizeof (bf) != 1) return 1;
+ return *((unsigned char*) &bf) != 0x4b; }
+], bf_lsbf=1, AC_TRY_RUN([
+int
+main() {
+ struct { char bit_0:1, bit_12:2, bit_345:3, bit_67:2; }
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
+ __attribute__((packed))
+#endif
+ bf = { 1,1,1,1 };
+ if (sizeof (bf) != 1) return 1;
+ return *((unsigned char*) &bf) != 0xa5; }
+], bf_lsbf=0, AC_MSG_ERROR([unsupported bitfield ordering])))
+ if test "x$bf_lsbf" = "x1"; then
+ AC_MSG_RESULT(LSBF)
+ AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields])
+ else
+ AC_MSG_RESULT(MSBF)
+ fi
+
+ AC_HAVE_HEADERS( errno.h fcntl.h \
+ stdbool.h stdlib.h stdint.h stdio.h string.h \
+ strings.h linux/version.h sys/cdio.h sys/stat.h \
+ sys/types.h )
+
+ LIBCDIO_CFLAGS='-I$(top_srcdir)/src/input/vcd/libcdio'
+ LIBCDIO_LIBS='$(top_builddir)/src/input/vcd/libcdio/libcdio.la'
+ LIBISO9660_LIBS='$(top_builddir)/src/input/vcd/libcdio/libiso9660.la'
+ LIBVCD_CFLAGS='-I$(top_srcdir)/src/input/vcd/libvcd'
+ LIBVCD_LIBS='$(top_builddir)/src/input/vcd/libvcd/libvcd.la'
+ LIBVCDINFO_LIBS='$(top_builddir)/src/input/vcd/libvcd/libvcdinfo.la'
+
+ case $host_os in
+ darwin6*)
+ AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h,
+ [have_iokit_h="yes"])
+ if test "x$have_iokit_h" = "xyes" ; then
+ AC_DEFINE([HAVE_DARWIN_CDROM], [1],
+ [Define 1 if you have Darwin OS X-type CD-ROM support])
+ fi
+ ;;
+ linux*)
+ AC_CHECK_HEADERS(linux/version.h)
+ AC_CHECK_HEADERS(linux/cdrom.h, [have_linux_cdrom_h="yes"])
+ if test "x$have_linux_cdrom_h" = "xyes" ; then
+ AC_TRY_COMPILE(,[
+#include <linux/cdrom.h>
+struct cdrom_generic_command test;
+int has_timeout=sizeof(test.timeout);],
+ [AC_DEFINE([HAVE_LINUX_CDROM_TIMEOUT], [1],
+ [Define 1 if timeout is in cdrom_generic_command struct])])
+ AC_DEFINE([HAVE_LINUX_CDROM], [1],
+ [Define 1 if you have Linux-type CD-ROM support])
+ fi
+ ;;
+ bsdi*)
+ AC_CHECK_HEADERS(dvd.h, [have_bsdi_dvd_h="yes"])
+ if test "x$have_bsdi_dvd_h" = "xyes" ; then
+ AC_DEFINE([HAVE_BSDI_CDROM], [1],
+ [Define 1 if you have BSDI-type CD-ROM support])
+ fi
+ ;;
+ sunos*|sun*|solaris*)
+ AC_CHECK_HEADERS(sys/cdio.h)
+ AC_DEFINE([HAVE_SOLARIS_CDROM], [1],
+ [Define 1 if you have Solaris CD-ROM support])
+ ;;
+ cygwin*)
+ AC_DEFINE([CYGWIN], [1],
+ [Define 1 if you are compiling using cygwin])
+ AC_DEFINE([HAVE_WIN32_CDROM], [1],
+ [Define 1 if you have MinGW CD-ROM support])
+ ;;
+ mingw*)
+ AC_DEFINE([MINGW32], [1],
+ [Define 1 if you are compiling using MinGW])
+ AC_DEFINE([HAVE_WIN32_CDROM], [1],
+ [Define 1 if you have MinGW CD-ROM support])
+ ;;
+ freebsd4.*)
+ AC_DEFINE([HAVE_FREEBSD_CDROM], [1],
+ [Define 1 if you have FreeBSD CD-ROM support])
+ ;;
+ *)
+ AC_MSG_WARN(Don't have OS CD-reading support for ${host_os}...)
+ AC_MSG_WARN(Will use generic support.)
+ ;;
+ esac
+ AC_SUBST(LINUX_CDROM_TIMEOUT)
+ AC_SUBST(HAVE_BSDI_CDROM)
+ AC_SUBST(HAVE_DARWIN_CDROM)
+ AC_SUBST(HAVE_FREEBSD_CDROM)
+ AC_SUBST(HAVE_LINUX_CDROM)
+ AC_SUBST(HAVE_SOLARIS_CDROM)
+ AC_SUBST(HAVE_WIN32_CDROM)
+ AC_SUBST(LINUX_CDROM_TIMEOUT)
+ AC_SUBST(LIBVCD_SYSDEP)
+
+ AC_CHECK_FUNCS( bzero memcpy )
+
+ AC_CHECK_MEMBER([struct tm.tm_gmtoff],
+ [AC_DEFINE(HAVE_TM_GMTOFF, 1,
+ [Define if struct tm has the tm_gmtoff member.])],
+ ,
+ [#include <time.h>])
+ fi
+fi
+
+AC_SUBST(LIBCDIO_CFLAGS)
+AC_SUBST(LIBCDIO_LIBS)
+AC_SUBST(LIBISO9660_LIBS)
+AC_SUBST(LIBVCD_CFLAGS)
+AC_SUBST(LIBVCD_LIBS)
+AC_SUBST(LIBVCDINFO_LIBS)
+AM_CONDITIONAL(HAVE_VCDNAV, [test x"$no_vcdnav" != "xyes"])
+AM_CONDITIONAL(ENABLE_VCDX, [test x"$enable_vcdx" = "xyes"])
+
+
+dnl ---------------------------------------------
dnl ASF build can be optional
dnl ---------------------------------------------
@@ -1494,7 +1706,7 @@ dnl ---------------------------------------------
dnl some include paths ( !!! DO NOT REMOVE !!! )
dnl ---------------------------------------------
-INCLUDES='-I$(top_srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_builddir)/src/xine-engine -I$(top_srcdir)/src/xine-engine -I$(top_srcdir)/src/xine-utils $(INTLDIR)'
+INCLUDES='-I$(top_srcdir) -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_builddir)/src/xine-engine -I$(top_srcdir)/src/xine-engine -I$(top_srcdir)/src/xine-utils $(INTLDIR) -I$(top_builddir)/src/input -I$(top_srcdir)/src/input'
AC_SUBST(INCLUDES)
@@ -1565,6 +1777,11 @@ src/input/libdvdnav/Makefile
src/input/dvb/Makefile
src/input/librtsp/Makefile
src/input/libreal/Makefile
+src/input/vcd/Makefile
+src/input/vcd/libcdio/Makefile
+src/input/vcd/libcdio/cdio/Makefile
+src/input/vcd/libvcd/Makefile
+src/input/vcd/libvcd/libvcd/Makefile
src/liba52/Makefile
src/libdts/Makefile
src/libfaad/Makefile
@@ -1659,7 +1876,16 @@ echo " - http - mms"
echo " - pnm - rtsp"
echo " - dvb"
if test x"$have_cdrom_ioctls" = "xyes"; then
- echo " - dvd - vcd"
+ echo " - dvd"
+ if test x"$enable_vcdx" = "xyes"; then
+ if test x"$external_vcdnav" = "xyes"; then
+ echo " - vcdx (external libs)"
+ else
+ echo " - vcdx (internal libs)"
+ fi
+ else
+ echo " - vcd"
+ fi
echo " - cdda"
fi
if test x"$no_gnome_vfs" = "xno"; then