Commit Graph

549 Commits

Author SHA1 Message Date
Diego Biurrun
3e105d0884 build: Move entries related to building TOOLS to a subdirectory Makefile 2016-12-07 11:02:31 +01:00
Diego Biurrun
4104cc5622 build: Warn that reconfiguration is necessary if version.h files changed
The library versions are stored in the config.mak file and are used
to derive shared library names.
2016-12-07 11:02:31 +01:00
Diego Biurrun
5d45fe7da9 build: Add EXTRALIBS to TOOLS linker command
EXTRALIBS contains general and platform-specific extra libraries
that should be part of all linker commands.
2016-12-05 16:39:52 +01:00
Diego Biurrun
3794062ab1 Remove Plan 9 support
Supporting the system was a nice joke for the 9 release, but it has
run its course. Nowadays Plan 9 receives no testing and has no
practical usefulness.
2016-12-03 09:15:01 +01:00
Diego Biurrun
14cab426b0 build: Hardcode avversion.h dependency
Since avversion.h is a generated header it must be created before
dependencies can be determined as a side effect of compilation.
Otherwise Make stops and restarts the build process to generate
avversion.h and produces related error messages.
2016-10-27 11:54:06 +02:00
Anton Khirnov
7c9e2b295e Makefile: fix checking whether reconfiguring is required
It didn't take into account the new pattern used for bitstream filters
and protocols.
2016-10-21 10:11:36 +02:00
Diego Biurrun
d32571626a build: Add VSX-OBJS to SUBDIR_VARS
The variable needs to be reset for each subdirectory.
2016-10-18 00:10:36 +02:00
Diego Biurrun
93d5b022a9 build: Drop duplicate asm recipe
And move the asm recipe to the top-level Makefile next to the other
local pattern rules for .o files.
2016-10-17 16:25:35 +02:00
Diego Biurrun
c5fd4b5061 build: Simplify postprocessing of linker version script files
Generate the files in a single postprocessing step w/o intermediate files.
2016-05-29 16:49:16 +02:00
Diego Biurrun
535a742c26 build: Change structure of the linker version script templates
Split version files into one line per symbol/directive to allow compatibility
with the Solaris linker without preprocessing and eliminate $ from version file
templates to simplify the postprocessing shell command.
2016-05-29 16:43:11 +02:00
Diego Biurrun
5b1b495c8d build: Print a message when generating version scripts 2016-05-29 15:09:05 +02:00
Diego Biurrun
6641819fee build: Ignore generated mapfile and remove it on distclean 2016-05-27 11:27:24 +02:00
Anton Khirnov
06edef3d5e Generate the lists of enabled protocols/bsfs from configure. 2016-04-19 13:34:07 +02:00
Diego Biurrun
01621202aa build: miscellaneous cosmetics
Restore alphabetical order in lists, break overly long lines, do some
prettyprinting, add some explanatory section comments, group parts
together that belong together logically.
2016-04-07 15:26:08 +02:00
Mark Thompson
5d273d3efa avconv: VAAPI hwcontext initialisation and hwaccel helper
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-03-30 09:04:53 +02:00
Luca Barbato
9f57f134c1 configure: ObjC support
Assume that the default C compiler and the default ObjC compiler match
(default for OSX).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-11-26 10:39:15 +01:00
Anton Khirnov
fb472e1a11 avconv: add support for Intel QSV-accelerated transcoding
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-10-16 20:01:37 +02:00
Sean McGovern
c1aac39eac build: add Solaris symbol versioning
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>
2015-10-11 15:42:36 +02:00
Luca Barbato
3ae0e721c7 checkasm: Always link statically
Checkasm needs to use internal symbols that should not be made public.
2015-07-21 23:22:42 +02:00
wm4
1316df7aa9 lavu: add an API function to return the Libav version string
This returns something like "v12_dev0-1332-g333a27c". This is much more
useful than the individual library versions, of which there are too
many, and which are very hard to map back to releases or git commits.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-07-02 23:22:53 +02:00
Janne Grunau
d45ebd4876 configure: add support for neon intrinsics 2014-07-21 23:18:29 +02:00
Luca Barbato
bb0babd705 build: Support executable only ldflags
The options is useful to build position-independent executables on
hardened systems (e.g. Android L and Gentoo Hardened).
2014-07-21 22:18:35 +02:00
Anton Khirnov
894682a973 Remove avserver.
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
2014-06-18 14:55:28 +02:00
Janne Grunau
5e2ba41d4b build: add avresample after avcodec to FFLIBS
avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with
--enable-neon-clobber-test.
2014-05-15 17:53:55 +02:00
Anton Khirnov
1839fafa95 avconv: Support VDA hwaccel
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-11 15:00:03 +02:00
Anton Khirnov
a61c2115fb configure: rework dxva in avconv handling
Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.

Fixes build on non-Windows.
2014-04-28 23:02:56 +02:00
Hendrik Leppkes
35177ba77f avconv: add support for DXVA2 decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-28 21:21:54 +02:00
Janne Grunau
8675bcb0ad aarch64: add armv8 CPU flag 2014-04-06 21:18:49 +02:00
Diego Biurrun
b4dd424d96 Remove all SPARC architecture optimizations
SPARC is no longer being used in any multimedia-related fields and the
VIS optimizations only represent a maintenance burden.
2014-03-13 05:50:28 -07:00
Diego Biurrun
5a9fcc7d25 build: Add rule for building host-specific object files 2013-12-02 13:13:09 +01:00
Diego Biurrun
ad47771024 build: Add shorthand for HOSTCC compile macro 2013-12-02 13:13:09 +01:00
Martin Storsjö
dc80e2f7a5 Makefile: Fix building programs on systems with a nonempty executable suffix
This fixes leftover issues from 14abeaa4 which caused make
rules for programs to not match up properly when the executable
suffix was nonempty.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-11-26 23:31:09 +02: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
Diego Biurrun
14abeaa43d build: Separate building programs linking against libav* from building av*
This will allow cleaner integration of building example programs.
2013-11-25 11:57:29 -08:00
Anton Khirnov
7671dd7cd7 avconv: add support for VDPAU decoding 2013-11-23 11:55:53 +01:00
Diego Biurrun
8b63ebcb03 build: Remove redundant OBJS declaration intended for programs 2013-11-03 18:52:11 +01:00
Diego Biurrun
c7f25d4c7f build: Ensure that strip commands are run silently 2013-10-31 11:48:59 +01:00
Anton Khirnov
90f9a5830b w32pthreads: move from lavc to compat/
It will be used in other places than lavc.
2013-05-24 09:26:54 +02:00
Reinhard Tartler
a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Diego Biurrun
b4d24b471b build: Remove configure-generated .config file on distclean 2013-03-27 14:49:13 +01:00
Diego Biurrun
4cc4b33f71 build: Add proper infrastructure for adding and checking host CPPFLAGS 2013-02-23 20:23:45 +01:00
Mans Rullgard
395c3feb3b build: fix 'clean' target
This fixes removal of TOOLS as well as HOSTPROGS declared in the
top-level Makefile.  The clean target in common.mak needs to be
eval'd since the variables used within are reset for each library.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-10 17:23:53 +00:00
Mans Rullgard
b326755989 arm: rename ARMVFP config symbol to VFP
This is consistent with usual ARM nomenclature as well as with the
VFPV3 and NEON symbols which both lack the ARM prefix.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-12-07 16:54:04 +00:00
Mans Rullgard
c262649291 build: add rules to generate preprocessed source files
This is useful for debugging.  Dependencies for these files are not
generated due to limitations in many compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:03:32 +00:00
Diego Biurrun
04581c8c77 x86: yasm: Use complete source path for macro helper %includes
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Martin Storsjö
121604b024 build: Include HEADERS-yes in the HEADERS variable
This makes sure the previously always installed public header
lzo.h is installed if the LZO functionality is enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-25 18:36:11 +03:00
Mans Rullgard
80521c1997 build: allow targets to specify extra objects to link with executables
This allows targets to include special objects when linking
executables without including them in (shared) libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-23 12:00:22 +01:00
Mans Rullgard
07b3790d36 build: simplify linking tools with cmdutils.o
This avoids repeating cmdutils.o in both the prerequisites and
the link command.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15 22:28:07 +01:00
Diego Biurrun
ca411fc1d3 avcodec: Remove broken MMI optimizations
The code fails to compile and is broken beyond repair.
2012-10-12 20:56:54 +02:00
Mans Rullgard
8db73c61a7 build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes.  System library flags are already handled
by the filtering mechanism in configure.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-29 14:16:54 +01:00