X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=4c62abbb59554313175f9c62997b659ff151e133;hb=e2be140078f43e9bb2203110214b9b18db8ecbe9;hp=5ac071186ea118f30c086b31e0949aacf46df4e5;hpb=905e945b98be4c2e7b19675751685a5cabbd07b7;p=vlc diff --git a/configure.ac b/configure.ac index 5ac071186e..4c62abbb59 100644 --- a/configure.ac +++ b/configure.ac @@ -93,17 +93,13 @@ AC_ARG_WITH(contrib, OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then - export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH + export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH else - export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig + export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig fi LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" -dnl kludge because only the debian package provides a ffmpeg-config - if test -z $with_ffmpeg_config_path; then - with_ffmpeg_config_path=${topdir}/extras/contrib/bin; - fi if test -z $with_live555_tree; then with_live555_tree=${topdir}/extras/contrib/src/live fi @@ -218,7 +214,28 @@ case "${host_os}" in echo " Assuming --disable-glx" enable_xvideo="no" echo " Assuming --disable-xvideo" - + fi + if test ".`uname -p`" = ".i386"; then + dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code + dnl without hacking it a lot, we disable mmx and sse. + dnl (that bug is about ld being unable to handle + dnl text relocation) + save_cflags="$CFLAGS" + CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress" + AC_TRY_LINK( + [int a;], [asm("movq _a,%mm0\n");], + ac_ld_does_not_support_text_reloc=no, + ac_ld_does_not_support_text_reloc=yes) + CFLAGS="$save_cflags" + + if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then + enable_mmx="no" + echo " Assuming --disable-mmx (due to a bug in ld)" + enable_sse="no" + echo " Assuming --disable-sse (due to a bug in ld)" + enable_ffmpeg="no" + echo " Assuming --disable-ffmpeg (due to a bug in ld)" + fi fi ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) @@ -248,7 +265,7 @@ case "${host_os}" in VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([activex mozilla],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm]) - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler lua],[-lws2_32]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -1526,16 +1543,20 @@ AS_IF([test "${CFLAGS_TUNING}"], dnl dnl x86 accelerations dnl -if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64" -then +AC_ARG_ENABLE(mmx, +[ --disable-mmx disable MMX optimizations (default enabled on x86)], +[ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ], +[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} mmx" - VLC_ADD_PLUGINS([${ACCEL_MODULES}]) -fi -if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64" -then - ARCH="${ARCH} sse sse2" - VLC_ADD_PLUGINS([${ACCEL_MODULES}]) -fi + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ]) + +AC_ARG_ENABLE(sse, +[ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)], +[ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ], +[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ]) dnl dnl Memory usage @@ -2887,8 +2908,8 @@ AS_IF([test "${enable_id3tag}" != "no"], [ dnl dnl ffmpeg decoder/demuxer plugin dnl -dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config -dnl 4- default place, +dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config +dnl 3- default place, AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default enabled)]) @@ -2965,7 +2986,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo fi]) AC_ARG_WITH(ffmpeg-x264, - [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support], + [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support], [ if test "$with_ffmpeg_x264" = "yes"; then VLC_ADD_LIBS([ffmpeg],[-lx264]) @@ -3027,7 +3048,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo ],[ unset PKG_CONFIG_PATH ]) - AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[ + AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[ export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}" ],[ unset PKG_CONFIG_LIBDIR @@ -3045,30 +3066,6 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo fi else -dnl Look for a ffmpeg-config (we are on debian ) - - FFMPEG_PATH="${PATH}" - AC_ARG_WITH(ffmpeg-config-path, - [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)], - [ if test "${with_ffmpeg_config_path}" != "no" - then - FFMPEG_PATH="${with_ffmpeg_config_path}" - fi ]) - AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH}) - if test "${FFMPEG_CONFIG}" != "no" - then - AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) - AC_CHECK_HEADERS(ffmpeg/avformat.h) - AC_CHECK_HEADERS(ffmpeg/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) - VLC_ADD_PLUGINS([ffmpeg]) - if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then - VLC_ADD_PLUGINS([stream_out_switcher]) - fi - VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`]) - VLC_ADD_LIBS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) - - else dnl Trying with pkg-config PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], @@ -3152,7 +3149,6 @@ dnl AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file CPPFLAGS="${CPPFLAGS_save}" ]) fi - fi fi dnl @@ -3738,7 +3734,7 @@ AC_CHECK_HEADERS(png.h, [ AC_CHECK_LIB(png, png_set_rows, [ VLC_ADD_LIBS([png],[-lpng -lz]) VLC_ADD_PLUGINS([png]) - VLC_ADD_PLUGINS([osdmenu]) + VLC_ADD_PLUGINS([osdmenu osd_parser]) AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" @@ -6169,6 +6165,7 @@ AC_CONFIG_FILES([ modules/misc/notify/Makefile modules/misc/testsuite/Makefile modules/misc/playlist/Makefile + modules/misc/osd/Makefile modules/misc/xml/Makefile modules/misc/probe/Makefile modules/mux/Makefile @@ -6232,4 +6229,11 @@ with \`./vlc-config --list plugin'. You can tune the compiler flags in vlc-config. To build vlc and its plugins, type \`./compile' or \`make'. " - +if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then + echo "" + echo "Warning: Due to a bug in ld, mmx/sse support has been" + echo " turned off." + echo " More over FFmpeg support has been disabled." + echo " VLC WILL NOT BE ABLE TO PLAY MOST FILES." + echo "" +fi