Quoting Andreas Cadhalpun (2015-07-22 00:01:09)
> On 21.07.2015 23:23, Luca Barbato wrote:
> > Checkasm needs to use internal symbols that should not be made public.
> > ---
> >  Makefile                | 1 +
> >  common.mak              | 5 +++--
> >  tests/checkasm/Makefile | 4 ++--
> >  3 files changed, 6 insertions(+), 4 deletions(-)
> > 
> > diff --git a/Makefile b/Makefile
> > index 5807acd..e9a95aa 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -100,6 +100,7 @@ include $(SRC_PATH)/common.mak
> >  
> >  FF_EXTRALIBS := $(FFEXTRALIBS)
> >  FF_DEP_LIBS  := $(DEP_LIBS)
> > +FF_STATIC_DEP_LIBS := $(STATIC_DEP_LIBS)
> >  
> >  all: $(AVPROGS)
> >  
> > diff --git a/common.mak b/common.mak
> > index 9244fd3..adab9d1 100644
> > --- a/common.mak
> > +++ b/common.mak
> > @@ -24,8 +24,9 @@ TOOLOBJS  := $(TOOLS:%=tools/%.o)
> >  TOOLS     := $(TOOLS:%=tools/%$(EXESUF))
> >  HEADERS   += $(HEADERS-yes)
> >  
> > -PATH_LIBNAME = $(foreach 
> > NAME,$(1),lib$(NAME)/$($(CONFIG_SHARED:yes=S)LIBNAME))
> > -DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib)))
> > +PATH_LIBNAME = $(foreach NAME,$(1),lib$(NAME)/$($(2)LIBNAME))
> > +DEP_LIBS := $(foreach lib,$(FFLIBS),$(call 
> > PATH_LIBNAME,$(lib),$(CONFIG_SHARED:yes=S)))
> > +STATIC_DEP_LIBS := $(foreach lib,$(FFLIBS),$(call PATH_LIBNAME,$(lib)))
> >  
> >  SRC_DIR    := $(SRC_PATH)/lib$(NAME)
> >  ALLHEADERS := $(subst $(SRC_DIR)/,$(SUBDIR),$(wildcard $(SRC_DIR)/*.h 
> > $(SRC_DIR)/$(ARCH)/*.h))
> > diff --git a/tests/checkasm/Makefile b/tests/checkasm/Makefile
> > index 483ad13..9498ebf 100644
> > --- a/tests/checkasm/Makefile
> > +++ b/tests/checkasm/Makefile
> > @@ -22,8 +22,8 @@ tests/checkasm/%.o: CFLAGS := 
> > $(CFLAGS:-Wstrict-prototypes=-Wno-strict-prototype
> >  
> >  CHECKASM := tests/checkasm/checkasm$(EXESUF)
> >  
> > -$(CHECKASM): $(EXEOBJS) $(CHECKASMOBJS) $(FF_DEP_LIBS)
> > -     $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(CHECKASMOBJS) $(FF_EXTRALIBS)
> > +$(CHECKASM): $(EXEOBJS) $(CHECKASMOBJS) $(FF_STATIC_DEP_LIBS)
> > +     $(LD) $(LDFLAGS) $(LDEXEFLAGS) $(LD_O) $(CHECKASMOBJS) 
> > $(FF_STATIC_DEP_LIBS) $(EXTRALIBS)
> >  
> >  checkasm: $(CHECKASM)
> >  
> > 
> 
> This works basically fine and avoids the problems of making
> more internal symbols public.
> Consider my patch drop in favor of this.
> 
> The only problem I see with this is that it ignores --disable-static.

Well, as this is a test tool very much not intended to be linked
dynamically, I'd say it's not a problem.

Especially since the alternative is exporting the ever expanding set (as
new tests are added) of SIMD functions from libavcodec, which really
isn't the way to go.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to