Recent versions of gcc generate movw/movt pairs, and the linkers fail
to handle the associated relocations properly. Those responsible at
Codesourcery have refused to consider fixing this. Blame them for
making shared libraries slower than they need to be.
Originally committed as revision 20203 to svn://svn.ffmpeg.org/ffmpeg/trunk
ebx_available if both "b" constraint and exb clobber code compile.
This is to fix compilation with Mac OSX 10.5.8's gcc 4.0.1 in 64
bit mode (-m64) which only fails for ebx/rbx clobbers but not
"b" constraints - this is probably a compiler bug.
Originally committed as revision 20107 to svn://svn.ffmpeg.org/ffmpeg/trunk
The test using clobber incorrectly indicates ebx to be available with the
default compilers on OpenBSD 4.5 and Haiku.
Originally committed as revision 20101 to svn://svn.ffmpeg.org/ffmpeg/trunk
Apparently some versions of armcc do not identify as RVCT. This
changes the test to a string used by all versions.
Originally committed as revision 19985 to svn://svn.ffmpeg.org/ffmpeg/trunk
Remove gcc-specific hacks and allow filling relevant information for non-gcc
compilers in configure.
Originally committed as revision 19963 to svn://svn.ffmpeg.org/ffmpeg/trunk
As a sideeffect this moves more interesting variables to the top of config.mak.
Originally committed as revision 19950 to svn://svn.ffmpeg.org/ffmpeg/trunk
if the "shared" var has not been explicitely enabled, rather than if
it has been explicitly disabled.
This way is not necessary to explicitly disable shared libraries in
order to have a pc file usable with only static libraries.
Originally committed as revision 19868 to svn://svn.ffmpeg.org/ffmpeg/trunk
libx264 recently started mangling the name of x264_encoder_open() to
prevent version mismatches, breaking our test. Checking for another
function instead makes it work again.
Originally committed as revision 19754 to svn://svn.ffmpeg.org/ffmpeg/trunk
This makes comma-separated patters to --disable-decoder and friends
work correctly with POSIX-compliant shells.
Originally committed as revision 19688 to svn://svn.ffmpeg.org/ffmpeg/trunk
Using this flag enables position-independent code even when not strictly
required. It is impossible to use --disable-pic to forcibly disable PIC
when other properties mandate it.
Originally committed as revision 19672 to svn://svn.ffmpeg.org/ffmpeg/trunk
Recognise AVR32 processor names as well as the generic "ap" and "uc"
family names as values for --cpu. Also define two subtypes, avr32_ap
and avr32_uc.
Originally committed as revision 19663 to svn://svn.ffmpeg.org/ffmpeg/trunk
We do the same for libschroedinger and already use pkg-config to generate
the CFLAGS for libdirac anyway, so there is no new dependency.
Thanks to Kovensky for reporting breakage on IRC.
Originally committed as revision 19654 to svn://svn.ffmpeg.org/ffmpeg/trunk
When running behind ccache, the output from -MMD is corrupted unless
we also use the -MF and -MT flags.
Since ccache is difficult to detect and gcc 2.x doesn't support the
-MF and -MT flags, we always use the old dependency generation method
when gcc 2.x is detected.
Originally committed as revision 19620 to svn://svn.ffmpeg.org/ffmpeg/trunk
-mdynamic-no-pic is required for it, but it was only
added to CFLAGS and the check only used ASFLAGS.
Originally committed as revision 19614 to svn://svn.ffmpeg.org/ffmpeg/trunk
The argument to these options is now a comma-separated list of shell
patterns, e.g. --disable-decoder='indeo*,rv*'
Originally committed as revision 19604 to svn://svn.ffmpeg.org/ffmpeg/trunk
The name can now be a standard shell pattern. For example,
--disable-encoder=* disables all encoders.
Originally committed as revision 19603 to svn://svn.ffmpeg.org/ffmpeg/trunk
This requires a gcc version with -march=native or -mcpu=native support,
which is somewhat random for non-x86.
Originally committed as revision 19602 to svn://svn.ffmpeg.org/ffmpeg/trunk
Instead, #include config.h at the top of common.h so that av_always_inline
does not get doubly defined.
Originally committed as revision 19553 to svn://svn.ffmpeg.org/ffmpeg/trunk
This avoids a ton of redefinition warnings.
patch by Jeff Downs, heydowns borg com
Originally committed as revision 19548 to svn://svn.ffmpeg.org/ffmpeg/trunk
patch by Martin Storsjö, martin martin st and Ismail Dönmez, ismail namtrac org
Originally committed as revision 19521 to svn://svn.ffmpeg.org/ffmpeg/trunk
Rationale:
- Current versions of XLC accept gcc flags
- XLC can't compile FFmpeg
Originally committed as revision 19488 to svn://svn.ffmpeg.org/ffmpeg/trunk
missed them in r19293. Re-enable version check on w32api.h if the
vfwcap input device has been selected.
Originally committed as revision 19461 to svn://svn.ffmpeg.org/ffmpeg/trunk
It is possible that the compiler requires flags set by the --cpu
option, so we should not attempt to run it before those flags have
been added.
Originally committed as revision 19452 to svn://svn.ffmpeg.org/ffmpeg/trunk
We do not issue similar warnings for other architectures, and we
generally assume users know what they want.
Originally committed as revision 19445 to svn://svn.ffmpeg.org/ffmpeg/trunk
optimized out by gcc when the headers lied about the function existing,
rendering the test useless in that situation.
This new test throws a warning in mingw-w64, but that should not be a problem.
Patch by Martin Storsjö <martin at martin dot st>
Originally committed as revision 19440 to svn://svn.ffmpeg.org/ffmpeg/trunk
The auto-vectoriser in gcc is enabled by default at -O3 since version
4.3. However, it provides no speed benefit, but does produce incorrect
code on many targets. Disabling it for gcc should give more reliable
builds.
If the adventurous want it back, they can edit the makefile themselves.
Originally committed as revision 19439 to svn://svn.ffmpeg.org/ffmpeg/trunk
Altivec, NEON, and SSE require more alignment than standard malloc()
guarantees, whereas MMX does not. Update checks to reflect this.
Originally committed as revision 19438 to svn://svn.ffmpeg.org/ffmpeg/trunk
On Windows CE, the Winsock library name is ws2, not ws2_32.
patch by Martin Storsjö, martin martin st
Originally committed as revision 19431 to svn://svn.ffmpeg.org/ffmpeg/trunk
This allows use of the add_*flags functions in the compiler detection
section.
Originally committed as revision 19428 to svn://svn.ffmpeg.org/ffmpeg/trunk
This can be used to map gcc-type flags to equivalents with other
compilers.
Originally committed as revision 19421 to svn://svn.ffmpeg.org/ffmpeg/trunk
This avoids duplicating the full DEPEND_CMD line only to change some
flags.
Originally committed as revision 19419 to svn://svn.ffmpeg.org/ffmpeg/trunk
Setting this value using ?= caused some trouble if it was already
defined in the environment.
Originally committed as revision 19418 to svn://svn.ffmpeg.org/ffmpeg/trunk
Some of the values set here are modified by the main makefiles
and should not be reset when config.mak is included again.
Originally committed as revision 19417 to svn://svn.ffmpeg.org/ffmpeg/trunk
Some compilers do not use the typical -c -o foo.o style.
This allows compiler-specific equivalents to be set by the
configure script.
Originally committed as revision 19409 to svn://svn.ffmpeg.org/ffmpeg/trunk
The VAAPI/VDPAU variants of foo require almost all of the code of foo.
Thus it makes little sense to enable just the accelerated variant.
This allows refactoring some object dependencies in the Makefiles.
Originally committed as revision 19403 to svn://svn.ffmpeg.org/ffmpeg/trunk
--enable-indev, --enable-outdev rather than --enable-demuxer,
--enable-muxer as before, same for disabling them.
Originally committed as revision 19293 to svn://svn.ffmpeg.org/ffmpeg/trunk
As a positive sideeffect, VAAPI/VDPAU objects need no longer be listed
for all VAAPI/VDPAU-related decoders.
Originally committed as revision 19145 to svn://svn.ffmpeg.org/ffmpeg/trunk
As a side-effect this also gives it the correct value on e.g. PPC970FX-based
PPC64 systems, thus fixing "make test" (mp2/mp3 decoding).
Originally committed as revision 18953 to svn://svn.ffmpeg.org/ffmpeg/trunk
PPC is normally big endian but has special little endian load/store
instructions. Using these avoids a separate byteswap. This makes the
vorbis decoder about 5% faster. Not much else uses little-endian
read/write extensively.
GCC generates horrible PPC code for the default AV_[RW]B64 (which uses
a packed struct), so we override it with a plain pointer cast.
Originally committed as revision 18602 to svn://svn.ffmpeg.org/ffmpeg/trunk
trying to enable libamrnb support. The latter function is actually used.
patch by Martin Storsjö, martin martin st
Originally committed as revision 18526 to svn://svn.ffmpeg.org/ffmpeg/trunk
The bug[1] is exposed when gcc decides to put some data in a common
section (i.e. data that will be used by more than one object). It will
suggest the data to be aligned, but binutils >= 2.19 will fail to
properly align it. Thus if the data requires any alignment greater
than 4, the application will crash.
The workaround prevents gcc from putting data in a common section,
instead putting it in a properly aligned section.
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37216
Originally committed as revision 18501 to svn://svn.ffmpeg.org/ffmpeg/trunk
Patch by Olivier Guilyardi list samalyse com.
See the thread: "[FFmpeg-devel] [PATCH] libavdevice: JACK demuxer".
Originally committed as revision 18322 to svn://svn.ffmpeg.org/ffmpeg/trunk