Commit Graph

564 Commits

Author SHA1 Message Date
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
Mans Rullgard
7baa115a33 build: export filtered -lz flag in config.mak
This is needed to link tools/cws2fws using a linker with non-standard
command line syntax.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Mans Rullgard
095792f253 build: add separate setting for host linker
This adds new HOSTLD and related settings for host linker allowing
it to be different from HOSTCC.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-28 23:40:30 +01:00
Diego Biurrun
8f7c26e392 build: Use portable abstraction for linker/hostcc output file syntax 2012-08-27 20:37:48 +02:00
Diego Biurrun
24d3796d21 build: add HOSTOBJS to SUBDIR_VARS list
Even though HOSTOBJS are not referenced directly in subdirectory Makefile
snippets right now, robustness requires resetting the variable contents.
2012-08-09 03:49:19 +02:00
Diego Biurrun
5864eb427f build: cosmetics: Reorder some lists in a more logical fashion 2012-08-08 15:46:44 +02:00
Anton Khirnov
fe2147e936 avconv: split configuring filter configuration to a separate file. 2012-08-08 11:11:52 +02:00
Anton Khirnov
f5e668273a avconv: split option parsing into a separate file. 2012-08-08 11:10:06 +02:00
Mans Rullgard
dfd9159f3d build: change checkheaders to use regular build rules
Many compilers need special flags to compile *.h files as regular
source code, if they will do so at all.  Rather than hoping all
compilers will have such a flag and adding mappings for it, create
wrapper .c files for test building single headers.

This allows using the regular rule for compiling C files without the
need for special flags, and it also provides proper dependency tracking
for these objects.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 21:36:51 +01:00
Mans Rullgard
f295fee2c9 build: add trailing / to yasm/nasm -I flags
nasm requires a trailing / on paths specified with -I.
It does no harm with yasm.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-07 15:21:40 +01:00
Mans Rullgard
baac24e680 build: generalise rules and variable settings for av* programs
This simplifies adding extra flags for individual programs
and also allows more than one object file per program.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-06 17:43:29 +01:00
Mans Rullgard
23565c2641 build: support non-standard replacements for -c flag
This allows non-standard replacements for the -c compiler flag.
Some compilers use other flags or no flag at all in place of
the usual one.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-28 01:50:12 +01:00
Diego Biurrun
42ade117dd build: Use portable compiler flag constructs in header compilation rule 2012-07-28 02:02:20 +02:00
Diego Biurrun
755834e94f build: Rename YASMDEP variable to DEPYASM for consistency 2012-07-28 02:02:19 +02:00
Mans Rullgard
b9d3c37848 build: use COMPILE template for HOSTOBJS
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:59 +01:00
Mans Rullgard
a758c5e259 build: do full flag handling for all compiler-type tools
This adds a full identification probe of CC, AS, LD and HOSTCC,
and sets up correct flags and dependency tracking for each.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-26 23:58:50 +01:00
Diego Biurrun
6bd37e0b28 build: Drop gcc-specific warning flag from header compilation rule
The flag was added to avoid excessive warning spam, but nowadays those
warnings no longer occur in such large numbers as to require silencing.
Besides, gcc-specific flags do not belong in the Makefiles.
2012-07-22 12:36:30 +02:00
Diego Biurrun
4982e1ddfa build: Add 'check' target to run all compile and test targets. 2012-05-15 19:10:46 +02:00
Justin Ruggles
c8af852b97 Add libavresample
This is a new library for audio sample format, channel layout, and sample rate
conversion.
2012-04-24 21:28:27 -04:00
Diego Biurrun
7bb3a302fe build: Consistently handle conditional compilation for all optimization OBJS. 2012-04-12 09:00:49 +02:00
Diego Biurrun
e7e19b15c7 build: Only clean the architecture subdirectory we build for.
This allows simplifying the Makefiles; it is no longer necessary to register
arch subdirectory Makefiles, just putting them in place is enough.
2012-03-26 13:29:03 +02:00
Diego Biurrun
ad0e31f134 build: prettyprinting cosmetics 2012-03-26 13:00:10 +02:00
Anton Khirnov
0d0b81f941 Generate manpages for AV{Format,Codec}Context AVOptions. 2012-03-20 07:10:06 +01:00
Diego Biurrun
b315042c8c Remove libpostproc.
This library does not fit into Libav as a whole and its code is just a
maintenance burden.  Furthermore it is now available as an external project,
which completely obviates any reason to keep it around.

URL: http://git.videolan.org/?p=libpostproc.git
2012-02-23 19:36:16 +01:00
Diego Biurrun
58fc740059 build: Drop YASM-OBJS-FFT from SUBDIR_VARS.
FFT code only appears in libavcodec, so there is no need to reset the variable
when the build templates are instantiated for other libraries.
2012-02-03 14:53:21 +01:00
Diego Biurrun
7f2885bbb7 build: Drop unused X86-OBJS variable. 2012-02-03 14:53:20 +01:00
Diego Biurrun
07a873a277 build: Automatically include architecture-specific library Makefile snippets. 2012-01-25 15:04:28 +01:00
Anton Khirnov
0fec2cb15c Remove ffmpeg. 2012-01-23 21:04:29 +01:00
Diego Biurrun
144904e901 build: rename subdir.mak ---> library.mak 2011-12-13 23:34:22 +01:00
Mans Rullgard
878dda5db1 build: move inclusion of subdir.mak to main subdir loop
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Janne Grunau
8096fdf0b6 presets: rename presets directory 2011-10-19 21:20:17 +02:00
Anton Khirnov
df3ca34a56 Makefile: change presets extension to .avpreset
Fixes make install.
2011-10-19 07:50:12 +02:00
Dave Yeo
cc73511e8e Fix NASM include directive
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-15 11:24:35 -07:00
Anton Khirnov
6291d7e416 Make a copy of ffmpeg under a new name -- avconv.
It will be further developed with a few incompatible changes.

ffmpeg.c will stay as is for some time, so any scripts using it won't be
broken.
2011-08-12 13:27:30 +02:00
Anton Khirnov
4d58e4cb4c Rename ffserver to avserver. 2011-08-09 19:56:25 +02:00
Anton Khirnov
9e12f0bf5f Rename ffprobe to avprobe. 2011-08-09 19:56:24 +02:00
Anton Khirnov
266463daff Rename ffplay to avplay. 2011-08-09 19:56:21 +02:00
Mans Rullgard
371584c42b build: add -L flags before existing LDFLAGS
This ensures the linker picks the just built libraries even
if LDFLAGS for some reason contains -L flags pointing at
other directories containing libav libraries.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 12:50:31 +01:00
Mans Rullgard
1fef92fd73 build: remove unnecessary dependency on libs from 'all' target
The libs are added to the all target elsewhere, no need to do it
again here.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-11 21:08:52 +01:00
Mans Rullgard
ca9036155d build: remove unnecessary FFLDFLAGS variable
This variable is set to the same value for all directories.
Adding the -L flags directly to LDFLAGS is simpler and achieves
the same thing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-11 11:39:04 +01:00
Mans Rullgard
28e1c97916 build: rework rules for things in the tools dir
Declaring tools associated with each library in their respective
makefiles allows these tools to easily depend on the correct
prerequisites and link against the libs they need.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 21:13:38 +01:00
Diego Biurrun
db54be09c2 build: Remove deleted 'check' target from .PHONY list. 2011-07-04 13:14:31 +02:00
Diego Biurrun
bd9a9a2f18 build: Eliminate obsolete test targets.
The targets are now part of FATE and can be run as individual FATE targets.
2011-06-30 13:06:27 +02:00
Mans Rullgard
f68069868b build: fix creation of tools dir with make 3.81
GNU make 3.81 apparently does not support order-only prerequisites
with pattern rules, and thus fails to create the tools directory
if it is missing.  Naming the objects explicitly in the rule makes
it work properly.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-29 12:06:46 +01:00
Diego Biurrun
e2542dcc6e build: Mark all-yes Makefile target as phony. 2011-06-29 12:15:52 +02:00
Mans Rullgard
5e27ec28f0 build: create output directories as needed
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-29 09:14:56 +01:00
Mans Rullgard
57b4a3dd2b build: include sub-makefiles using full path instead of symlinks
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-28 18:15:19 +01:00
Mans Rullgard
bc877faf7f build: factor out the .c and .S compile commands as a macro
These commands have the same form, and using a common macro allows
it to be used elsewhere without further duplication.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-26 23:07:40 +01:00
Mans Rullgard
f038cf3c74 build: remove SRC_PATH_BARE variable
Setting SRC_PATH to "." when building in-tree removes the need
for a quoted version of the source path since out-of-tree builds
are not possible if the pathname contains spaces.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:17:25 +01:00
Mans Rullgard
bb5249244d build: move basic rules and variables to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:17:08 +01:00
Mans Rullgard
8d853efe53 build: move special targets to end of main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-23 12:16:53 +01:00
Mans Rullgard
f87b03b50d build: move documentation rules to doc/Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-22 22:59:46 +01:00
Mans Rullgard
698a183e30 build: move test rules to tests/Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-22 22:53:07 +01:00
Mans Rullgard
d530e57944 build: move vpath directives to main Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 19:53:53 +01:00
Mans Rullgard
cf53c48615 build: move ALLFFLIBS to a more logical place
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-14 10:59:56 +01:00
Mans Rullgard
151c584188 build: fix "make install" with documentation disabled
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-11 20:35:53 +01:00
Mans Rullgard
623ffe8c82 build: simplify some conditional targets
Use intermediate targets instead of variables for conditional
parts of "all" and "install" targets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-11 19:35:47 +01:00
Mans Rullgard
6d170962bd build: make rule for linking ff* apply only to these targets
This ensures that the special link command using cmdutils.o
only applies to the targets it should.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-07 01:28:15 +01:00
Mans Rullgard
d93d7349ce build: rearrange some lines in a more logical way
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 23:21:12 +01:00
Mans Rullgard
0018b7f043 build: clean up .PHONY lists
This removes nonexisting targets from phony lists and puts them
all in one place.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Mans Rullgard
d7a72d250b build: move all (un)install* target aliases to toplevel Makefile
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-06-06 16:56:53 +01:00
Diego Biurrun
a5514a8474 build: Simplify texi2html invocation through the --output option.
The --output option is available in texi2html since at least version 1.78.
2011-06-03 15:43:05 +02:00
Mans Rullgard
798b264678 build: remove BUILD_ROOT variable
This variable is unnecessary as absolute paths are not required.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-29 12:36:16 +01:00
Diego Biurrun
59748689f6 build: Remove generated .version file on distclean. 2011-05-26 16:26:18 +02:00
Mans Rullgard
f907ad9b85 Remove unused make variable SEEK_REFFILE
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-18 20:21:27 +01:00
Mans Rullgard
164c24c858 fate: remove redundant aref and vref references
The ref targets are included in the FATE_[AV]CODEC lists created
by configure so they do not need to be listed separately in the
makefile.  Filter them out when setting dependencies to avoid make
warnings about circular deps.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-18 19:24:35 +01:00
Mans Rullgard
70378ea190 fate: run aref and vref as regular tests
These tests create reference files used for psnr calculation in
the other codec tests.  Treating them as (mostly) regular tests
simplifies the makefile and makes them visible in the fate reports.
The latter makes errors in these runs easier to identify.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-18 14:45:46 +01:00
Reinhard Tartler
8ce67bcabe Implement fate-rsync target 2011-05-03 19:21:30 +02:00
Ronald S. Bultje
3283f274fd FATE: allow forcing thread-type when doing threaded fate runs.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-21 19:36:45 -04:00
Martin Storsjö
f83acb096c Makefile: Include dependencies for test tools, too
This makes seek_test to be rebuilt when its dependencies
has changed. The changes to the dependencies didn't usually matter
in practice, but the introduction of side data in AVPacket required
a recompilation.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-20 21:44:04 +03:00
Mans Rullgard
e0be794a71 Remove support for stripping executables
Stripping is generally best left to package management tools, and
since unstripped copies are kept in the build tree, any arguments
about saving space (no matter how insignificant) are void.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 22:05:04 +01:00
Luca Barbato
7851eb68c6 fate: add support for multithread testing
Add a THREADS variable to fate calls.
2011-03-23 01:17:20 +01:00
Janne Grunau
faa6f1c306 get rid of the last svn mentions 2011-03-18 21:57:38 +01:00
Janne Grunau
29ba091136 replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Mans Rullgard
08df7f8666 Makefile: include deps from tools directory
This ensures the tools are rebuilt when necessary.  Specifically,
lavfi-showfiltfmts was sometimes not rebuilt causing spurious test
failures.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 18:04:52 +00:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Stefano Sabatini
40321376d8 Allow "make clean" to clean files in tools
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-12 12:58:10 +00:00
Stefano Sabatini
cd6a5a57b8 Add lavfi-showfiltfmts and graph2dot to $(TOOLS)
Allow make clean to remove the corresponding binaries.

Fix issue 2162.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-12 12:55:31 +00:00
Mans Rullgard
a7878c9f73 VP8: ARM optimised decode_block_coeffs_internal
Approximately 5% faster on Cortex-A8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:11 +00:00
Mans Rullgard
f3619680a7 Makefile: remove unused variable ALLHTMLPAGES
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 12:33:13 +00:00
Mans Rullgard
7f939f55bb Makefile: build docs only for enabled tools; fix docs dependencies
This makes "make documentation" build the man/html pages only for
the tools enabled in the build.  It also fixes the dependency
tracking for the built man pages.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 12:33:09 +00:00
Mans Rullgard
a0f9c8ce37 Auto-generate dependencies for documentation
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-01 00:10:00 +00:00
Janne Grunau
a8f0814a74 doc: modify style for texi2html 1.78+
The generated HTML files are similar to the ones generated with
texi2html 1.56k used on the website.

Tested with texi2html 1.78 and 5.0. 1.78 is the minimal recommended
version.

The removed @sp from the titlepage section were ignored until
texi2html 5.0. If not removed the pages generated by 5.0 will have ugly
empty space around the title.
2011-01-29 16:57:29 +01:00
Mans Rullgard
3d157bf31f Makefile: fix cleaning of tools in tests directory
The variable TESTPROGS is reset by the library makefiles,
use another name.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 13:43:54 +00:00
Daniel Verkamp
3adbe49f2b Fix ALLPROGS_G so that *_g binaries get cleaned properly
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 12:46:10 +00:00
Mans Rullgard
2b39962eb6 Makefile: simplify test tools handling
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-23 13:55:35 +00:00