diff options
author | Xiretza <xiretza@xiretza.xyz> | 2020-01-29 19:05:23 +0100 |
---|---|---|
committer | Xiretza <xiretza@xiretza.xyz> | 2020-01-29 19:10:54 +0100 |
commit | 90404e1969443a1b8a767ab8f3dc311709c5fe9d (patch) | |
tree | 5f98f61aa3f83dff488abf7c94108eb632783add /Makefile | |
parent | 2a746234fec2f6d14e9bfa40fd7f3478cdd539ea (diff) | |
download | yosys-90404e1969443a1b8a767ab8f3dc311709c5fe9d.tar.gz yosys-90404e1969443a1b8a767ab8f3dc311709c5fe9d.tar.bz2 yosys-90404e1969443a1b8a767ab8f3dc311709c5fe9d.zip |
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.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -668,7 +668,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; \ @@ -925,6 +926,9 @@ echo-yosys-ver: echo-git-rev: @echo "$(GIT_REV)" +echo-abc-rev: + @echo "$(ABCREV)" + -include libs/*/*.d -include frontends/*/*.d -include passes/*/*.d |