This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Make ABI tests generate .out files


If you rerun "make check" in a tree where some tests have already been
run, it will rerun ABI tests because those do not create an output
file.

This patch changes those tests to create .out files so they only get
rerun if the dependencies (on the ABI baselines and the generated
.symlist files) indicate they should be rerun.

Tested x86_64.

(The ChangeLog entry explicitly says "target" and "variable" to avoid
confusion with there being entries for both a target called check-abi
and a variable called check-abi.)

2014-02-12  Joseph Myers  <joseph@codesourcery.com>

	* Makerules (check-abi-%): Change target to
	$(objpfx)check-abi-%.out.
	(check-abi target): Update dependencies.
	(check-abi-pattern variable): Redirect output of diff to $@.
	(check-abi variable): Likewise.
	* elf/Makefile (check-abi): Update dependencies.

diff --git a/Makerules b/Makerules
index b46b09b..13c3fae 100644
--- a/Makerules
+++ b/Makerules
@@ -1193,21 +1193,25 @@ vpath %.abilist $(+sysdep_dirs)
 generated += $(extra-libs:=.symlist)
 
 ifdef abilist-pattern
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+			  $(objpfx)%.symlist
 	$(check-abi-pattern)
-check-abi-%: $(common-objpfx)config.make $(abilist-pattern) \
-	     $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make $(abilist-pattern) \
+			  $(common-objpfx)%.symlist
 	$(check-abi-pattern)
 endif
-check-abi-%: $(common-objpfx)config.make %.abilist $(objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+			  $(objpfx)%.symlist
 	$(check-abi)
-check-abi-%: $(common-objpfx)config.make %.abilist $(common-objpfx)%.symlist
+$(objpfx)check-abi-%.out: $(common-objpfx)config.make %.abilist \
+			  $(common-objpfx)%.symlist
 	$(check-abi)
 define check-abi-pattern
-	diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^)
+	diff -p -U 0 $(filter $(abilist-pattern),$^) $(filter %.symlist,$^) \
+	     > $@
 endef
 define check-abi
-	diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^)
+	diff -p -U 0 $(filter %.abilist,$^) $(filter %.symlist,$^) > $@
 endef
 
 ifdef abilist-pattern
@@ -1239,7 +1243,7 @@ endef
 
 .PHONY: update-abi check-abi
 update-abi: $(patsubst %.so,update-abi-%,$(install-lib.so-versioned))
-check-abi: $(patsubst %.so,check-abi-%,$(install-lib.so-versioned))
+check-abi: $(patsubst %.so,$(objpfx)check-abi-%.out,$(install-lib.so-versioned))
 ifdef subdir
 subdir_check-abi: check-abi
 subdir_update-abi: update-abi
@@ -1249,7 +1253,7 @@ update-abi: subdir_update-abi
 endif
 
 ifeq ($(subdir),elf)
-check-abi: check-abi-libc
+check-abi: $(objpfx)check-abi-libc.out
 update-abi: update-abi-libc
 common-generated += libc.symlist
 endif
diff --git a/elf/Makefile b/elf/Makefile
index 4c58fc9..a684b6b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -255,7 +255,7 @@ endif
 
 include ../Rules
 
-check-abi: check-abi-ld
+check-abi: $(objpfx)check-abi-ld.out
 update-abi: update-abi-ld
 
 ifeq (yes,$(build-shared))

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]