If links don't work, fall back to using the full source path as was
previously done.
This should fix build failures with MSVC.
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Previously the full source path was embedded inconsistently in the debug
information between in-tree/out-of-tree builds.
The 'vpath %.inc' becomes necessary for finding
libavfilter/all_channel_layouts.inc in out-of-tree builds.
The full source path is still embedded in the debug information, but
it's now independent of whether building in-tree or out-of-tree.
The biggest improvement of this patch is that gdb now always searches
for the path relative to the source directory. It still also searches
for the full path.
Previously it searched only for the full path in out-of-tree builds,
making the debug information generated by Debian's buildds rather hard
to use.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This allows the user to override the directory for the installation
of the pkg-config files (from the default LIBDIR/pkgconfig).
It follows the usual behaviour of Makefiles generated by automake.
Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The macro hell sometimes make it difficult to trace the source of
an error, so it is easier to analyze the preprocessed output.
This patch makes this automatical by specifying DBG=1 on the
command line: a file ffmpeg/dir/file.asm gets preprocessed to
builddir/dir/file.dbg.asm, which is then compiled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830':
build: Support executable only ldflags
Conflicts:
Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
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.
$(STRIP) always expands to something, because it is one of the commands
in the BRIEF list. This renders the condition pointless.
Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
$(STRIP) always expands to something, because it is one of the commands
in the BRIEF list. This renders the condition pointless.
Signed-off-by: Ingo Brückl <ib@wupperonline.de>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
The implementation of 25cb0c1a involves lots of spurious labels.
The effect of keeping those labels around is making debugging harder.
Those labels are meaningless, and complicate the disassembly. Also,
gdb can't tell the difference between them and function entry points.
This new strip command is irrelevant to any usage of Libav that would
have used the old fully stripped version, because the old one was for
non-debug use.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975':
ape: use correct context for the bit table printed in debug
build: Move setting of SRC_DIR to the only place it is used
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '304b806cb524fb040f8e09a241040f1af2cb820b':
build: Make library minor version visible in the Makefile
x86: mpeg4qpel: Make movsxifnidn do the right thing
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>
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>
* qatar/master:
doc: add apidoc target for doxygen API documentation
matroskadec: do not use avpacket internals
Conflicts:
doc/Makefile
libavformat/matroskadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Documentation includes only the externally visible API of the installed
headers.
Based on a patch by Anton Khirnov <anton@khirnov.net>.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* commit '80521c1997a23e148edf89e11b939ab8646297ca':
build: allow targets to specify extra objects to link with executables
swscale: avoid pointless use of compound literals
libm: add fallbacks for various single-precision functions
network: use getservbyport() only if available
network: add fallbacks for INADDR_LOOPBACK and INET_ADDRSTRLEN
Include sys/time.h before sys/resource.h
Conflicts:
Makefile
configure
libavutil/libm.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This allows targets to include special objects when linking
executables without including them in (shared) libraries.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The Microsoft linker uses the LIB environment variable which
clashes with a make variable of the same name.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* qatar/master:
build: sanitize linking of tools and test programs
fate: Refactor setting of environment variables for groups of tests
Conflicts:
tests/fate/audio.mak
tests/fate/real.mak
tests/fate/voice.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a':
cmdutils_read_file: increment *size after writing the trailing \0
af_resample: unref out_buf when avresample_convert returns 0
af_amix: prevent memory leak on error path
vc1dec: prevent memory leak in error path
vc1dec: prevent memory leak on av_realloc error
af_channelmap: free old extended_data on reallocation
avconv: simplify memory allocation in copy_chapters
matroskaenc: check cue point validity before reallocation
swfenc: error out for more than 1 audio or video stream
build: link test programs only against static libs
Conflicts:
ffmpeg_opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This makes sure proper linker arguments are used for the tools and
test programs when shared libraries are enabled. The tools are
linked using the usual -l flag while for test programs the full
name of the static library is used.
Signed-off-by: Mans Rullgard <mans@mansr.com>
The test programs use internal symbols so cannot be linked against the
shared libs. Linking against both shared and static is pointless and
might do something strange depending on the linker. This changes the
dependencies so the test programs are linked only against the static
library for the component they belong to.
Signed-off-by: Mans Rullgard <mans@mansr.com>
* commit '581281e242609a222233a2e5538b89dfb88fb18e':
matroskadec: check realloc in lzo encoding
matroska: honor error_recognition on unknown doctypes
tiffdec: Add support for GRAY16LE.
tiffenc: Add support for little endian RGB48 and GRAY16
mpeg4: support frame parameter changes with frame-mt
mpegvideo: check ff_find_unused_picture() return value for errors
mpegvideo: release frame buffers before freeing them
configure: msvc: default to 'lib' as 'ar' tool
build: support some non-standard ar variants
Conflicts:
libavcodec/h263dec.c
libavcodec/mpegvideo.c
libavcodec/tiff.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
build: allow non-standard variations of linker -l/-L flags
Add reminders to update the codec descriptor list with new codec IDs.
Conflicts:
Makefile
configure
libavcodec/avcodec.h
libavformat/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
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>