summaryrefslogtreecommitdiffstats
path: root/configure
Commit message (Collapse)AuthorAgeFilesLines
* build, codec-cfg.c: simplify builtin codecs.conf handlingUoti Urpala2012-07-161-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The player can read codec mapping (codecs.conf) from an external file or use embedded defaults. Before, the defaults were stored in the player binary in the form of final already-parsed data structures. Simplify things by storing the text of the codecs.conf file instead, and parse that at runtime the same way an external file would be parsed. To create the previous parsed form, the build system first compiled a separate binary named "codec-cfg", which parsed etc/codecs.conf and then wrote the results as a C data structure that could be compiled into the program. The new simple conversion of codecs.conf into a C string is handled by the new script TOOLS/file2string.py. After removing the codec-cfg binary, HOST_CC is no longer used for anything. Remove the --host-cc configure option and associated logic. Also remove the codec2html and codec-cfg-test functionality. Building those was already broken and nobody cared. There was a broken 3-character-long "fourcc" entry in etc/codecs.conf. This happened to be accepted before but triggered a parse error after the changes. Remove the broken entry and make the parsing functions explicitly test for this error.
* configure: OSX: fix check for compiler-specific cflagsStefano Pigozzi2012-05-171-3/+4
| | | | | | | | | | | | | The configure script adds some compiler-specific flags for GCC on OSX. This was done under a check for compiler binary name not being clang. Move the test to after $cc_vendor has been determined and check against that instead. The previous test worked for clang if you explicitly specified --cc=clang, but not if the default system "cc" command was used and mapped to clang. Recent versions of Xcode changed the default compiler (cc) to clang. This caused a lot of spam from clang, which complained about the unknown flags when compiling with no explicit --cc option.
* configure: don't enable GL/X11 without X11Stefano Pigozzi2012-05-171-9/+11
| | | | | | | | | | | | | The OpenGL autodetection checked for all backends regardless of which features had been enabled previously. Stop checking for X11 backend if X11 support is disabled, and stop checking for w32 backend if we are not on Windows. This makes the changes in commit 3862d469ae ("configure: OSX: check for X11 header conflict with corevideo") work as intended. That commit disabled X11 when a header conflict was detected, but the GL X11 backend could still be autodetected despite that and trigger a compilation failure.
* ad_mpg123: update libmpg123 API useThomas Orgis2012-05-071-2/+3
| | | | | | Improve ad_mpg123, including use of the more efficient framewise decoding with mpg123 version 1.14 or later (older versions are still supported).
* configure: use pkg-config for vdpau, libmpg123, libblurayUoti Urpala2012-05-061-5/+3
|
* ao_arts, ao_esd: remove these AOsUoti Urpala2012-05-061-58/+0
| | | | Delete ao_arts and ao_esd. Both have been deprecated upstream.
* build: remove IRIX supportUoti Urpala2012-05-061-56/+2
|
* ao_portaudio: add new PortAudio audio output driverwm42012-05-061-0/+28
| | | | | | | | | | This AO has potential to be useful on platforms other than Linux. On Windows in particular, PortAudio can make use of newer/better audio APIs like WASAPI, instead of DirectSound. As an implementation choice, the PortAudio callback API was used. The blocking API might be a better match for mplayer's requirements, but caused severe problems on Linux/ALSA (possibly PortAudio bugs).
* configure, stream_cdda: remove libcdparanoia supportwm42012-04-281-45/+9
| | | | | libcdparanoia is barely developed anymore, while libcdio is still quite active.
* configure: OSX: check for X11 header conflict with corevideoStefano Pigozzi2012-04-261-78/+95
| | | | | | | | | Check that headers from ApplicationServices and X11 do not conflict before enabling X11 support on OSX. Both headers would be included in vo_corevideo.m (through QuartzCore/QuartzCore.h and gl_common.h). The conflict exists on versions of Mac OSX prior to 10.7, where ApplicationServices includes the deprecated QuickDraw framework, resulting in a clash on the Cursor type definition.
* cocoa_common, gl_common: add OSX specific getProcAddressStefano Pigozzi2012-04-261-1/+1
| | | | | | | | Run dlopen on the OpenGL dynamic library instead of on the binary. This should prevent crashes due to function conflicts when X11/lGL is linked. Remove mutual exclusion of the X11 and Cocoa backends.
* OSX, input: implement wakeup in response to Cocoa eventsStefano Pigozzi2012-04-261-0/+5
| | | | | | | | | Add code to wake up the select() call in input.c when an OSX event is available and a Cocoa OpenGL backend is initialized. Fixes the slow response to input or other events in Cocoa-based VOs during long select() sleeps (e.g., when mplayer2 is paused) introduced by commit 7040968.
* vo_sharedbuffer: add this video outputStefano Pigozzi2012-04-261-0/+26
| | | | | | | | | | This OSX video output is replaces the previous shared_buffer mode of vo_corevideo. It manages a shared buffer and a Cocoa distributed object to communicate with GUIs. Splitting this code into a separate VO allows to get rid of harmful code coupling, performance inefficiencies (useless image memory copies) and ugly code (big if-else conditionals).
* vo_corevideo: use cocoa_common to display the windowStefano Pigozzi2012-04-261-25/+19
| | | | | | | Change vo_corevideo to use cocoa_common to create and manage the window. This doesn't affect external OSX GUIs, since they don't use vo_corevideo window management, but only read the image data from the shared buffer.
* configure: --enable-debug: don't change other compiler flagsUoti Urpala2012-04-191-13/+8
| | | | | | | | The --enable-debug and --enable-profile options set their own compiler flags, completely different from normal flag selection. These flags sucked; especially '-W' (an obsolete alias for '-Wextra') generated a huge number of irrelevant warnings. Change configure to only add "-g" or similar to the flags that would be used otherwise.
* build: remove OS/2 supportUoti Urpala2012-04-061-101/+8
|
* configure: disable X11 opengl backend if Cocoa is enabledStefano Pigozzi2012-03-251-1/+1
| | | | | | | | | | | | | The recommended way to get function pointers to the functions in the OpenGL library is through dlopen/dlsym/dlclose. This causes problems in the Cocoa OpenGL backend when -lGL (X11's OpenGL headers) is linked to the binary together with -framework OpenGL. The linked OpenGL symbols are always from -lGL, causing all the function pointers to point to null when getFunctions is called against a Cocoa OpenGL context. For this reason change the configure autodetection code to disable the vo_gl X11 backend when cocoa is active.
* vo_quartz: remove this video outputStefano Pigozzi2012-03-251-22/+0
| | | | | | | | | This video output is not useful anymore. It is based on Carbon to draw the mplayer window and this has been deprecated by Apple in 10.5. The upcoming 10.8 OSX release should deprecate most of Carbon, so it doesn't make sense to keep vo_quartz in the codebase when there are modern and better alternatives (vo_gl and vo_corevideo).
* macosx_finder_args: use cocoa instead of carbonStefano Pigozzi2012-03-251-2/+1
| | | | | | | | | | | | macosx_finder_args was using Carbon and wasn't usable any longer on modern versions of MacOSX. This is very useful to embed mplayer in a mac application bundle. When using application bundles, the operating system will call the main function with only one argument that identifies the process serial number (this is some additional process identifier in osx other than the pid). File open events are then dispatched to the application through events that must be handled accordingly.
* configure: fix --enable-staticUoti Urpala2012-03-091-3/+2
| | | | | Hack around shell programming breakage that made Libav check fail with --enable-static.
* configure: disable live555 by defaultUoti Urpala2012-03-091-3/+3
| | | | | | | | | | | | | | | | | | Latest liblivemedia version disables APIs we need. The code still exists in the library and the changelog says the old interface can be enabled with "#define RTSPCLIENT_SYNCHRONOUS_INTERFACE". However, the code on the library side is disabled by default too, and seems to be disabled in distro packages, so defining that in the player does not help (just delays the failure until link time). It's possible the distro packages will be changed to enable this, but since dropping live555 support is desirable anyway, change configure to disable support by default at least for now. The live555 code is the only part of the source that's in C++. Including C headers in code compiled as C++ has caused issues at times, so deleting this code would have a maintenance benefit. Reportedly the rtsp support in Libav has improved, so there should be less need for live555.
* configure: add __USE_MINGW_ANSI_STDIO on MinGWwm42012-03-011-0/+1
| | | | | | | | | | | | | This makes MinGW redirect certain stdio functions (such as the sprintf family) from the MSVCRT libc to a standard compliant MinGW implementation. This fixes a crash in talloc.c when compiling mplayer with MinGW-w64. The problem is most likely with talloc_vasprintf(), which calls vsnprintf with a small buffer and checks its return value to find out how much space the formatted string requires. Without this commit, vsnprintf would always return -1, and then the code calls abort(). (lachs0r figured out this one.)
* configure: allow changing pkg-config binary with --pkg-configwm42012-02-291-0/+4
|
* configure: use cross toolchain if --target is givenwm42012-02-291-44/+61
| | | | | | | | | | If --enable-cross-compile is specified, passing --target=i686-w64-mingw32 for example will check if i686-w64-mingw32-gcc can be used. This is only done if the compiler isn't specified via --cc or the CC environment variable. The same is done for some other build tools, such as pkg-config. (Only the C compiler will try to use a fallback in this case.)
* configure: disable cross compilation auto detectionwm42012-02-291-4/+5
| | | | | | | | | This didn't work very well when cross compiling from Linux to Windows: it tries to execute an .exe file, which succeeds if wine is installed. As consequence it detects "no" as result. In general this won't work if emulation for the target architecture is available. Remove it.
* configure: fix target triplet check for mingw targetsKovensky2012-02-291-15/+19
| | | | | mingw32 and mingw64's recommended triplets are i686-pc-mingw32 / x86_64-w64-mingw32, neither has mingw32 in the middle.
* configure: show PKG_CONFIG_PATH and CFLAGS in config.logUoti Urpala2012-02-291-1/+8
| | | | | | | | When the build wrapper repo scripts run configure they set a custom PKG_CONFIG_PATH environment variable. Show the value of this in config.log to make it easier to rerun configure with a tweaked version of the same parameters. Also show CFLAGS if set, as it's likely to break things.
* configure: remove obsolete messages for mtrr / no w32codecsUoti Urpala2012-02-281-28/+1
| | | | | | | | | | Remove "Please check mtrr settings at /proc/mtrr" and "NOTE: Win32 codec DLLs are not supported on your CPU" messages printed at the end of a configure run. mtrr should be irrelevant on today's machines, and the DLLs are a lot less important nowadays. Also remove mtrr detection logic that was only used to decide whether or not to print that message. Bizarrely, there were --enable-mtrr and --disable-mtrr options for this too (with no effect except for the message).
* configure, build: support compiling without libpostprocUoti Urpala2012-02-271-1/+20
| | | | | | libpostproc has been removed from Libav and the library now exists as a separate project. Because it's not essential, separate it from the Libav library check and allow compiling without it.
* configure, ao_alsa: drop support for obsolete ALSA versionsUoti Urpala2012-02-271-98/+9
| | | | | Drop compatibility code for ALSA versions prior to 1.0.9. Change the configure check to use pkg-config only.
* configure: simplify pkg-config handling, drop other testsUoti Urpala2012-02-271-201/+46
| | | | | | | | | | | Add helper function pkg_config_add() that checks for the presence of a package and also adds cflags/ldflags if it is found. Change existing pkg-config-using feature tests to use that. Also change the freetype test that used a separate libfreetype-config binary before; using pkg-config instead helps cross-compiling. Drop other kinds of checks (such as test compiles) from these tests. It's possible that this could cause problems on some (broken) systems, but that can't be verified without user testing.
* Update Libav API usesUoti Urpala2012-02-011-1/+3
| | | | | | | | | | | | | | | | | | | Change various code to use the latest Libav API. The libavcodec error_recognition setting has been removed and replaced with different semantics. I removed the "--lavdopts=er=<value>" option accordingly, as I don't think it's widely enough used to be worth attempting to emulate the old option semantics using the new API. A new option with the new semantics can be added later if needed. Libav dropped APIs that were necessary with all Libav versions until quite recently (like setting avctx->age), and it would thus not be possible to keep compatibility with previous Libav versions without adding workarounds. The new APIs also had some bugs/limitations in the recent Libav release 0.8, and it would not work fully (at least some avcodec options would not be set correctly). Because of those issues, this commit makes no attempt to maintain compatibility with anything but the latest Libav git head. Hopefully the required fixes and improvements will be included in a following Libav point release.
* configure, build: require at least Libav 0.7Uoti Urpala2011-12-221-12/+4
| | | | | | | | | | | | | | | | Require versions of the Libav libraries corresponding to Libav release 0.7. These are: libavutil 51.7.0 libavcodec 53.5.0 libavformat 53.2.0 libswscale 2.0.0 libpostproc 52.0.0 Also disable the fallback to simple header check if these libraries could not be found with pkg-config; now compiling without pkg-config support for these always requires explicitly setting --enable-libav and any needed compiler/linker flags. The simple check would have let compilation proceed even if a version mismatch was detected.
* configure, build: remove --disable-libav supportUoti Urpala2011-12-111-20/+6
| | | | | Remove support for building the player without libavcodec and libavformat. These libraries are now always required.
* vo_gl: add native mac osx Cocoa backend for vo_glStefano Pigozzi2011-11-261-1/+36
| | | | | | | | | Add native Cocoa code to display an OpenGL window. Some of the code is based on the OpenGL parts of vo_corevideo but I took the time to remove old code based on Carbon. There is autodetection in the configure script but you can use --enable[disable]-cocoa to enable[disable] this.
* libmenu: remove OSD menu functionality (--menu)Uoti Urpala2011-10-251-22/+4
| | | | | | | | | | Something like the OSD menu functionality could be useful. However the current implementation has several problems and would require a relatively large amount of work to get into good shape. As far as I know there are few users of the existing functionality. Nobody is working on the existing code and keeping it compiling at all while changing other code would require extra work. So delete the menu code and some related code elsewhere that's used by nothing else.
* vo_gl2, vo_matrixview: remove these VOswm42011-10-241-20/+0
| | | | | | | | | | | | | | | | | | | | | Delete the vo_gl2 and vo_matrixview implementations. vo_gl2 was barely useful anymore. It was a hack based on an old vo_gl.c version, and all it did differently was rendering the video in tiles instead of using a single texture. That made it work with some crappy OpenGL implementations. These days all GPUs support textures of at least 2048x2048 pixels, which is enough for HD playback. On the other hand, gl2 suffered from various bugs and deficiencies, all of which are fixed in gl. Its existence also confused users; many thought that gl2 is the next version of gl and attempted to use it, even though it's much worse than gl and they should have used that instead. Should it turn out that tiling is actually useful, it should be implemented in vo_gl, instead of keeping vo_gl2 alive. vo_matrixview was a toy that couldn't even properly display a video. All it did was display a screensaver-like animation that showed "a Matrix-like running-text effect". (mplayer is not a screensaver.)
* audio/video: delete buggy "dynamic plugin" codeUoti Urpala2011-10-201-18/+0
| | | | | | | | | | | | Codec selection for audio and video decoding had a "dynamic plugin" feature that tried to load a shared library for any codec that had not been enabled at compilation (disabled by default, but could be enabled with --enable-dynamic-plugins configure switch; for unknown reasons some distro packages have enabled it). The implementation was buggy and could cause normal codec selection fallback to fail if the feature was enabled. I'm not aware of any real uses of such dynamic plugins and the feature seems questionable anyway (there are no ABI guarantees that would make it safe to use). Remove the buggy feature.
* configure: libav: use "pkg-config --print-errors", "Libav" nameUoti Urpala2011-08-211-9/+9
| | | | | | | | | | | | Use the "--print-errors" flag of pkg-config when testing for the presence of Libav libraries. Even though the error output is a bit messy (printed on the same "Checking for"... line), it does contain useful information for this test which checks for several libraries at once. Also change the test name from "FFmpeg" to "Libav" and rename the option from --disable-ffmpeg to --disable-libav. The change should cause no compatibility problems as the option is very rarely used.
* configure: make libavutil eval API check require newer versionUoti Urpala2011-07-181-1/+1
| | | | | The code now uses a newer syntax (av_expr_*), so require a newer version of libavutil which supports that.
* stream_bluray: switch to new libbluray APIRico Tzschichholz2011-07-101-1/+1
| | | | | | Switch to new libbluray API with three parameters to bd_get_title_info(). libbluray versions using the old API are no longer supported.
* configure: clang: set custom warning flags for clangUoti Urpala2011-07-071-0/+2
| | | | | | | | | | Before there was no attempt to set warning flags sanely when compiling with clang. Set some reasonable defaults that cut down noise and enable various non-default warnings that are enabled with GCC too. I'm not sure whether clang is supposed to support more of the options now used with GCC - it accepts some of those options but they apparently have no effect; I didn't find any real documentation about the individual warnings.
* configure: rename "--disable-ass" to "--disable-libass"Uoti Urpala2011-07-061-4/+4
| | | | | | | The name of the project is "libass". "ASS" alone refers only to the subtitle format, not the library, and --disable-ass did not completely disable handling of subtitles in this format - only advanced rendering with libass. Thus --disable-libass is a better name.
* Merge branch 'mplayer1_changes'Uoti Urpala2011-07-061-19/+20
|\
| * configure: Remove obsolete test for ARM pld instructiondiego2011-07-061-7/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33786 b3059339-0415-0410-9bf9-f77b7e298cf2
| * stream/tvi_v4l[2]: fix calculation of free RAM for buffersiive2011-07-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Do a proper calculation of free RAM to be used as V4L buffers. The code uses sysinfo to query the available RAM, however it used ancient form available in some early development 2.3.x kernels. Newer form reports the size in memory units (usually same as page size), as result the code would fall back on 2 buffers even on multi GB system. The commit does: Improve the check in configure to ensure that we do use sysinfo struct with present mem_unit. Use free RAM instead of total RAM (to avoid swapping). Tweak memory constants and simplify code. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33732 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: fix check for clang compilerdiego2011-07-061-2/+1
| | | | | | | | | | | | patch by Jeremy Huddleston, jeremyhu macports org git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33723 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: fix mmxext detection with --disable-ssereimar2011-07-061-3/+2
| | | | | | | | | | | | | | Fix "sse in cpuinfo implies mmxext" hack to still work when --disable-sse is used. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33714 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: only set NEED_GLOB on Windowsreimar2011-07-061-2/+5
| | | | | | | | | | | | | | | | | | Only set NEED_GLOB on Windows, as currently this has the effect of compiling win32-only code - and even if that compiled it would not be used anyway, since mf.c uses glob under "#if defined(HAVE_GLOB) || defined(__MINGW32__)". git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33587 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: when cross-compiling default host_cc to "cc"reimar2011-07-061-4/+5
| | | | | | | | | | | | | | | | | | Set host_cc after cross-compile check. This allows to set "cc" as a more sensible, almost always working default when cross-compiling instead of using the cross-compiler as host-cc which is just nonsense. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33580 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: fix _libcdio variable staying on "auto"reimar2011-07-061-0/+1
| | | | | | | | | | | | Fix _libcdio staying on "auto" if cdparanoia test succeeded before. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33555 b3059339-0415-0410-9bf9-f77b7e298cf2
| * configure: add an initial check to verify compiler works at alliive2011-07-061-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33533 b3059339-0415-0410-9bf9-f77b7e298cf2
* | configure: Use -Werror-implicit-function-declaration with GCCUoti Urpala2011-07-061-2/+3
|/ | | | | | | | | | | Add -Werror-implicit-function-declaration to the default compiled flags used with GCC. Add the option t