Enable use of 'check_abi' in build system

This patch invokes the 'check_abi' tool for each shared library that
implements an ABI.

Issue #2639
This commit is contained in:
Norman Feske
2018-01-10 14:29:23 +01:00
committed by Christian Helmuth
parent b7fffb1b24
commit 80ef5fa73c
2 changed files with 18 additions and 1 deletions

View File

@@ -138,6 +138,17 @@ else
LIB_A := $(addsuffix .lib.a,$(LIB))
endif
#
# Whenever an ABI is defined for a shared library, we check the consistency
# between both by invoking the 'check_abi' tool via the 'LIB_CHECKED'
# dependency.
#
ifneq ($(LIB_SO),)
ifneq ($(ABI_SO),)
LIB_CHECKED := $(addsuffix .lib.checked,$(LIB))
endif
endif
#
# Trigger the creation of the <libname>.lib.a or <libname>.lib.so file
#
@@ -153,7 +164,7 @@ all: $(LIB_TAG)
#
$(LIB_TAG) $(OBJECTS): $(HOST_TOOLS)
$(LIB_TAG): $(LIB_A) $(LIB_SO) $(ABI_SO) $(INSTALL_SO) $(DEBUG_SO)
$(LIB_TAG): $(LIB_A) $(LIB_SO) $(LIB_CHECKED) $(ABI_SO) $(INSTALL_SO) $(DEBUG_SO)
@touch $@
#
@@ -248,6 +259,9 @@ $(ABI_SO): $(LIB).symbols.o
$(LIB_SO_DEPS) $< \
--end-group --no-whole-archive
$(LIB_CHECKED): $(LIB_SO)
$(VERBOSE)$(BASE_DIR)/../../tool/check_abi $(LIB_SO) $(SYMBOLS)
$(LIB_SO).stripped: $(LIB_SO)
$(VERBOSE)$(STRIP) -o $@ $<