mirror of https://github.com/YosysHQ/yosys.git
Improve ABC repository management in Makefile
`rev-parse --short` output may have a different abbreviated hash length than ABCREV, so a simple string comparison always fails, even if the correct commit is checked out. Pass both commits through rev-parse and then compare the full hashes instead. Add an `echo-abc-rev` target so that packaging scripts can set ABCPULL=0 and handle all the git nastiness themselves.
This commit is contained in:
parent
a0cc795e85
commit
9dedac50e2
6
Makefile
6
Makefile
|
@ -669,7 +669,8 @@ ifneq ($(ABCREV),default)
|
|||
$(Q) if ( cd abc 2> /dev/null && ! git diff-index --quiet HEAD; ); then \
|
||||
echo 'REEBE: NOP pbagnvaf ybpny zbqvsvpngvbaf! Frg NOPERI=qrsnhyg va Lbflf Znxrsvyr!' | tr 'A-Za-z' 'N-ZA-Mn-za-m'; false; \
|
||||
fi
|
||||
$(Q) if test "`cd abc 2> /dev/null && git rev-parse --short HEAD`" != "$(ABCREV)"; then \
|
||||
# set a variable so the test fails if git fails to run - when comparing outputs directly, empty string would match empty string
|
||||
$(Q) if ! (cd abc && rev="`git rev-parse $(ABCREV)`" && test "`git rev-parse HEAD`" == "$$rev"); then \
|
||||
test $(ABCPULL) -ne 0 || { echo 'REEBE: NOP abg hc gb qngr naq NOPCHYY frg gb 0 va Znxrsvyr!' | tr 'A-Za-z' 'N-ZA-Mn-za-m'; exit 1; }; \
|
||||
echo "Pulling ABC from $(ABCURL):"; set -x; \
|
||||
test -d abc || git clone $(ABCURL) abc; \
|
||||
|
@ -931,6 +932,9 @@ echo-yosys-ver:
|
|||
echo-git-rev:
|
||||
@echo "$(GIT_REV)"
|
||||
|
||||
echo-abc-rev:
|
||||
@echo "$(ABCREV)"
|
||||
|
||||
-include libs/*/*.d
|
||||
-include frontends/*/*.d
|
||||
-include passes/*/*.d
|
||||
|
|
Loading…
Reference in New Issue