From c5fd4b50610f62cbb3baa4f4108139363128dea1 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Fri, 27 May 2016 11:38:38 +0200 Subject: [PATCH] build: Simplify postprocessing of linker version script files Generate the files in a single postprocessing step w/o intermediate files. --- Makefile | 3 --- common.mak | 2 +- configure | 17 +++++++++-------- library.mak | 3 +++ 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index d90d9be344..4e026b0734 100644 --- a/Makefile +++ b/Makefile @@ -62,9 +62,6 @@ COMPILE_HOSTC = $(call COMPILE,HOSTCC) %.h.c: $(Q)echo '#include "$*.h"' >$@ -%.ver: %.v - $(M)sed 's/MAJOR/$($(basename $(@F))_VERSION_MAJOR)/' $^ > $@ - %.c %.h %.ver: TAG = GEN AVPROGS-$(CONFIG_AVCONV) += avconv diff --git a/common.mak b/common.mak index d62f899dad..8f6a61f905 100644 --- a/common.mak +++ b/common.mak @@ -52,7 +52,7 @@ $(TOOLOBJS): | tools OBJDIRS := $(OBJDIRS) $(dir $(OBJS) $(HOBJS) $(HOSTOBJS) $(TESTOBJS)) -CLEANSUFFIXES = *.d *.o *~ *.h.c *.map *.ver *.ver-sol2 *.gcno *.gcda +CLEANSUFFIXES = *.d *.o *~ *.h.c *.gcda *.gcno *.map *.ver DISTCLEANSUFFIXES = *.pc LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a diff --git a/configure b/configure index 261200d511..1b5e0173a7 100755 --- a/configure +++ b/configure @@ -2465,6 +2465,7 @@ objformat="elf" pkg_config_default=pkg-config ranlib="ranlib" strip="strip" +version_script='--version-script' yasmexe="yasm" # machine @@ -2506,6 +2507,7 @@ SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)' LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"' SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)' SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)' +VERSION_SCRIPT_POSTPROCESS_CMD="cat" asflags_filter=echo cflags_filter=echo @@ -3748,7 +3750,8 @@ case $target_os in echo "hwcap_1 = OVERRIDE;" > mapfile && add_ldflags -Wl,-M,mapfile nm_default='nm -P -g' - SLIB_CREATE_DEF_CMD='$(Q)perl $(SRC_PATH)/compat/solaris/make_sunver.pl $$(filter %.ver,$$^) $(OBJS) | grep -v @ > $(SUBDIR)lib$(NAME).ver-sol2' + version_script='-M' + VERSION_SCRIPT_POSTPROCESS_CMD='perl $(SRC_PATH)/compat/solaris/make_sunver.pl - $(OBJS)' ;; netbsd) disable symver @@ -4829,13 +4832,9 @@ enabled xmm_clobber_test && disable xmm_clobber_test echo "X { local: *; };" > $TMPV -if test_ldflags -Wl,--version-script,$TMPV; then - append SHFLAGS '-Wl,--version-script,\$(SUBDIR)lib\$(NAME).ver' -elif test_ldflags -Wl,-M,$TMPV; then - append SHFLAGS '-Wl,-M,\$(SUBDIR)lib\$(NAME).ver-sol2' -fi - -check_cc < $$@ + $(SUBDIR)$(SLIBNAME): $(SUBDIR)$(SLIBNAME_WITH_MAJOR) $(Q)cd ./$(SUBDIR) && $(LN_S) $(SLIBNAME_WITH_MAJOR) $(SLIBNAME)