[Ffmpeg-devel] [PATCH] small build cleanup + new configure option
Gildas Bazin
gbazin
Fri Jan 20 20:43:32 CET 2006
On Thursday 19 January 2006 22:22, Diego Biurrun wrote:
> On Thu, Jan 19, 2006 at 08:18:12PM +0000, Gildas Bazin wrote:
> >
> > Here is a new version of the patch which fixes that (there was a typo in
the
> > old one).
> > And the reason for ffserver to be disabled when you use --disable-muxers
is
> > that ffserver relies on the ffm muxer.
> >
> > --- libavformat/Makefile 16 Jan 2006 14:59:54 -0000 1.109
> > +++ libavformat/Makefile 19 Jan 2006 20:10:16 -0000
> > @@ -32,8 +39,6 @@
> >
> > -# file I/O
> > -OBJS+= avio.o aviobuf.o file.o
> > OBJS+= framehook.o
> >
> > @@ -62,6 +67,11 @@
> >
> > +# protocols I/O
> > +OBJS+= avio.o aviobuf.o
> > +
> > +ifeq ($(CONFIG_PROTOCOLS),yes)
> > +OBJS+= file.o
> > ifeq ($(CONFIG_NETWORK),yes)
> > OBJS+= udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o
>
> Why is file.o in CONFIG_PROTOCOLS, while avio.o and aviobuf.o are not?
>
avio.o and aviobuf.o provide things like put_byte(), etc... which are used
by muxers for instance.
> ./configure --enable-gpl --disable-protocols --disable-muxers:
>
> gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o cmdutils.o
> -L./libavformat -lavformat -L./libavcodec -lavcodec -L./libavutil
> -lavutil -lm -lz -llzo -ldl
> ./libavformat/libavformat.a(utils.o): In function
> `put_fifo':/home/diego/src/ffmpeg/libavformat/utils.c:386: undefined
> reference to `put_buffer'
> ./libavformat/libavformat.a(img2.o): In function
> `img_write_packet':/home/diego/src/ffmpeg/libavformat/img2.c:347:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:349: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:339: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:340: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:341: undefined reference to
> `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/img2.c:342: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:343: undefined reference to
> `put_flush_packet'
> :/home/diego/src/ffmpeg/libavformat/img2.c:349: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(dv.o): In function
> `dv_write_packet':/home/diego/src/ffmpeg/libavformat/dv.c:930: undefined
> reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/dv.c:931: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(crc.o): In function
> `crc_write_trailer':/home/diego/src/ffmpeg/libavformat/crc.c:87:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/crc.c:88: undefined reference to
> `put_flush_packet'
> ./libavformat/libavformat.a(crc.o): In function
> `framecrc_write_packet':/home/diego/src/ffmpeg/libavformat/crc.c:98:
> undefined reference to `put_buffer'
> :/home/diego/src/ffmpeg/libavformat/crc.c:99: undefined reference to
> `put_flush_packet'
> collect2: ld returned 1 exit status
> make: *** [ffmpeg_g] Error 1
>
> Yes, I'm keeping you busy ;)
>
Updated patch attached.
Since put_fifo() in utils.c is part of the avformat api and uses
put_buffer(), I've modified aviobuf.c to always compile put_buffer() (was
not compiled before if --disable-muxers was specified).
Cheers,
--
Gildas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: config.diff
Type: text/x-diff
Size: 6391 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20060120/56b32e4d/attachment.diff>
More information about the ffmpeg-devel
mailing list