diff options
-rw-r--r-- | configure.ac | 770 | ||||
-rw-r--r-- | m4/Makefile.am | 5 | ||||
-rw-r--r-- | m4/macosx.m4 | 64 | ||||
-rw-r--r-- | m4/pthreads.m4 | 25 | ||||
-rw-r--r-- | m4/summary.m4 | 437 | ||||
-rw-r--r-- | m4/vcd.m4 | 230 |
6 files changed, 767 insertions, 764 deletions
diff --git a/configure.ac b/configure.ac index 883b403b9..c82876823 100644 --- a/configure.ac +++ b/configure.ac @@ -102,54 +102,7 @@ test "$host" == "$build" && check_athlon=yes AC_CONFIG_HEADERS([config.h]) -AC_ARG_ENABLE([macosx-universal], - AS_HELP_STRING([--enable-macosx-universal], [build a Mac OS X univeral binary (ppc and x86)]), - [], [enable_macosx_universal="no"]) -if test x"$enable_macosx_universal" != x"no" ; then - case "$host_os" in - *darwin*) - dnl x64_64 and ppc64 binaries could also be built, but there is no - dnl version of Mac OS X currently shipping that can run them, so - dnl do not enable them by default for now. - if test x"$enable_macosx_universal" = x"yes" ; then - UNIVERSAL_ARCHES="i386 ppc" - else - UNIVERSAL_ARCHES=`echo "$enable_macosx_universal" | sed -e 's/,/ /g'` - fi - ;; - *) - AC_MSG_ERROR([Universal binaries can only be built on Darwin]) - ;; - esac - - UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk" - UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" - if test x"$UNIVERSAL_ARCHES" != x"" ; then - # Forcibly disable dependency tracking for Universal builds, because -M - # does not work with multiple -arch arguments on the gcc command-line. - ac_tool_warned=yes - cross_compiling=yes - enable_dependency_tracking=no - host="`echo $host | sed -e s/$host_cpu/universal/g`" - host_cpu=universal - - CFLAGS="$CFLAGS $UNIVERSAL_CFLAGS" - OBJCFLAGS="$OBJCFLAGS $UNIVERSAL_CFLAGS" - LDFLAGS="$LDFLAGS $UNIVERSAL_LDFLAGS" - AC_DEFINE(XINE_MACOSX_UNIVERSAL_BINARY, 1, [Define this if a universal binary is being built for Mac OS X]) - for arch in $UNIVERSAL_ARCHES ; do - UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -arch $arch" - UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -arch $arch" - CFLAGS="$CFLAGS -arch $arch" - OBJCFLAGS="$OBJCFLAGS -arch $arch" - LDFLAGS="$LDFLAGS -arch $arch" - done - fi -fi -AM_CONDITIONAL([MACOSX_UNIVERSAL_BINARY], [test x"$enable_macosx_universal" = x"yes"]) -AC_SUBST(UNIVERSAL_ARCHES) -AC_SUBST(UNIVERSAL_CFLAGS) -AC_SUBST(UNIVERSAL_LDFLAGS) +MACOSX_UNIVERSAL_BINARIES dnl --------------------------------------------- @@ -266,35 +219,8 @@ dnl --------------------------------------------- dnl threads and OS specific stuff dnl --------------------------------------------- -CC_PTHREAD_FLAGS(, [AC_MSG_ERROR([Pthread support is needed])]) - -dnl -AC_MSG_CHECKING(for recursive mutex support in pthread) -ac_save_LIBS="$LIBS" -LIBS="$LIBS $PTHREAD_LIBS" - -have_recursive_mutex=no -AC_COMPILE_IFELSE(AC_LANG_SOURCE([#include <pthread.h> - -int main() { - pthread_mutexattr_t attr; - pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - return 0; -} - ]),[ - have_recursive_mutex=yes - ],[ - AC_MSG_ERROR(recursive mutex support is needed - please report) - ]) -LIBS="$ac_save_LIBS" - -AC_MSG_RESULT($have_recursive_mutex) - -AC_CHECK_DECL(sysi86,[ - AC_DEFINE(HAVE_SYSI86,1,[Define this if the 'sysi86' function is declared in sys/sysi86.h]) - ],,[ -#include <sys/sysi86.h> -]) +CC_PTHREAD_FLAGS([], [AC_MSG_ERROR([Pthread support is needed])]) +CC_PTHREAD_RECURSIVE_MUTEX([], [AC_MSG_ERROR([recursive mutex support is needed - please report])]) dnl --------------------------------------------- dnl Windows ports checks @@ -1014,18 +940,14 @@ dnl --------------------------------------------- dnl Check whether to build Mac OS X video output driver dnl --------------------------------------------- -AC_ARG_ENABLE(macosx_video, AS_HELP_STRING([--enable-macosx-video], [enable support for Mac OS X OpenGL video output]), - have_macosx_video=$enableval) -AM_CONDITIONAL(HAVE_MACOSX_VIDEO, [test "x$have_macosx_video" = "xyes"]) +MACOSX_VIDEO_SUPPORT dnl --------------------------------------------- dnl Check whether to build Mac OS X audio output driver dnl --------------------------------------------- -AC_ARG_ENABLE(coreaudio, AS_HELP_STRING([--enable-coreaudio], [enable support for Mac OS X Coreaudio output]), - have_coreaudio=$enableval) -AM_CONDITIONAL(HAVE_COREAUDIO, [test "x$have_coreaudio" = "xyes"]) +MACOSX_AUDIO_SUPPORT dnl --------------------------------------------- @@ -1731,248 +1653,7 @@ dnl --------------------------------------------- dnl Video CD dnl --------------------------------------------- -AC_ARG_ENABLE(vcd, AS_HELP_STRING([--disable-vcd], [do not compile VCD plugin]), - enable_vcd=$enableval, enable_vcd=yes) - -dnl Force build of both vcd plugins, for now. -dnl AC_ARG_ENABLE(vcdo, AS_HELP_STRING([--disable-vcdo], [do not compile old VCD plugin]), -dnl enable_vcdo=$enableval, enable_vcdo=yes) -dnl -enable_vcdo="yes" - -AC_ARG_WITH(internal-vcdlibs, AS_HELP_STRING([--with-internal-vcdlibs], [force using internal libcdio/libvcd/libvcdinfo]), - [internal_vcdnav="$withval"], [internal_vcdnav="no"]) - -if test "x$enable_vcd" = "xyes"; then - dnl empty_array_size - AC_MSG_CHECKING([how to create empty arrays]) - - empty_array_size="xxx" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[struct { int foo; int bar[]; } doo;]])],[empty_array_size=""],[]) - - if test "x$empty_array_size" = "xxxx";then - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[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$internal_vcdnav" = "xno" ; then - PKG_CHECK_MODULES([LIBCDIO], [libcdio >= 0.71], [], [internal_vcdnav=yes]) - PKG_CHECK_MODULES([LIBVCDINFO], [libvcdinfo >= 0.7.23], [], [internal_vcdnav=yes]) - if test "x$internal_vcdnav" = "xyes"; then - AC_MSG_RESULT([Use included libcdio/libvcdinfo support]) - fi - fi - - dnl check twice, fallback is internal copy - if test "x$internal_vcdnav" = "xno"; then - AC_DEFINE([HAVE_VCDNAV], [1], [Define this if you use external libcdio/libvcdinfo]) - else - AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_os/$host_cpu", [host os/cpu identifier]) - - AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release) - AC_HEADER_STDC - 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[_Pragma("pack(1)")]])],[ - ISOC99_PRAGMA=yes - AC_DEFINE(HAVE_ISOC99_PRAGMA, [], [Supports ISO _Pragma() macro]) - ],[ISOC99_PRAGMA=no]) - AC_MSG_RESULT($ISOC99_PRAGMA) - - dnl - dnl bitfield order - dnl - AC_MSG_CHECKING([bitfield ordering in structs]) - - dnl basic compile test for all platforms - AC_COMPILE_IFELSE([ -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 }; - switch (0) case 0: case sizeof(bf) == 1:; - return 0; -} -], [], AC_MSG_ERROR([compiler doesn't support bitfield structs])) - - - dnl run test - AC_RUN_IFELSE([ -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_RUN_IFELSE([ -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])) - ], - [case "$host" in - *-*-mingw32* | *-*-cygwin*) - bf_lsbf=1 - ;; - universal-*-darwin*) - bf_lsbf=0 - ;; - *) - AC_MSG_RESULT([unknown]) - AC_MSG_ERROR([value of bitfield test isn't known for $host -********************************************************************* -Value of bitfield test can't be found out for cross-compiling and we -don't know its value for host "$host". - -Because it's needed for VCD plugin, disable VCD by configure option ---disable-vcd or use external VCD library. -*********************************************************************]) - esac] -) - - if test "x$cross_compiling" = "xyes"; then - TEXT=" (guessed)" - else - TEXT="" - fi - if test "x$bf_lsbf" = "x1"; then - AC_MSG_RESULT(LSBF${TEXT}) - AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields]) - else - AC_MSG_RESULT(MSBF${TEXT}) - fi - - AC_CHECK_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 - darwin*) - 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ -#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]) - LIBCDIO_LIBS="$LIBCDIO_LIBS -lwinmm" - LIBVCD_LIBS="$LIBVCD_LIBS -lwinmm" - ;; - 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_DEFINE([LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) -AC_DEFINE([EXTERNAL_LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) -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$internal_vcdnav" = "xno"]) -AM_CONDITIONAL(ENABLE_VCD, [test "x$enable_vcd" = "xyes"]) +VCD_SUPPORT dnl --------------------------------------------- @@ -2110,9 +1791,6 @@ dnl ip_mreqn dnl --------------------------------------------- AC_CHECK_IP_MREQN -if test "x$have_ip_mreqn" = "xyes"; then - AC_DEFINE(HAVE_IP_MREQN,1,[Define this if you have ip_mreqn in netinet/in.h]) -fi dnl --------------------------------------------- dnl restrict keyword finding (from gstreamer) @@ -2762,438 +2440,4 @@ cat libtool | sed -e '/sys_lib_search_path_spec=/s/\/\([[ "]]\)/\1/g' > libtool. mv -f libtool.tmp libtool chmod +x libtool -dnl --------------------------------------------- -dnl Some infos: -dnl --------------------------------------------- - -echo "xine-lib summary:" -echo "----------------" - -dnl Input -echo " * input plugins:" -echo " - file - net" -echo " - stdin_fifo - rtp" -echo " - http - mms" -echo " - pnm - rtsp" -echo " - dvb" -if test "x$external_dvdnav" = "xyes"; then - echo " - dvd (external libs)" -else - echo " - dvd (internal libs)" -fi -if test "x$have_cdrom_ioctls" = "xyes"; then - if test "x$enable_vcd" = "xyes"; then - if test "x$internal_vcdnav" = "xno"; then - echo " - vcd (external libs)" - else - echo " - vcd (internal libs)" - fi - fi - echo " - vcdo" - echo " - cdda" -fi -if test "x$no_gnome_vfs" = "xno"; then - echo " - gnome-vfs" -fi -if test "x$have_v4l" = "xyes"; then - echo " - v4l" -fi -if test "x$have_libsmbclient" = "xyes"; then - echo " - smbclient" -fi -echo "" - -dnl Demuxers -echo " * demultiplexer plugins:" -echo " - avi - mpeg" -echo " - mpeg_block - mpeg_audio" -echo " - mpeg_elem - mpeg_pes" -echo " - mpeg_ts - qt/mpeg-4" -echo " - film - roq" -echo " - fli - smjpeg" -echo " - idcin - wav" -echo " - wc3 mve - voc" -echo " - vqa - aiff" -echo " - cdda - snd/au" -echo " - yuv4mpeg2 - real/realaudio" -echo " - ea wve - raw dv" -echo " - interplay mve - psx str" -echo " - ws aud - pva" -echo " - vox - nsf" -echo " - nsv - 4xm" -echo " - FLAC - aac" -echo " - iff - matroska" -echo " - vmd - flv" -if test "x$enable_asf" = "xyes"; then - echo " - asf" -fi -if test "x$have_vorbis" = "xyes"; then - echo " - ogg" -fi -if test "x$have_libmng" = "xyes"; then - echo " - mng" -fi -if test "x$enable_modplug" != x"no"; then - echo " - mod" -fi -if test "x$have_libflac" = "xyes"; then - echo " - FLAC (with libFLAC)" -fi -if test "x$have_wavpack" = "xyes"; then - echo " - WavPack" -fi -if test "x$enable_a52dec" = "xyes"; then - if test "x$have_a52" = "xyes"; then - echo " - ac3 (external library)" - else - echo " - ac3 (internal library)" - fi -fi -echo "" - -dnl video decoders -echo " * video decoder plugins:" -echo " - MPEG 1,2 - Amiga Bitplane" -echo " - Raw RGB - Raw YUV" -if test "x$with_external_ffmpeg" = "xyes"; then - echo " - ffmpeg (external library):" -else - echo " - ffmpeg (internal library):" -fi -echo " - MPEG-4 (ISO, Microsoft, DivX*, XviD)" -echo " - Creative YUV - Motion JPEG" -echo " - Cinepak - MS Video-1" -echo " - FLI/FLC - MS RLE" -echo " - Id RoQ - Id Cin" -echo " - Apple Graphics - Apple Video" -echo " - Apple Animation - Interplay Video" -echo " - Westwood VQA - Origin Xan" -echo " - H.263 - Intel Indeo 3" -echo " - SVQ1 - SVQ3" -echo " - Real Video 1.0 - Real Video 2.0" -echo " - 4X Video - Sierra Video" -echo " - Asus v1/v2 - HuffYUV" -echo " - On2 VP3 - DV" -echo " - 8BPS - Duck TrueMotion v1" -echo " - ATI VCR1 - Flash Video" -echo " - ZLIB - MSZH" -if test "x$have_dxr3" = "xyes"; then - echo " - dxr3_video" -fi -if test "x$enable_w32dll" = "xyes"; then - echo " - w32dll" -fi -if test "x$have_imagemagick" = "xyes"; then - echo " - image" -fi -if test x"no_gdkpixbuf" != "xyes"; then - echo " - gdk-pixbuf" -fi -if test "x$have_theora" = "xyes"; then - echo " - theora" -fi -echo "" - -dnl audio decoders -echo " * audio decoder plugins:" -echo " - GSM 06.10" -echo " - linear PCM - Nosefart (NSF)" -if test "x$with_external_ffmpeg" = "xyes"; then - echo " - ffmpeg (external library):" -else - echo " - ffmpeg (internal library):" -fi -echo " - Windows Media Audio v1/v2" -echo " - DV - logarithmic PCM" -echo " - 14k4 - 28k8" -echo " - MS ADPCM - IMA ADPCM" -echo " - XA ADPCM - Game DPCM/ADPCM" -echo " - Mace 3:13 - Mace 6:1" -echo " - FLAC" -if test "x$have_libflac" = "xyes"; then - echo " - FLAC (with libFLAC)" -fi -if test "x$have_vorbis" = "xyes"; then - echo " - vorbis" -fi -if test "x$have_speex" = "xyes"; then - echo " - speex" -fi -if test "x$enable_w32dll" = "xyes"; then - echo " - w32dll" -fi -if test "x$enable_faad" = "xyes"; then - echo " - faad" -fi -if test "x$enable_libmad" = "xyes"; then - if test "x$have_mad" = "xyes"; then - echo " - MAD (MPG 1/2/3) (external library)" - else - echo " - MAD (MPG 1/2/3) (internal library)" - fi -fi -if test "x$enable_libdts" = "xyes"; then - if test "x$have_dts" = "xyes"; then - echo " - DTS (external library)" - else - echo " - DTS (internal library)" - fi -fi -if test "x$enable_a52dec" = "xyes"; then - if test "x$have_a52" = "xyes"; then - echo " - A52/ra-dnet (external library)" - else - echo " - A52/ra-dnet (internal library)" - fi -fi -if test "x$enable_musepack" != "xno"; then - if test "x$have_mpcdec" = "xyes"; then - echo " - MusePack (external library)" - else - echo " - MusePack (internal library)" - fi -fi -if test "x$have_wavpack" = "xyes"; then - echo " - WavPack" -fi -echo "" - -dnl spu decoders -echo " * subtitle decoder plugins:" -echo " - spu - spucc" -echo " - spucmml - sputext" -echo " - spudvb" -if test "x$have_dxr3" = "xyes"; then - echo " - dxr3_spu" -fi -echo "" - -dnl post plugins -echo " * post effect plugins:" -echo " * planar video effects:" -echo " - invert - expand" -echo " - eq - eq2" -echo " - boxblur - denoise3d" -echo " - unsharp - tvtime" -echo " * SFX:" -echo " - goom - oscope" -echo " - fftscope - mosaico" -echo "" - -dnl Video plugins -echo " * video driver plugins:" -if test "x$no_x" != "xyes"; then - echo " - XShm (X11 shared memory)" - dnl synfb - if test "x$enable_syncfb" != "xno"; then - echo " - SyncFB (for Matrox G200/G400 cards)" - fi - dnl Xv - if test "x$ac_have_xv" = "xyes"; then - if test "x$ac_have_xv_static" = "xyes"; then - echo " - Xv (XVideo *static*)" - else - echo " - Xv (XVideo *shared*)" - fi - fi - dnl XxMC - if test "x$ac_have_xxmc" = "xyes"; then - if test "x$ac_have_vldxvmc_h" = "xyes"; then - echo " - XxMC (XVideo extended motion compensation)" - else - echo " - XxMC (XVideo motion compensation - vld extensions DISABLED)" - fi - fi - dnl XvMC - if test "x$ac_have_xvmc" = "xyes"; then - echo " - XvMC (XVideo motion compensation)" - fi - if test "x$ac_have_opengl" = "xyes" -a "x$ac_have_glut" = "xyes" -o \ - x$"ac_have_opengl" = "xyes" -a "x$ac_have_glu" = "xyes"; then - echo " - OpenGL" - fi - if test "x$ac_have_sunfb" = "xyes"; then - if test "x$ac_have_sundga" = "xyes"; then - echo " - PGX64 (for Sun XVR100/PGX64/PGX24 cards)" - echo " - PGX32 (for Sun PGX32 cards)" - fi - fi -fi -if test "x$have_xcb" = "xyes"; then - dnl xcb-shm - if test "x$have_xcbshm" = "xyes"; then - echo " - xcb-shm (X shared memory using XCB)" - fi - dnl xcb-xv - if test "x$have_xcbxv" = "xyes"; then - echo " - xcb-xv (XVideo using XCB)" - fi -fi -if test "x$no_aalib" != "xyes"; then - echo " - aa (Ascii ART)" -fi -if test "x$have_caca" = "xyes"; then - echo " - caca (Color AsCii Art)" -fi -if test "x$have_fb" = "xyes"; then - echo " - fb (Linux framebuffer device)" -fi -if test "x$have_sdl" = "xyes"; then - echo " - sdl (Simple DirectMedia Layer)" -fi -if test "x$have_libstk" = "xyes"; then - echo " - stk (Libstk Set-top Toolkit)" -fi -if test "x$have_directfb" = "xyes"; then - echo " - directfb (DirectFB driver)" -fi -if test "x$have_dxr3" = "xyes"; then - if test "x$have_encoder" = "xyes"; then - echo " - dxr3 (Hollywood+ and Creative dxr3, both mpeg and non-mpeg video)" - else - echo " - dxr3 (Hollywood+ and Creative dxr3, mpeg video only)" - fi -fi -if test "x$enable_vidix" = "xyes"; then - echo $ECHO_N " - vidix (" - - if test "x$no_x" != "xyes"; then - echo $ECHO_N "X11" - if test "x$have_fb" = "xyes"; then - echo $ECHO_N " and " - fi - fi - - if test "x$have_fb" = "xyes"; then - echo $ECHO_N "framebuffer" - fi - - echo $ECHO_N " support" - - if test "x$enable_dha_kmod" = "xyes"; then - echo " with dhahelper)" - else - echo ")" - fi -fi -if test "x$have_directx" = "xyes"; then - echo " - directx (DirectX video driver)" -fi -if test "x$have_macosx_video" = "xyes"; then - echo " - Mac OS X OpenGL" -fi - -echo "" - -dnl Audio plugins -echo " * audio driver plugins:" -if test "x$have_ossaudio" = "xyes"; then - echo " - oss (Open Sound System)" -fi -if test "x$have_alsa" = "xyes"; then - echo " - alsa" -fi -if test "x$have_esound" = "xyes"; then - echo " - esd (Enlightened Sound Daemon)" -fi -if test "x$no_arts" != "xyes"; then - echo " - arts (aRts - KDE soundserver)" -fi -if test "x$no_fusionsound" != "xyes"; then - echo " - fusionsound (FusionSound driver)" -fi -if test "x$have_sunaudio" = "xyes"; then - echo " - sun ()" -fi -if test "x$am_cv_have_irixal" = xyes; then - echo " - irixal (Irix audio library)" -fi -if test "x$have_directx" = "xyes"; then - echo " - directx (DirectX audio driver)" -fi -if test "x$have_coreaudio" = "xyes"; then - echo " - CoreAudio (Mac OS X audio driver)" -fi -if test "x$have_pulseaudio" = "xyes"; then - echo " - pulseaudio sound server" -fi -if test "x$have_jack" = "xyes"; then - echo " - Jack" -fi -echo "---" - - -dnl --------------------------------------------- -dnl some user warnings -dnl --------------------------------------------- - -dnl some levels of variable expansion to get final install paths -final_libdir="`eval eval eval eval echo $libdir`" -final_bindir="`eval eval eval eval echo $bindir`" - -if test -r /etc/ld.so.conf && ! grep -x "$final_libdir" /etc/ld.so.conf >/dev/null ; then - if test "$final_libdir" != "/lib" -a "$final_libdir" != "/usr/lib" ; then - if ! echo "$LD_LIBRARY_PATH" | egrep "(:|^)$final_libdir(/?:|/?$)" >/dev/null ; then - echo - echo "****************************************************************" - echo "xine-lib will be installed to $final_libdir" - echo - echo "This path is not mentioned among the linker search paths in your" - echo "/etc/ld.so.conf. This means it is possible that xine-lib will" - echo "not be found when you try to compile or run a program using it." - echo "If this happens, you should add $final_libdir to" - echo "the environment variable LD_LIBRARY_PATH like that:" - echo - echo "export LD_LIBRARY_PATH=$final_libdir:\$LD_LIBRARY_PATH" - echo - echo "Alternatively you can add a line \"$final_libdir\"" - echo "to your /etc/ld.so.conf." - echo "****************************************************************" - echo - fi - fi -fi - -if ! echo "$PATH" | egrep "(:|^)$final_bindir(/?:|/?$)" >/dev/null ; then - echo - echo "****************************************************************" - echo "xine-config will be installed to $final_bindir" - echo - echo "This path is not in your search path. This means it is possible" - echo "that xine-config will not be found when you try to compile a" - echo "program using xine-lib. This will result in build failures." - echo "If this happens, you should add $final_bindir to" - echo "the environment variable PATH like that:" - echo - echo "export PATH=$final_bindir:\$PATH" - echo - echo "Note that this is only needed for compilation. It is not needed" - echo "to have xine-config in your search path at runtime. (Although" - echo "it will not cause any harm either.)" - echo "****************************************************************" - echo -fi - -dnl warn if no X11 plugins will be built -if test "x$no_x" = "xyes"; then - case $host in - *mingw*|*-cygwin) ;; - *-darwin*) ;; - *) - echo - echo "****************************************************************" - echo "WARNING! No X11 output plugins will be built." - echo - echo "For some reason, the requirements for building the X11 video" - echo "output plugins are not met. That means, that you will NOT be" - echo "able to use the resulting xine-lib to watch videos in a window" - echo "on any X11-based display (e.g. your desktop)." - echo - echo "If this is not what you want, provide the necessary X11 build" - echo "dependencies (usually done by installing a package called" - echo "XFree86-devel or similar) and run configure again." - echo "****************************************************************" - echo - ;; - esac -fi +XINE_LIB_SUMMARY diff --git a/m4/Makefile.am b/m4/Makefile.am index 2aaa677da..10ac6f002 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -22,11 +22,14 @@ EXTRA_DIST = \ irixal.m4 \ libFLAC.m4 \ libfame.m4 \ + macosx.m4 \ opengl.m4 \ optimizations.m4 \ pkg.m4 \ pthreads.m4 \ symbol.m4 \ + summary.m4 \ xine.m4 \ _xine.m4 \ - xv.m4 + xv.m4 \ + vcd.m4 diff --git a/m4/macosx.m4 b/m4/macosx.m4 new file mode 100644 index 000000000..bcc40f0dc --- /dev/null +++ b/m4/macosx.m4 @@ -0,0 +1,64 @@ +AC_DEFUN([MACOSX_UNIVERSAL_BINARIES], [ + AC_ARG_ENABLE([macosx-universal], + AS_HELP_STRING([--enable-macosx-universal], [build universal binaries for Mac OS X)]), + [], [enable_macosx_universal="no"]) + if test x"$enable_macosx_universal" != x"no" ; then + case "$host_os" in + *darwin*) + dnl x64_64 and ppc64 binaries could also be built, but there is no + dnl version of Mac OS X currently shipping that can run them, so + dnl do not enable them by default for now. + if test x"$enable_macosx_universal" = x"yes" ; then + UNIVERSAL_ARCHES="i386 ppc" + else + UNIVERSAL_ARCHES=`echo "$enable_macosx_universal" | sed -e 's/,/ /g'` + fi + ;; + *) + AC_MSG_ERROR([Universal binaries can only be built on Darwin]) + ;; + esac + + UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk" + UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" + if test x"$UNIVERSAL_ARCHES" != x"" ; then + # Forcibly disable dependency tracking for Universal builds, because -M + # does not work with multiple -arch arguments on the gcc command-line. + ac_tool_warned=yes + cross_compiling=yes + enable_dependency_tracking=no + host="`echo $host | sed -e s/$host_cpu/universal/g`" + host_cpu=universal + + CFLAGS="$CFLAGS $UNIVERSAL_CFLAGS" + OBJCFLAGS="$OBJCFLAGS $UNIVERSAL_CFLAGS" + LDFLAGS="$LDFLAGS $UNIVERSAL_LDFLAGS" + AC_DEFINE(XINE_MACOSX_UNIVERSAL_BINARY, 1, [Define this if a universal binary is being built for Mac OS X]) + for arch in $UNIVERSAL_ARCHES ; do + UNIVERSAL_CFLAGS="$UNIVERSAL_CFLAGS -arch $arch" + UNIVERSAL_LDFLAGS="$UNIVERSAL_LDFLAGS -arch $arch" + CFLAGS="$CFLAGS -arch $arch" + OBJCFLAGS="$OBJCFLAGS -arch $arch" + LDFLAGS="$LDFLAGS -arch $arch" + done + fi + fi + AM_CONDITIONAL([MACOSX_UNIVERSAL_BINARY], [test x"$enable_macosx_universal" = x"yes"]) + AC_SUBST(UNIVERSAL_ARCHES) + AC_SUBST(UNIVERSAL_CFLAGS) + AC_SUBST(UNIVERSAL_LDFLAGS) +])dnl MACOSX_UNIVERSAL_BINARIES + +AC_DEFUN([MACOSX_AUDIO_SUPPORT], [ + AC_ARG_ENABLE([coreaudio], + AS_HELP_STRING([--enable-coreaudio], [enable support for Mac OS X CoreAudio output]), + [have_coreaudio="$enableval"], [have_coreaudio="no"]) + AM_CONDITIONAL([HAVE_COREAUDIO], [test x"$have_coreaudio" = x"yes"]) +])dnl MACOSX_AUDIO_SUPPORT + +AC_DEFUN([MACOSX_VIDEO_SUPPORT], [ + AC_ARG_ENABLE([macosx-video], + AS_HELP_STRING([--enable-macosx-video], [enable support for Mac OS X OpenGL video output]), + [have_macosx_video="$enableval"], [have_macosx_video="no"]) + AM_CONDITIONAL([HAVE_MACOSX_VIDEO], [test x"$have_macosx_video" = x"yes"]) +])dnl MACOSX_VIDEO_SUPPORT diff --git a/m4/pthreads.m4 b/m4/pthreads.m4 index 363a8b4b2..d68cd13c8 100644 --- a/m4/pthreads.m4 +++ b/m4/pthreads.m4 @@ -61,3 +61,28 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ ifelse([$2], , [:], [$2]) fi ]) + +AC_DEFUN([CC_PTHREAD_RECURSIVE_MUTEX], [ + AC_REQUIRE([CC_PTHREAD_FLAGS]) + AC_MSG_CHECKING([for recursive mutex support in pthread]) + + ac_save_LIBS="$LIBS" + LIBS="$LIBS $PTHREAD_LIBS" + AC_COMPILE_IFELSE(AC_LANG_SOURCE([#include <pthread.h> + +int main() { + pthread_mutexattr_t attr; + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + return 0; +} + ]), [have_recursive_mutex=yes], [have_recursive_mutex=no]) + LIBS="$ac_save_LIBS" + + AC_MSG_RESULT([$have_recursive_mutex]) + + if test x"$have_recursive_mutex" = x"yes"; then + ifelse([$1], , [:], [$1]) + else + ifelse([$2], , [:], [$2]) + fi +]) diff --git a/m4/summary.m4 b/m4/summary.m4 new file mode 100644 index 000000000..9bebcde27 --- /dev/null +++ b/m4/summary.m4 @@ -0,0 +1,437 @@ +AC_DEFUN([XINE_LIB_SUMMARY], [ + dnl --------------------------------------------- + dnl Some infos: + dnl --------------------------------------------- + + echo "xine-lib summary:" + echo "----------------" + + dnl Input + echo " * input plugins:" + echo " - file - net" + echo " - stdin_fifo - rtp" + echo " - http - mms" + echo " - pnm - rtsp" + echo " - dvb" + if test "x$external_dvdnav" = "xyes"; then + echo " - dvd (external libs)" + else + echo " - dvd (internal libs)" + fi + if test "x$have_cdrom_ioctls" = "xyes"; then + if test "x$enable_vcd" = "xyes"; then + if test "x$internal_vcdnav" = "xno"; then + echo " - vcd (external libs)" + else + echo " - vcd (internal libs)" + fi + fi + echo " - vcdo" + echo " - cdda" + fi + if test "x$no_gnome_vfs" = "xno"; then + echo " - gnome-vfs" + fi + if test "x$have_v4l" = "xyes"; then + echo " - v4l" + fi + if test "x$have_libsmbclient" = "xyes"; then + echo " - smbclient" + fi + echo "" + + dnl Demuxers + echo " * demultiplexer plugins:" + echo " - avi - mpeg" + echo " - mpeg_block - mpeg_audio" + echo " - mpeg_elem - mpeg_pes" + echo " - mpeg_ts - qt/mpeg-4" + echo " - film - roq" + echo " - fli - smjpeg" + echo " - idcin - wav" + echo " - wc3 mve - voc" + echo " - vqa - aiff" + echo " - cdda - snd/au" + echo " - yuv4mpeg2 - real/realaudio" + echo " - ea wve - raw dv" + echo " - interplay mve - psx str" + echo " - ws aud - pva" + echo " - vox - nsf" + echo " - nsv - 4xm" + echo " - FLAC - aac" + echo " - iff - matroska" + echo " - vmd - flv" + if test "x$enable_asf" = "xyes"; then + echo " - asf" + fi + if test "x$have_vorbis" = "xyes"; then + echo " - ogg" + fi + if test "x$have_libmng" = "xyes"; then + echo " - mng" + fi + if test "x$enable_modplug" != x"no"; then + echo " - mod" + fi + if test "x$have_libflac" = "xyes"; then + echo " - FLAC (with libFLAC)" + fi + if test "x$have_wavpack" = "xyes"; then + echo " - WavPack" + fi + if test "x$enable_a52dec" = "xyes"; then + if test "x$have_a52" = "xyes"; then + echo " - ac3 (external library)" + else + echo " - ac3 (internal library)" + fi + fi + echo "" + + dnl video decoders + echo " * video decoder plugins:" + echo " - MPEG 1,2 - Amiga Bitplane" + echo " - Raw RGB - Raw YUV" + if test "x$with_external_ffmpeg" = "xyes"; then + echo " - ffmpeg (external library):" + else + echo " - ffmpeg (internal library):" + fi + echo " - MPEG-4 (ISO, Microsoft, DivX*, XviD)" + echo " - Creative YUV - Motion JPEG" + echo " - Cinepak - MS Video-1" + echo " - FLI/FLC - MS RLE" + echo " - Id RoQ - Id Cin" + echo " - Apple Graphics - Apple Video" + echo " - Apple Animation - Interplay Video" + echo " - Westwood VQA - Origin Xan" + echo " - H.263 - Intel Indeo 3" + echo " - SVQ1 - SVQ3" + echo " - Real Video 1.0 - Real Video 2.0" + echo " - 4X Video - Sierra Video" + echo " - Asus v1/v2 - HuffYUV" + echo " - On2 VP3 - DV" + echo " - 8BPS - Duck TrueMotion v1" + echo " - ATI VCR1 - Flash Video" + echo " - ZLIB - MSZH" + if test "x$have_dxr3" = "xyes"; then + echo " - dxr3_video" + fi + if test "x$enable_w32dll" = "xyes"; then + echo " - w32dll" + fi + if test "x$have_imagemagick" = "xyes"; then + echo " - image" + fi + if test x"no_gdkpixbuf" != "xyes"; then + echo " - gdk-pixbuf" + fi + if test "x$have_theora" = "xyes"; then + echo " - theora" + fi + echo "" + + dnl audio decoders + echo " * audio decoder plugins:" + echo " - GSM 06.10" + echo " - linear PCM - Nosefart (NSF)" + if test "x$with_external_ffmpeg" = "xyes"; then + echo " - ffmpeg (external library):" + else + echo " - ffmpeg (internal library):" + fi + echo " - Windows Media Audio v1/v2" + echo " - DV - logarithmic PCM" + echo " - 14k4 - 28k8" + echo " - MS ADPCM - IMA ADPCM" + echo " - XA ADPCM - Game DPCM/ADPCM" + echo " - Mace 3:13 - Mace 6:1" + echo " - FLAC" + if test "x$have_libflac" = "xyes"; then + echo " - FLAC (with libFLAC)" + fi + if test "x$have_vorbis" = "xyes"; then + echo " - vorbis" + fi + if test "x$have_speex" = "xyes"; then + echo " - speex" + fi + if test "x$enable_w32dll" = "xyes"; then + echo " - w32dll" + fi + if test "x$enable_faad" = "xyes"; then + echo " - faad" + fi + if test "x$enable_libmad" = "xyes"; then + if test "x$have_mad" = "xyes"; then + echo " - MAD (MPG 1/2/3) (external library)" + else + echo " - MAD (MPG 1/2/3) (internal library)" + fi + fi + if test "x$enable_libdts" = "xyes"; then + if test "x$have_dts" = "xyes"; then + echo " - DTS (external library)" + else + echo " - DTS (internal library)" + fi + fi + if test "x$enable_a52dec" = "xyes"; then + if test "x$have_a52" = "xyes"; then + echo " - A52/ra-dnet (external library)" + else + echo " - A52/ra-dnet (internal library)" + fi + fi + if test "x$enable_musepack" != "xno"; then + if test "x$have_mpcdec" = "xyes"; then + echo " - MusePack (external library)" + else + echo " - MusePack (internal library)" + fi + fi + if test "x$have_wavpack" = "xyes"; then + echo " - WavPack" + fi + echo "" + + dnl spu decoders + echo " * subtitle decoder plugins:" + echo " - spu - spucc" + echo " - spucmml - sputext" + echo " - spudvb" + if test "x$have_dxr3" = "xyes"; then + echo " - dxr3_spu" + fi + echo "" + + dnl post plugins + echo " * post effect plugins:" + echo " * planar video effects:" + echo " - invert - expand" + echo " - eq - eq2" + echo " - boxblur - denoise3d" + echo " - unsharp - tvtime" + echo " * SFX:" + echo " - goom - oscope" + echo " - fftscope - mosaico" + echo "" + + dnl Video plugins + echo " * video driver plugins:" + if test "x$no_x" != "xyes"; then + echo " - XShm (X11 shared memory)" + dnl synfb + if test "x$enable_syncfb" != "xno"; then + echo " - SyncFB (for Matrox G200/G400 cards)" + fi + dnl Xv + if test "x$ac_have_xv" = "xyes"; then + if test "x$ac_have_xv_static" = "xyes"; then + echo " - Xv (XVideo *static*)" + else + echo " - Xv (XVideo *shared*)" + fi + fi + dnl XxMC + if test "x$ac_have_xxmc" = "xyes"; then + if test "x$ac_have_vldxvmc_h" = "xyes"; then + echo " - XxMC (XVideo extended motion compensation)" + else + echo " - XxMC (XVideo motion compensation - vld extensions DISABLED)" + fi + fi + dnl XvMC + if test "x$ac_have_xvmc" = "xyes"; then + echo " - XvMC (XVideo motion compensation)" + fi + if test "x$ac_have_opengl" = "xyes" -a "x$ac_have_glut" = "xyes" -o \ + x$"ac_have_opengl" = "xyes" -a "x$ac_have_glu" = "xyes"; then + echo " - OpenGL" + fi + if test "x$ac_have_sunfb" = "xyes"; then + if test "x$ac_have_sundga" = "xyes"; then + echo " - PGX64 (for Sun XVR100/PGX64/PGX24 cards)" + echo " - PGX32 (for Sun PGX32 cards)" + fi + fi + fi + if test "x$have_xcb" = "xyes"; then + dnl xcb-shm + if test "x$have_xcbshm" = "xyes"; then + echo " - xcb-shm (X shared memory using XCB)" + fi + dnl xcb-xv + if test "x$have_xcbxv" = "xyes"; then + echo " - xcb-xv (XVideo using XCB)" + fi + fi + if test "x$no_aalib" != "xyes"; then + echo " - aa (Ascii ART)" + fi + if test "x$have_caca" = "xyes"; then + echo " - caca (Color AsCii Art)" + fi + if test "x$have_fb" = "xyes"; then + echo " - fb (Linux framebuffer device)" + fi + if test "x$have_sdl" = "xyes"; then + echo " - sdl (Simple DirectMedia Layer)" + fi + if test "x$have_libstk" = "xyes"; then + echo " - stk (Libstk Set-top Toolkit)" + fi + if test "x$have_directfb" = "xyes"; then + echo " - directfb (DirectFB driver)" + fi + if test "x$have_dxr3" = "xyes"; then + if test "x$have_encoder" = "xyes"; then + echo " - dxr3 (Hollywood+ and Creative dxr3, both mpeg and non-mpeg video)" + else + echo " - dxr3 (Hollywood+ and Creative dxr3, mpeg video only)" + fi + fi + if test "x$enable_vidix" = "xyes"; then + echo $ECHO_N " - vidix (" + + if test "x$no_x" != "xyes"; then + echo $ECHO_N "X11" + if test "x$have_fb" = "xyes"; then + echo $ECHO_N " and " + fi + fi + + if test "x$have_fb" = "xyes"; then + echo $ECHO_N "framebuffer" + fi + + echo $ECHO_N " support" + + if test "x$enable_dha_kmod" = "xyes"; then + echo " with dhahelper)" + else + echo ")" + fi + fi + if test "x$have_directx" = "xyes"; then + echo " - directx (DirectX video driver)" + fi + if test "x$have_macosx_video" = "xyes"; then + echo " - Mac OS X OpenGL" + fi + + echo "" + + dnl Audio plugins + echo " * audio driver plugins:" + if test "x$have_ossaudio" = "xyes"; then + echo " - oss (Open Sound System)" + fi + if test "x$have_alsa" = "xyes"; then + echo " - alsa" + fi + if test "x$have_esound" = "xyes"; then + echo " - esd (Enlightened Sound Daemon)" + fi + if test "x$no_arts" != "xyes"; then + echo " - arts (aRts - KDE soundserver)" + fi + if test "x$no_fusionsound" != "xyes"; then + echo " - fusionsound (FusionSound driver)" + fi + if test "x$have_sunaudio" = "xyes"; then + echo " - sun ()" + fi + if test "x$am_cv_have_irixal" = xyes; then + echo " - irixal (Irix audio library)" + fi + if test "x$have_directx" = "xyes"; then + echo " - directx (DirectX audio driver)" + fi + if test "x$have_coreaudio" = "xyes"; then + echo " - CoreAudio (Mac OS X audio driver)" + fi + if test "x$have_pulseaudio" = "xyes"; then + echo " - pulseaudio sound server" + fi + if test "x$have_jack" = "xyes"; then + echo " - Jack" + fi + echo "---" + + + dnl --------------------------------------------- + dnl some user warnings + dnl --------------------------------------------- + + dnl some levels of variable expansion to get final install paths + final_libdir="`eval eval eval eval echo $libdir`" + final_bindir="`eval eval eval eval echo $bindir`" + + if test -r /etc/ld.so.conf && ! grep -x "$final_libdir" /etc/ld.so.conf >/dev/null ; then + if test "$final_libdir" != "/lib" -a "$final_libdir" != "/usr/lib" ; then + if ! echo "$LD_LIBRARY_PATH" | egrep "(:|^)$final_libdir(/?:|/?$)" >/dev/null ; then + echo + echo "****************************************************************" + echo "xine-lib will be installed to $final_libdir" + echo + echo "This path is not mentioned among the linker search paths in your" + echo "/etc/ld.so.conf. This means it is possible that xine-lib will" + echo "not be found when you try to compile or run a program using it." + echo "If this happens, you should add $final_libdir to" + echo "the environment variable LD_LIBRARY_PATH like that:" + echo + echo "export LD_LIBRARY_PATH=$final_libdir:\$LD_LIBRARY_PATH" + echo + echo "Alternatively you can add a line \"$final_libdir\"" + echo "to your /etc/ld.so.conf." + echo "****************************************************************" + echo + fi + fi + fi + + if ! echo "$PATH" | egrep "(:|^)$final_bindir(/?:|/?$)" >/dev/null ; then + echo + echo "****************************************************************" + echo "xine-config will be installed to $final_bindir" + echo + echo "This path is not in your search path. This means it is possible" + echo "that xine-config will not be found when you try to compile a" + echo "program using xine-lib. This will result in build failures." + echo "If this happens, you should add $final_bindir to" + echo "the environment variable PATH like that:" + echo + echo "export PATH=$final_bindir:\$PATH" + echo + echo "Note that this is only needed for compilation. It is not needed" + echo "to have xine-config in your search path at runtime. (Although" + echo "it will not cause any harm either.)" + echo "****************************************************************" + echo + fi + + dnl warn if no X11 plugins will be built + if test "x$no_x" = "xyes"; then + case $host in + *mingw*|*-cygwin) ;; + *-darwin*) ;; + *) + echo + echo "****************************************************************" + echo "WARNING! No X11 output plugins will be built." + echo + echo "For some reason, the requirements for building the X11 video" + echo "output plugins are not met. That means, that you will NOT be" + echo "able to use the resulting xine-lib to watch videos in a window" + echo "on any X11-based display (e.g. your desktop)." + echo + echo "If this is not what you want, provide the necessary X11 build" + echo "dependencies (usually done by installing a package called" + echo "XFree86-devel or similar) and run configure again." + echo "****************************************************************" + echo + ;; + esac + fi +]) diff --git a/m4/vcd.m4 b/m4/vcd.m4 new file mode 100644 index 000000000..917fc5128 --- /dev/null +++ b/m4/vcd.m4 @@ -0,0 +1,230 @@ +AC_DEFUN([VCD_SUPPORT], [ + AC_ARG_ENABLE(vcd, AS_HELP_STRING([--disable-vcd], [do not compile VCD plugin]), + enable_vcd=$enableval, enable_vcd=yes) + +dnl Force build of both vcd plugins, for now. +dnl AC_ARG_ENABLE(vcdo, AS_HELP_STRING([--disable-vcdo], [do not compile old VCD plugin]), +dnl enable_vcdo=$enableval, enable_vcdo=yes) +dnl + enable_vcdo="yes" + + AC_ARG_WITH(internal-vcdlibs, AS_HELP_STRING([--with-internal-vcdlibs], [force using internal libcdio/libvcd/libvcdinfo]), + [internal_vcdnav="$withval"], [internal_vcdnav="no"]) + + if test "x$enable_vcd" = "xyes"; then + dnl empty_array_size + AC_MSG_CHECKING([how to create empty arrays]) + + empty_array_size="xxx" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[struct { int foo; int bar[]; } doo;]])],[empty_array_size=""],[]) + + if test "x$empty_array_size" = "xxxx";then + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[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$internal_vcdnav" = "xno" ; then + PKG_CHECK_MODULES([LIBCDIO], [libcdio >= 0.71], [], [internal_vcdnav=yes]) + PKG_CHECK_MODULES([LIBVCDINFO], [libvcdinfo >= 0.7.23], [], [internal_vcdnav=yes]) + if test "x$internal_vcdnav" = "xyes"; then + AC_MSG_RESULT([Use included libcdio/libvcdinfo support]) + fi + fi + + dnl check twice, fallback is internal copy + if test "x$internal_vcdnav" = "xno"; then + AC_DEFINE([HAVE_VCDNAV], [1], [Define this if you use external libcdio/libvcdinfo]) + else + AC_DEFINE_UNQUOTED(HOST_ARCH, "$host_os/$host_cpu", [host os/cpu identifier]) + + AC_DEFINE(_DEVELOPMENT_, [], enable warnings about being development release) + AC_HEADER_STDC + 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[_Pragma("pack(1)")]])],[ + ISOC99_PRAGMA=yes + AC_DEFINE(HAVE_ISOC99_PRAGMA, [], [Supports ISO _Pragma() macro]) + ],[ISOC99_PRAGMA=no]) + AC_MSG_RESULT($ISOC99_PRAGMA) + + dnl + dnl bitfield order + dnl + AC_MSG_CHECKING([bitfield ordering in structs]) + + dnl basic compile test for all platforms + AC_COMPILE_IFELSE([ +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 }; + switch (0) case 0: case sizeof(bf) == 1:; + return 0; +} +], [], AC_MSG_ERROR([compiler doesn't support bitfield structs])) + + + dnl run test + AC_RUN_IFELSE([ +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_RUN_IFELSE([ +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])) + ], + [case "$host" in + *-*-mingw32* | *-*-cygwin*) + bf_lsbf=1 + ;; + universal-*-darwin*) + bf_lsbf=0 + ;; + *) + AC_MSG_RESULT([unknown]) + AC_MSG_ERROR([value of bitfield test isn't known for $host +********************************************************************* +Value of bitfield test can't be found out for cross-compiling and we +don't know its value for host "$host". + +Because it's needed for VCD plugin, disable VCD by configure option +--disable-vcd or use external VCD library. +*********************************************************************]) + esac]) + + if test "x$cross_compiling" = "xyes"; then + TEXT=" (guessed)" + else + TEXT="" + fi + if test "x$bf_lsbf" = "x1"; then + AC_MSG_RESULT(LSBF${TEXT}) + AC_DEFINE(BITFIELD_LSBF, [], [compiler does lsbf in struct bitfields]) + else + AC_MSG_RESULT(MSBF${TEXT}) + fi + + AC_CHECK_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 + darwin*) + 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_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[ +#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]) + LIBCDIO_LIBS="$LIBCDIO_LIBS -lwinmm" + LIBVCD_LIBS="$LIBVCD_LIBS -lwinmm" + ;; + 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_DEFINE([LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) + AC_DEFINE([EXTERNAL_LIBCDIO_CONFIG_H], 1, [Get of rid system libcdio build configuration]) + 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$internal_vcdnav" = "xno"]) + AM_CONDITIONAL(ENABLE_VCD, [test "x$enable_vcd" = "xyes"]) +]) |