Commit Graph

3147 Commits

Author SHA1 Message Date
Michael Niedermayer 1b26460788 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Separate MinGW32 and MinGW64 libc handling

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-08 19:01:02 +01:00
Alexander Strasser cea5812fa7 configure: Special case libfreetype test
Include the freetype header, in-directly through a macro, like it
is done in the drawtext filter. Do not break if the header is moved.

Unfortunately the drawtext filter included the file where the include
macros are defined in a wrong way. This is not needed and breaks the
build. Remove that #include line too.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2013-12-08 18:21:46 +01:00
Diego Biurrun 120797e2ef configure: Separate MinGW32 and MinGW64 libc handling 2013-12-08 01:00:36 +01:00
Stefano Sabatini 5b073da7a1 doc: add script to compute texi files dependencies
Replace the inline awk script with a Perl script which tracks the
dependencies recursively.

This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).

This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.

This is a variant of commit 628ceac652
which was reverted due to out-of-tree build failure.
2013-12-06 10:40:38 +01:00
James Almer 56572787ae Add Windows resource file support for shared libraries
Originally written by James Almer <jamrial@gmail.com>

With the following contributions by Timothy Gu <timothygu99@gmail.com>

* Use descriptions of libraries from the pkg-config file generation function
* Use "FFmpeg Project" as CompanyName (suggested by Alexander Strasser)
* Use "FFmpeg" for ProductName as MSDN says "name of the product with which the
  file is distributed" [1].
* Use FFmpeg's version (N-xxxxx-gxxxxxxx) for ProductVersion per MSDN [1].
* Only build the .rc files when --enable-small is not enabled.

[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa381058.aspx

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-05 23:42:07 +01:00
Michael Niedermayer 8dd4f5ecf9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Detect msvcrt libc with a CPP check instead of a link check

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 22:07:37 +01:00
Michael Niedermayer 517ec80859 Merge commit '5ec467328122b80fac94c2d5e3e7540d50381868'
* commit '5ec467328122b80fac94c2d5e3e7540d50381868':
  configure: Add detected C library and host compiler to informative output

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-04 20:50:23 +01:00
Diego Biurrun bd8b6185f6 configure: Detect msvcrt libc with a CPP check instead of a link check
Simplifies host/target libc detection splitting.
2013-12-04 11:50:59 -05:00
Diego Biurrun 5ec4673281 configure: Add detected C library and host compiler to informative output 2013-12-04 09:53:58 -05:00
Michael Niedermayer 749eb46d64 configure: put pthread_create() check back
Unbreaks freebsd, broken since f058f384a0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-02 11:11:56 +01:00
Michael Niedermayer d43d627a24 Merge commit 'f058f384a0d76bfd125f4738dceab7c890186432'
* commit 'f058f384a0d76bfd125f4738dceab7c890186432':
  configure: Do not use pthread_create to check for pthread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-30 20:40:59 +01:00
Luca Barbato f058f384a0 configure: Do not use pthread_create to check for pthread
Certain instrumentation addons leads to a false positive in configure
and link failures at the end of the build phase.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-11-30 13:01:35 +01:00
Michael Niedermayer 191454f26e configure: remove code that disables striping in the absence of some flags
This prevents breaking (non asm) striping in that case

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 21:35:12 +01:00
Michael Niedermayer e283c26c35 build sys: rename STRIPFLAGS to ASMSTRIPFLAGS
This more closely matches the actual use, also we use plain
strip without these flags for striping

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 21:29:13 +01:00
Michael Niedermayer 71b95f2ab6 Merge commit '0673ede985a6560e7efb86dab1c58fb7f95ce587'
* commit '0673ede985a6560e7efb86dab1c58fb7f95ce587':
  configure: add strip flags checks

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 21:27:17 +01:00
Vittorio Giovara 0673ede985 configure: add strip flags checks
This will check if -wN '..@*' is available and fall back on -x if not;
when none are available, do not run strip at all to prevent removing
functions that might be actually needed.
2013-11-28 15:37:10 +01:00
Clément Bœsch 1a88e84fd5 build: integrate remaining examples. 2013-11-28 13:55:34 +01:00
Michael Niedermayer 0075a22f41 Revert "configure: add #include "version.h" to config.h"
This reverts commit ca21116b3f.

Revert suggested by Jamal:
"Bad secondary effect i just noticed: Every time version.h is changed
 (git pull for example), anything that includes config.h will be
 recompiled. And that means pretty much every single file in the tree.
"
2013-11-28 00:19:45 +01:00
Timothy Gu ca21116b3f configure: add #include "version.h" to config.h
Avoid clash with version.h of the libraries.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 23:06:13 +01:00
Michael Niedermayer 7497c894cd doc/examples/transcode_aac: switch to swresample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 11:15:48 +01:00
Michael Niedermayer 715f3623f8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Add an audio transcoding example.

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 10:31:08 +01:00
Andreas Unterweger 10421bcf0a Add an audio transcoding example.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-27 09:20:05 +01:00
Michael Niedermayer a12b4bd107 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Check for pod2man instead of perl for manual page generation

Conflicts:
	configure
	doc/Makefile

The code that this changes is mostly not part of ffmpeg
thus only a few whitespaces end up being merged

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-27 02:35:38 +01:00
Diego Biurrun 92f0abb27f build: Check for pod2man instead of perl for manual page generation
Some systems provide Perl without pod2man.
2013-11-26 13:49:06 -08:00
Diego Biurrun 4da3f410d1 configure: Restore doc option to disable building the documentation
Also add appropriate dependency declarations for perl and texi2html.
2013-11-26 13:49:06 -08:00
Stefano Sabatini 4c4710a745 configure: define CONFIG_THIS_YEAR at the configure level
The macro value can be shared between configure script and cmdutils.c.
2013-11-26 09:54:40 +01:00
Michael Niedermayer 6d34aa245d Merge commit 'ab81f24ad43bddf77ddd25cba86780c1c884996c'
* commit 'ab81f24ad43bddf77ddd25cba86780c1c884996c':
  build: Integrate multilibrary examples into the build system

Conflicts:
	configure
	doc/Makefile
	doc/examples/muxing.c
	doc/examples/output.c
	libavformat/Makefile
	libavformat/output-example.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-26 01:31:00 +01:00
Diego Biurrun ab81f24ad4 build: Integrate multilibrary examples into the build system
This includes moving libavformat/output-example to doc/examples/output.
2013-11-25 11:57:29 -08:00
James Almer eff2edae56 Partially revert "Merge commit 'f187557ab4612776f7f527ecf3d40062975c3e4c'"
This partially reverts commit c0237d19a0
Some scripts make use of --disable-doc

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-25 01:53:12 +01:00
Michael Niedermayer 988bda8a69 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Import makedef script from c99-to-c89

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 23:27:32 +01:00
Derek Buitenhuis dedfa00107 build: Import makedef script from c99-to-c89
This allows MSVC 2013 and ICL to build with no external
dependencies.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-11-24 19:36:09 +00:00
Michael Niedermayer c0237d19a0 Merge commit 'f187557ab4612776f7f527ecf3d40062975c3e4c'
* commit 'f187557ab4612776f7f527ecf3d40062975c3e4c':
  build: more fine-grained dependencies for documentation build tools

Conflicts:
	configure
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-24 04:55:35 +01:00
Diego Biurrun f187557ab4 build: more fine-grained dependencies for documentation build tools
Perl is needed to build the manual pages, texi2html for the HTML pages.
2013-11-23 09:45:06 -08:00
Michael Niedermayer 3e641b4842 Merge commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea'
* commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea':
  avconv: add support for VDPAU decoding

Conflicts:
	Changelog
	Makefile
	configure
	ffmpeg.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-23 14:46:48 +01:00
Anton Khirnov 7671dd7cd7 avconv: add support for VDPAU decoding 2013-11-23 11:55:53 +01:00
Reimar Döffinger 97a0bad87c Add --enable-rpath option to add -Wl,-rpath to pkg-config files.
This allows installing into e.g. /usr/lib/ffmpeg and binaries linked
against ffmpeg will pick these .so file while binaries linked against
some fork or different version will pick the libraries in /usr/lib.
There will be still some issues for binaries that (indirectly) end up
depending on multiple variants, but for the simpler cases it should allow
different applications to use different (compatible) variants that
are installed at the same time.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-11-23 09:57:38 +01:00
Michael Niedermayer 8c9df116cd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Avoid requiring c99wrap for working around msys path issues

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-21 12:10:15 +01:00
Martin Storsjö ea9f7173ae configure: Avoid requiring c99wrap for working around msys path issues
Msys is unable to convert unix style absolute paths to windows style
paths when combined with certain multichar MSVC options such as
-Fo<file>. We used to work around this issue by passing them as two
separate parameters separated by a space to c99wrap, which then mapped
them back to the actual parameter format that MSVC uses.

The only paths that actually are an issue are absolute unix style
paths, and the only place such absolute paths are used with the output
arguments (-Fo, -Fe, -Fi, -out:) are for the temp files within configure.

By setting TMPDIR to . for msvc/icl builds, we never need to use
absolute unix style paths for the file output, and we can use the
actual proper form of the file output parameters. This avoids requiring
the c99wrap wrapper for remapping the parameters for cases where the
c99 converter isn't invoked at all (MSVC2013 and ICL).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-21 12:35:24 +02:00
Michael Niedermayer bb7f3ddd42 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  win{32,64}: Hard disable symbol versioning

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-20 04:21:36 +01:00
Derek Buitenhuis 03f6d4e0f1 win{32,64}: Hard disable symbol versioning
ICL doesn't return an error on unknown parameters, and will
always pass the symver_gnu_asm test, and since Windows
never has symbol versioning, just always disable it.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-11-19 21:30:13 +00:00
Michael Niedermayer b31587af4b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Don't use symlinks for creating the out of tree makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-19 11:34:50 +01:00
Martin Storsjö fa48be9b95 configure: Don't use symlinks for creating the out of tree makefile
On some platforms (such as msys), symlinks are (poorly) emulated
by simply creating a copy of the file.

This means that when building out of tree, the build tree gets
a copy of the original makefile, which can lead to unintuitive
build errors when the original makefile gets updated later.

Instead simply create a stub makefile which includes the real
one.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-19 10:12:58 +02:00
Carl Eugen Hoyos d4a6133ab8 Add decoder dependency to the HEVC parser.
Fixes compilation with --disable-everything --enable-parser=hevc
2013-11-18 17:48:17 +01:00
Ronald S. Bultje 72ca830f51 lavc: VP9 decoder
Originally written by Ronald S. Bultje <rsbultje@gmail.com> and
Clément Bœsch <u@pkh.me>

Further contributions by:
Anton Khirnov <anton@khirnov.net>
Diego Biurrun <diego@biurrun.de>
Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö <martin@martin.st>

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-11-15 10:16:28 +01:00
Michael Niedermayer a7663ad9cf Merge commit '16381923fb7b9087ce559fb1cd3594469ac6788b'
* commit '16381923fb7b9087ce559fb1cd3594469ac6788b':
  configure: Check whether MSVC requires using the C89-to-C99 converter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-14 02:34:34 +01:00
Martin Storsjö 16381923fb configure: Check whether MSVC requires using the C89-to-C99 converter
MSVC does support enough of C99 to work without the converter since
the 2013 version. Try to detect which version of the compiler in
the path needs to run the C99 converter or not. When the converter
is omitted, compilation time is reduced quite drastically.

Prior to this, users could still use --cc="c99conv -noconv cl"
when running MSVC 2013 to achieve the same.

This checks the version number instead of doing a normal compile
test, since this check needs to be done earlier in configure, before
the normal compile test helpers are usable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-13 20:55:11 +02:00
Clément Bœsch dbb41f93c1 build: avoid stdin stall with GNU AS probing.
a758c5e added probing for various tools, such as AS. Unfortunately, GNU
AS is reading stdin with -v, and thus configure is stalled with
configure arguments such as --as=as.

Fixes Ticket #1898.
2013-11-09 12:38:12 +01:00
Michael Niedermayer a30f7918b5 Merge commit '0338c396987c82b41d322630ea9712fe5f9561d6'
* commit '0338c396987c82b41d322630ea9712fe5f9561d6':
  dsputil: Split off H.263 bits into their own H263DSPContext

Conflicts:
	configure
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-08 17:42:56 +01:00
Diego Biurrun 0338c39698 dsputil: Split off H.263 bits into their own H263DSPContext 2013-11-08 12:40:47 +01:00
Michael Niedermayer 6cfaf9cde8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Move -Wno-maybe-uninitialized check into gcc section

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-05 21:58:44 +01:00