Commit Graph

62 Commits

Author SHA1 Message Date
Ganesh Ajjanagadde e34a3468f2 build: add LDLIBFLAGS
Fixes Ticket4673

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 14:35:02 +02:00
James Almer a9af9da631 library.mak: Workaround SDL redefining main and breaking fate tests on mingw
Fixes Ticket3368

Commit message by commiter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-19 12:12:27 +02:00
Ingo Brückl 083b1a32d5 build: add configure option pkgconfigdir
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>
2015-05-29 20:36:10 +02:00
Christophe Gisquet bc8e044d8c x86/doc/Makefile: DBG=1 to preprocess external asm
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>
2015-02-17 13:08:04 +01:00
Michael Niedermayer dac096cf39 Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830'
* commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830':
  build: Support executable only ldflags

Conflicts:
	Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 02:45:45 +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
Michael Niedermayer 1fc74926a5 Merge commit 'b339182eba34f28de5f1a477cdd2c84f1ef35d90'
* commit 'b339182eba34f28de5f1a477cdd2c84f1ef35d90':
  Move all example programs to doc/examples

Conflicts:
	configure
	doc/Makefile
	doc/doxy-wrapper.sh
	doc/examples/avcodec.c
	doc/examples/decoding_encoding.c
	doc/examples/metadata.c
	doc/examples/muxing.c
	doc/examples/transcode_aac.c
	libavcodec/Makefile
	libavcodec/api-example.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-17 02:22:01 +01:00
Diego Biurrun b339182eba Move all example programs to doc/examples
Also drop support for building examples in library directories.
2014-02-16 21:37:21 +01:00
Michael Niedermayer 71052d85c1 Merge commit '3a26ccbf0d9f806d067e76a3f484170abecb36b3'
* commit '3a26ccbf0d9f806d067e76a3f484170abecb36b3':
  build: doxy: Include code examples in Doxygen documentation

Conflicts:
	doc/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 15:23:29 +01:00
Diego Biurrun 3a26ccbf0d build: doxy: Include code examples in Doxygen documentation 2014-02-14 12:01:35 +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 e975c147e1 library.mak: only run asm strip if ASMSTRIP flags are set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-28 21:52:46 +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
Ingo Brückl 8fbb0979da build: remove pointless condition
$(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>
2013-10-29 14:00:29 +00:00
Ingo Brückl 94d707af3c build: remove pointless condition
$(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>
2013-10-24 10:51:03 +01:00
Michael Niedermayer 3d5a995eac Merge commit 'e52567c2954f627d420b30f75f71af2f2e4afe80'
* commit 'e52567c2954f627d420b30f75f71af2f2e4afe80':
  build: Strip spurious labels

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-08 10:45:37 +02:00
Loren Merritt e52567c295 build: Strip spurious labels
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>
2013-10-07 06:20:15 -04:00
Michael Niedermayer dac1d92cb7 Merge commit '472391b9a7e15e3bff33b016e7b6dbfa6a555975'
* 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>
2013-03-28 12:12:38 +01:00
Diego Biurrun 7c22d0489f build: Move setting of SRC_DIR to the only place it is used 2013-03-27 14:49:13 +01:00
Cyrille Faucheux 75758f84de build: fixes a "can't cd to..." issue when installing shared libraries.
The problem is reproducible with a relative prefix path.
2013-02-15 08:39:35 +01:00
Michael Niedermayer 7491356111 Merge commit '304b806cb524fb040f8e09a241040f1af2cb820b'
* 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>
2013-02-12 13:26:22 +01:00
Diego Biurrun 304b806cb5 build: Make library minor version visible in the Makefile
This allows employing that number in library install commands.
2013-02-11 20:17:15 +01:00
James Almer 13eb9fcf56 build: Remove superfluous MAKE variable for the build suffix
Use BUILDSUF instead.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-03 13:08:36 +01:00
Steven Boswell II 6289a8296a build-sys: Fix pkgconfig files when ffmpeg is built with --build-suffix
Tested-on: Fedora Core 14, 16, and 17.
Tested-on: Ubuntu by commiter

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-02 03:24:16 +01:00
Michael Niedermayer 9696ad6a76 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: fix 'clean' target
  ZeroCodec: Flip output

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-11 08:24: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
Michael Niedermayer 25ca8aef54 Merge commit '4a606c830ae664013cea33800094d4d0f4ec62da'
* commit '4a606c830ae664013cea33800094d4d0f4ec62da':
  av_memcpy_backptr: optimise some special cases
  mpegvideo: simplify dxy calculation in hpel_motion()
  build: add rules to generate preprocessed source files

Conflicts:
	Makefile
	libavutil/mem.c
	library.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 13:30:51 +01: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
Michael Niedermayer 2581d9bcbb Merge remote-tracking branch 'qatar/master'
* 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>
2012-11-03 14:48:51 +01:00
Janne Grunau b3fab1f2cd doc: add apidoc target for doxygen API documentation
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>
2012-11-02 18:28:56 +01:00
Michael Niedermayer 2dbc93455c Merge commit '80521c1997a23e148edf89e11b939ab8646297ca'
* 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>
2012-10-24 12:53:26 +02: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
Michael Niedermayer bb35864759 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mlpdsp: adding missing file
  dsputil: split out mlp dsp function
  sh4: add required #include, fix build
  averror: make error values proper negative values
  build: do not use LIB as variable name
  build: whitespace cosmetics
  build: remove single-use variable THIS_LIB

Conflicts:
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:55:41 +02:00
Michael Niedermayer 526cb36e4b Merge commit '4436f25a1682ada3f7226cb6fadf429946933161'
* commit '4436f25a1682ada3f7226cb6fadf429946933161':
  build: remove references to unused EXTRAOBJS variable
  lavfi: convert input/ouput list compound literals to named objects
  fate: add h263 obmc vsynth tests
  avconv: remove bogus warning when using avconv -h without parameter
  averror: explicitly define AVERROR_* values
  flashsv: propagate inflateReset() errors
  indeo4/5: remove constant parameter num_bands from wavelet recomposition
  mxfdec: return error if no segments are available in mxf_get_sorted_table_segments
  Double motion vector range for HPEL interlaced picture in proper place

Conflicts:
	libavcodec/v210dec.h
	libavfilter/af_aformat.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c
	libavfilter/af_channelmap.c
	libavfilter/af_join.c
	libavfilter/asrc_anullsrc.c
	libavfilter/buffersrc.c
	libavfilter/f_setpts.c
	libavfilter/f_settb.c
	libavfilter/fifo.c
	libavfilter/src_movie.c
	libavfilter/vf_ass.c
	libavfilter/vf_blackframe.c
	libavfilter/vf_boxblur.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_fieldorder.c
	libavfilter/vf_fps.c
	libavfilter/vf_hflip.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_select.c
	libavfilter/vf_transpose.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_testsrc.c
	libavformat/mxfdec.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-11 15:46:48 +02:00
Mans Rullgard 4436f25a16 build: remove references to unused EXTRAOBJS variable
This was part of a ghastly hack that is long since gone.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Mans Rullgard effe443877 build: do not use LIB as variable name
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>
2012-10-10 23:46:31 +01:00
Mans Rullgard 1c7428e655 build: whitespace cosmetics
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Mans Rullgard e5c6e9a6f2 build: remove single-use variable THIS_LIB
Replace the single use of THIS_LIB with its value.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 23:46:31 +01:00
Michael Niedermayer c6d39fb3c5 Merge remote-tracking branch 'qatar/master'
* 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>
2012-10-10 14:13:51 +02:00
Michael Niedermayer 50b5477616 Merge commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a'
* 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>
2012-10-10 13:18:05 +02:00
Mans Rullgard 4b895cb294 build: sanitize linking of tools and test programs
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>
2012-10-10 11:24:09 +01:00
Mans Rullgard 0fb3b24ada build: link test programs only against static libs
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>
2012-10-09 14:16:21 +01:00
Michael Niedermayer 61ced71d79 Merge commit '581281e242609a222233a2e5538b89dfb88fb18e'
* 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>
2012-09-20 03:20:29 +02:00
Mans Rullgard 3dbc777c7f build: support some non-standard ar variants
This adds support for the TI and Microsoft (lib.exe) variants of
the ar utility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-19 14:09:50 +01:00
Michael Niedermayer e8e4c8bdde Merge remote-tracking branch 'qatar/master'
* 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>
2012-08-30 17:28:21 +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
Michael Niedermayer 416d2f7a12 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vc1: export some functions
  configure: use HOSTCC_C/O in check_host_cc
  configure: use AS_O setting in check_as
  configure: use LD_O setting in check_ld()
  Revert "dsputil: make {add/put/put_signed}_pixels_clamped() non-static."
  build: Restore dependency of acelp_filters.o on celp_math.o
  celp_math: Replace duplicate ff_dot_productf() by ff_scalarproduct_c()
  celp_math: Move ff_cos() to the only place it is used
  build: Use portable abstraction for linker/hostcc output file syntax
  configure: Fix shared library creation for OpenBSD
  vp56: Don't use DECLARE_ALIGN on a typedef name
  mss1: move code that will be reused by MSS2 decoder into separate file
  mss1: merge decode_intra() and decode_inter()
  avprobe: Get rid of ugly casts in the options table
  vf_hqdn3d: Remove a duplicate inline declaration

Conflicts:
	Makefile
	configure
	ffprobe.c
	libavcodec/Makefile
	libavcodec/amrnbdec.c
	libavcodec/amrwbdec.c
	libavcodec/celp_math.c
	libavcodec/celp_math.h
	libavcodec/dsputil.c
	libavcodec/lsp.c
	libavcodec/mss1.c
	libavcodec/ra288.c
	libavcodec/vc1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 16:28:48 +02:00
Diego Biurrun 8f7c26e392 build: Use portable abstraction for linker/hostcc output file syntax 2012-08-27 20:37:48 +02:00