[FFmpeg-devel] [libav-devel] [PATCH] checkasm: Always link statically
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Wed Jul 22 00:01:09 CEST 2015
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.
Best regards,
Andreas
More information about the ffmpeg-devel
mailing list