Hi, On Wed, Apr 8, 2015 at 1:36 PM, James Almer <jamr...@gmail.com> wrote:
> > ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | > Wed Apr 8 17:17:24 2015 +0200| [b926f02e81165378e615ca619f1283358dac26e4] > | committer: Michael Niedermayer > > > > avutil/x86/Makefile: Make building and linking of emms.c conditional > > > > Signed-off-by: Michael Niedermayer <michaelni at gmx.at> > > > > > > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b926f02e81165378e615ca619f1283358dac26e4 > > --- > > > > libavutil/x86/Makefile | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/libavutil/x86/Makefile b/libavutil/x86/Makefile > > index ad3bdfc..768ef85 100644 > > --- a/libavutil/x86/Makefile > > +++ b/libavutil/x86/Makefile > > @@ -4,8 +4,10 @@ OBJS += x86/cpu.o > \ > > > > OBJS-$(CONFIG_PIXELUTILS) += x86/pixelutils_init.o > \ > > > > +EMMS_OBJS_$(HAVE_INLINE_MMX)_$(HAVE_EXTERNAL_MMX)_$(HAVE_MM_EMPTY) = > x86/emms.o > > HAVE_MMX_INLINE/EXTERNAL. > > > + > > YASM-OBJS += x86/cpuid.o > \ > > - x86/emms.o > \ > > + $(EMMS_OBJS_NO_NO_NO) > \ > > This is also wrong. AFAICS the variables are never set to "NO", only "yes" > (in lowercase) when the relevant configure > test succeeds. Otherwise they remain unset. > > Also, what is this patch trying to do? emms.asm is used/needed only if > HAVE_MM_EMPTY and HAVE_MMX_INLINE > are not set, and of course can only be assembled if HAVE_EXTERNAL_MMX is > set. > Something like $(EMMS_OBJS__yes_) would assemble it only when really > needed, but nonetheless this all seems like > unnecessary complexity to prevent a ~200 bytes object to be assembled and > included in the library. Yeah I didn't test it. Anyway, the goal is indeed to remove 200 bytes. I don't care about the 200 bytes. I care that a vp9-decoder-only build has about 100 source files, most of which are obviously not needed. I care about the sum of the parts, not any part alone. Some examples of what code my beautifully small libav* was compiling: libavformat: id3v1.o, id3v2.o, sdp.o, riff.o, mux.o libavcodec: vorbis_parser.o, xiph.o, avdct.o, audioconvert.o, bswapdsp.o, dv_profile.o, imgconvert.o, qsv_api.o, resample.o, resample2.o libavutil: EVERYTHING external libs linked: xlib, zlib, vda, xcb, iconv, bzlib, lzma I'm happy to do some work on each of the above and make it easier to create minimal libav* builds; the emms is obviously insignificant in and by itself, but we can certainly do better than this and the overall effect would be useful. Ronald _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel