summaryrefslogtreecommitdiff
path: root/configure
Commit message (Collapse)AuthorAge
* configure: Group math functions into a separate variableDiego Biurrun2012-10-20
| | | | This avoids some duplication when listing and testing for the functions.
* configure: Disable Snow decoder and encoder by defaultDiego Biurrun2012-10-19
| | | | Snow has serious unfixed bugs and no real-world use.
* configure: fix libcdio checkMans Rullgard2012-10-19
| | | | | | The compiler/linker flags passed to check_lib2 should not be quoted. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Add support for building shared libraries with MSVCMartin Storsjö2012-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires the makedef perl script by Derek, from the c89-to-c99 repo. That scripts produces a .def file, listing the symbols to be exported, based on the gcc version scripts and the built object files. To properly load non-function symbols from DLL files, the data symbol declarations need to have the attribute __declspec(dllimport) when building the calling code. (On mingw, the linker can fix this up automatically, which is why it has not been an issue so far. If this attribute is omitted, linking actually succeeds, but reads from the table will not produce the desired results at runtime.) MSVC seems to manage to link DLLs (and run properly) even if this attribute is present while building the library itself (which normally isn't recommended) - other object files in the same library manage to link to the symbol (with a small warning at link time, like "warning LNK4049: locally defined symbol _avpriv_mpa_bitrate_tab imported" - it doesn't seem to be possible to squelch this warning), and the definition of the tables themselves produce a warning that can be squelched ("warning C4273: 'avpriv_mpa_bitrate_tab' : inconsistent dll linkage, see previous definition of 'avpriv_mpa_bitrate_tab'). In this setup, mingw isn't able to link object files that refer to data symbols with __declspec(dllimport) without those symbols actually being linked via a DLL (linking avcodec.dll ends up with errors like "undefined reference to `__imp__avpriv_mpa_freq_tab'"). The dllimport declspec isn't needed at all in mingw, so we simply choose not to declare it for other compilers than MSVC that requires it. (If ICL support later requires it, the condition can be extended later to include both of them.) This also implies that code that is built to link to a certain library as a DLL can't link to the same library as a static library. Therefore, we only allow building either static or shared but not both at the same time. (That is, static libraries as such can be, and actually are, built - this is used for linking the test tools to internal symbols in the libraries - but e.g. libavformat built to link to libavcodec as a DLL cannot link statically to libavcodec.) Also, linking to DLLs is slightly different from linking to shared libraries on other platforms. DLLs use a thing called import libraries, which is basically a stub library allowing the linker to know which symbols exist in the DLL and what name the DLL will have at runtime. In mingw/gcc, the import library is usually named libfoo.dll.a, which goes next to a static library named libfoo.a. This allows gcc to pick the dynamic one, if available, from the normal -lfoo switches, just as it does for libfoo.a vs libfoo.so on Unix. On MSVC however, you need to literally specify the name of the import library instead of the static library. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Split out msvc as a separate target OSMartin Storsjö2012-10-18
| | | | | | | | | | The name mingw32 as target OS is both misleading, and very little of the target OS specific settings actually match. Since the target OS default is set based on uname, the default (which on MSYS is set to mingw) is overridden by --toolchain=msvc. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: list lavfi tests in a makefileMans Rullgard2012-10-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* fate: dependencies for seek testsMans Rullgard2012-10-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* fate: handle lavf test dependencies entirely in makeMans Rullgard2012-10-17
| | | | | | This makes the lavf tests depend on all codecs and formats they use. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: Add support for Tilera processorsDerek Buitenhuis2012-10-16
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* build: simplify enabling of compat objectsMans Rullgard2012-10-15
| | | | | | | | Add a configure function to pull in a compat object and set up redirects in one operation. This avoids duplicating conditions across configure and makefiles. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: simplify argument handling in check_ldMans Rullgard2012-10-15
| | | | | | | Use the existing filter functions instead of open-coding the separation of general flags and libraries. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: simplify get_version() functionMans Rullgard2012-10-15
| | | | | | awk alone can do this, no need for grep. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: support asan and tsan toolchain shortcutsLuca Barbato2012-10-15
|
* configure: check for mprotectMans Rullgard2012-10-15
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: tms470: work around glibc math.h problemsMans Rullgard2012-10-13
| | | | | | | The glibc definitions of INFINITY and NAN do not work with the tms470 compiler, nor do our usual fallbacks. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: improve tms470 compiler usage with glibcMans Rullgard2012-10-13
| | | | | | | | | | Apply flags to work around glibc quirks only if glibc is detected, and add a few more such flags. Do not mess with as/ld settings in probe_cc. This is not the proper place. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: tms470: add mapping for -mfpu=vfpv3-d16 flagMans Rullgard2012-10-13
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: recognise Minix as OSMans Rullgard2012-10-13
| | | | | | No special setup is required for Minix. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: work around bug in ash shellMans Rullgard2012-10-13
| | | | | | | The ash 'test' builtin misbehaves if the first operand of a binary operator looks like a unary operator. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: use utilities from /usr/xpg4/bin if it existsMans Rullgard2012-10-12
| | | | | | | | Solaris defaults to non-standard utilities (grep, sed, ...) with proper ones being in /usr/xpg4/bin. Prefixing PATH with this directory when it exists ensures we get correct variants. Signed-off-by: Mans Rullgard <mans@mansr.com>
* avcodec: Remove broken MMI optimizationsDiego Biurrun2012-10-12
| | | | The code fails to compile and is broken beyond repair.
* build: add support for Tru64 (OSF/1)Mans Rullgard2012-10-12
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* random_seed: Support using CryptGenRandom on windowsMartin Storsjö2012-10-11
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mingw/cygwin: Stop adding -fno-common to gcc CFLAGSDiego Biurrun2012-10-09
| | | | This was done to work around toolchain bugs that have long been fixed.
* build: add LTO support for PGI compilerMans Rullgard2012-10-08
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: add -Mdse to PGI optimisation flagsMans Rullgard2012-10-08
| | | | | | | | Enable dead store elimination. The last few releases work no worse with this flag than without. Older versions failed to build some source files when using this flag. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: error on variable-length arraysMans Rullgard2012-10-05
| | | | | | With all the VLAs gone, make sure they never come back. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: Drop CPU detection intrinsicsDiego Biurrun2012-10-04
| | | | | | Now that there is CPU detection in YASM, there will always be one of inline or external assembly enabled, which obviates the need to fall back on CPU detection through compiler intrinsics.
* configure: add --enable-lto optionMans Rullgard2012-10-04
| | | | | | | This works with gcc. Other compilers might need to have a flag mapping added. Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: Factor out mpegaudio dependencies to CONFIG_MPEGAUDIODiego Biurrun2012-10-04
| | | | | A new hidden config variable is added for the codecs that depend on the mpegaudio parts.
* configure: Refactor HAVE_ options available on the command lineDiego Biurrun2012-10-03
|
* msvc: Fix detection of VFW & Avisynth required libsDerek Buitenhuis2012-10-01
| | | | | | It should be vfw32.lib with MSVC. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* Opus encoder using libopusNathan Caldwell2012-10-01
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Opus decoder using libopusNicolas George2012-09-28
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* configure: update tms470 detection for latest versionMans Rullgard2012-09-20
| | | | | | | | v5.0 of the TI ARM compiler changes the version string. This updates the detection to check for both the old and the new strings. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: msvc: default to 'lib' as 'ar' toolMans Rullgard2012-09-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* build: support some non-standard ar variantsMans Rullgard2012-09-19
| | | | | | | This adds support for the TI and Microsoft (lib.exe) variants of the ar utility. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: add --toolchain optionMans Rullgard2012-09-18
| | | | | | | This allows creating canned shorthands for common combinations of cc, ld etc. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: Make the smoothstreaming muxer enable the ismv muxerMartin Storsjö2012-09-18
| | | | | | | This doesn't fix any build failure, but the smoothstreaming muxer opens a chained ismv muxer. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: include flags in nm variableMans Rullgard2012-09-17
| | | | | | | This simplifies ensuring proper flags are used when the default is overridden by the system or on the command line. Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: x86: improve ebp availability checkMans Rullgard2012-09-14
| | | | | | | | Some compilers are extra strict about register usage in main(), disallowing ebp in inline asm there while allowing it elsewhere. This change makes the test better reflect actual usage. Signed-off-by: Mans Rullgard <mans@mansr.com>
* os_support: Choose between direct.h and io.h using a configure checkMartin Storsjö2012-09-13
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Only disable aligned stack on MSVC on 32 bitMartin Storsjö2012-09-11
| | | | | | On 64 bit, the stack seems to be aligned enough for our needs. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: indentation cosmeticsDiego Biurrun2012-09-11
|
* configure: Adjust the xgetbv instrinsic checkMartin Storsjö2012-09-10
| | | | | | | | | | | | The 64 bit cl.exe version 16.00.30319.01 crashes with an internal compiler error on the current check (and thus deduces it isn't supported, even if the actual usage in libavuil/x86/cpu.c works fine), but by assigning the value from the intrinsic to a variable, or returning it, it works fine. This error is fixed in cl.exe version 16.00.40219.01. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Add --disable-inline-asm command line optionDiego Biurrun2012-09-10
| | | | This can come in handy for testing and possibly other purposes.
* configure: Don't try to enable the log2 function on msvcrtMartin Storsjö2012-09-10
| | | | | | | | | | | | Some msvcrt versions (the static 64 bit libc in MSVC 10) have a log2 function, but there is no declaration for it in the headers. Therefore, the normal configure check might find it, but it can fail during build or at runtime, depending on whether implicit function declarations are an error or not. Therefore simply ignore this function on this platform. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: msvc: fix/simplify setting of flags for hostccMans Rullgard2012-09-08
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* configure: Set the right cc_e flags for msvcMartin Storsjö2012-09-06
| | | | | | | The default ones work, but outputs the preprocessed file on stdout (into config.log). Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Disable some warnings in MSVCMartin Storsjö2012-09-05
| | | | | | | | | | | | | | This disables the following warnings: C4100: unreferenced formal parameter (1035 occurrances) C4214: nonstandard extension used : bit field types other than int (609 occurances) C4996: 'avpriv_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. (351 occurrances) Signed-off-by: Martin Storsjö <martin@martin.st>