The versioning facility in the Solaris linker differs from Linux in 3 ways:
1. It does not support globs in linker scripts for
symbol versioning -- this is a GNU extension.
2. The linker argument is '-M', instead of '--version-script'.
3. It is picky about line endings.
Each symbol or directive must be on a line of it's own.
Let's use make_sunver.pl from GCC to generate a version script that works
correctly with the Solaris linker. It's function is to correctly expand the
globs in the original generated version script.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* commit 'd7a5a178c252b625537adc046392624ad543dea7':
configure: When disabling a library disable all the related components
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
When trying to build the binary dct-test under MSYS2/Win64, the
makefile rule does not have the SUBDIR in the target for its
object file.
Consequently, modifications to various include files (e.g. C ones)
do not trigger a recompilation.
When tracing the dependency generating, the dependency generation
has this strange content (linebreak inserted):
sed -e "/^#.*/d" -e "s,^[[:space:]]*dct\\.o,libavcodec/dct.o," \
> libavcodec/dct-test.d
For some reason, the $(*F) has weird content. It looks simpler to
use $(@F) instead of $(*F)\\.o, although this was tested on one
single version of make.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This way is sufficient to use the component specific configure variable
and not guard against the global library configure variable in code
that is outside it (e.g. checkasm).
Currently, errors are thrown for various macros while building that are completely bogus.
They occur during the dependency (.d) generation phase, and have no bearing on the compiled output,
since only the stdout is piped into the sed command to generate the .d files.
They basically occur as the relevant -I paths are not (and cannot be passed) during
the dependancy generation phase.
As such, this patch silences them.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '678f788fea3380e5cbbf75baac5cc0ce07a56a42':
configure: Set the initial ldflags to match the cflags
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Some gcc-based toolchain would fail to link if the abi set by the
cpuflags does not match the default.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
The appropriate flag for HEASLR (--high-entropy-va) was added in
binutils 2.25.
Also set the image base >4GB so higher entropy gets applied to image
base randomization when used with HEASLR (8 -> 17 bits of
randomization). Windows does this for compatibility because of "latent
pointer truncation issues".
Signed-off-by: Alex Smith <alex.smith@warpsharp.info>
There's no reason for it. ASLR will rebase it regardless so "preventing
collisions" isn't really relevant. This also brings it in line with
what a msvc produced dll will have (an image base of 0x10000000).
Signed-off-by: Alex Smith <alex.smith@warpsharp.info>
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
They were added to binutils in the same version so it's safe to combine.
Signed-off-by: Alex Smith <theryuu@warpsharp.info>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Binutils will always strip the relocation information from executable
files even if it needs it (dynamicbase/ASLR). We can work around this
by using the pic-executable flag combined with setting the correct entry
point since apparently ld forgets what that should be. This problem
affects both 32 and 64-bit mingw-w64.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
If tput is not found for colorizing, error message should be squashed.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
op== is confusing, as it may easily be mistook for an equality check,
while in reality it is doing an assigment to '='.
This patch has the additional benefit of cleaning up 2 warnings from shellcheck.net.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Should fix compilation with mingw-w64 trunk, where ID3D11VideoDecoder is available
but ID3D11VideoContext still isn't.
Signed-off-by: James Almer <jamrial@gmail.com>
Fixes linking in FFMS and f265 at least, when ffmpeg is compiled with
libsoxr.
Signed-off-by: Ricardo Constantino <wiiaboo@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This patch introduces color warning messages (yellow).
They are enabled whenever available.
Tested with zsh, bash, and sh (bash under --posix).
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Better message that ffplay is not going to be built by printing out what
will be built.
Based on a patch by Moritz Barsnick.
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
The wiki, Ticket1464, and Ticket3970 warn about the usage of GCC 4.2.
This fixes Ticket3970.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
grep is not necessary for the functionality.
This avoids an unnecessary fork.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
And update the preference for the newer codecs now that the libraries
seem stable and widespread enough.
Bug-Id: 695
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
grep is not required for the functionality in this instance.
This avoids an unnecessary fork, and also avoids a duplicated dumpversion call.
Furthermore, it also corrects behavior when no minor version number is present, see e.g
https://github.com/joyent/node/pull/25671.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
When building SDL with MinGW, it sets -mwindows with the
assumption that the application is a GUI application. If this
is linked without passing -mconsole to configure via
--extra-ldflags, stdout will be silenced from cmd.exe while
running FFmpeg.
The -mwindows flag that causes this behavior is included in the
sdl_libs variable, so append -mconsole there rather than create
an sdl_ldflags case just to insert it (especially if -mconsole
must come *after* -mwindows in order to be effective).
Reviewed-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This filter can be used to scale one stream to match another or based on
another, useful to scale subtitles or other things to be overlayed
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Don't try to detect the float ABI by checking at the toolchain
name or by trying to assemble and link files with eabi_attributes.
This fixes the float ABI detection when building using clang
with -fembed-bitcode, where the current eabi_attributes check
accidentally passes.
This issue was pointed out by James Howe <james.howe@hp.com>.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Fixes compilation with --disable-everything --enable-encoder=mjpeg
While there, clean up some recursive dependencies.
Reported-by: Bernhard Döbler, programmer bardware de
On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.
The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
On Xcode's clang on OS X, $cc --version will output a 'Configured with:'
line to stderr, which clobbers the configure script output. As this line
serves no further purpose, it should be silenced.
The same applies to apple-gcc 4.2.1, which complains that it can not
understand the kernel version it is running on.
Reviewed-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'c6e0829e3696c894d24c8088c3ee30a9c17534c2':
configure: Don't force _WIN32_WINNT to an older version if targeting winphone/winrt
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'd75b55635a02444c2f188c26e431a1cec992babe':
dxva2/d3d11va: Set _WIN32_WINNT to 0x0602 instead of 0x0600
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This avoids having to manually set _WIN32_WINNT in --extra-cflags
when targeting these API families, which only was necessary to
work around configure setting _WIN32_WINNT to an older version
by default.
Signed-off-by: Martin Storsjö <martin@martin.st>
If _WIN32_WINNT is unset, we force it to a new enough value to
make sure the necessary definitions are visible.
When targeting Windows Phone or Windows RT, _WIN32_WINNT should
be at least 0x0602 - otherwise the windows headers themselves
can cause errors (which technically are bugs in the headers).
Raising this value here shouldn't hurt; the alternative would
be to not touch it at all if WINAPI_FAMILY is set to phone/app,
or to force setting it to 0x0602 in configure if unset (for phone/app).
Signed-off-by: Martin Storsjö <martin@martin.st>
This macro identifies whether VFPv3 is available; MSVC defaults
to hardfloat (except for older MSVC versions for CE, targeting
ARMv4).
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '60a21b3d81c1a11cf5a08950eadd4e84ca2e597c':
configure: Check for _M_ARMT to detect thumb when using MSVC
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '2192ff84dd720968108bc1ca54e239f4c94eb61d':
configure: Default to armasm for --toolchain=msvc when targeting arm
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '342b0ba5f93b09b1d0c2597db44605300e6fcc53':
configure: Only redirect strtoll to _strtoi64 if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '5fd553d31272d5ed42a7a5a0ecaab7b3452da83a':
configure: Only redefine inline to __inline for msvc if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
* commit '0cff125200ab53fa3ae70d85b4f614f269fe3426':
configure: Only add -FIstdlib.h for msvc/icl if necessary
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.
Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.
The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This is only necessary on MSVC 2010/2012 (and possibly on some
ICL versions). This both avoids an extra hack on newer MSVC
versions, and better documents what the extra compiler option
is used for.
Signed-off-by: Martin Storsjö <martin@martin.st>
The struct definitions in dxva.h, which are necessary in order to
actually use d3d11va, are hidden when WINAPI_FAMILY targets Windows Phone
or WindowsRT.
Building with WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP is disallowed
when targeting ARM. ("Compiling Desktop applications for the ARM
platform is not supported.") So we set _CRT_BUILD_DESKTOP_APP to 0
to tell the runtime not to detect some issues with this mismatching.
The same tweaks to detect if the API is available is done in dxva2_internal.h
when compiling each DXVA2/D3D11VA decoders.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit 'bf52f773913cf74bdf0d2c8c2cb4473fa1b7801e':
lavc: add Intel libmfx-based MPEG2 decoder.
Conflicts:
configure
libavcodec/qsvdec_mpeg2.c
Some cosmetics merged, rest is related to the removed parser code and
thus not merged
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
Otherwise it would get translated like a library path (-L option),
which breaks setting the flag.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
favor link over link.exe in case some wrapper script already exists
fallback to "link" in the path if the one next to cl is not found
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* commit 'a54e720e0289433d6bc3f7ba0a37fa5cabfaeea9':
configure: force -nologo- when detecting MSVC
Conflicts:
configure
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
The -nologo- option is the inverse of -nologo, reenabling printing the
"logo" version header. This is useful if the compiler actually is a
wrapper that forces -nologo.
Signed-off-by: Martin Storsjö <martin@martin.st>