build: Generate gcc-mesboot-graph from .dot.

* doc/images/gcc-mesboot-graph.dot: New file.
* doc/images/gcc-mesboot-graph.png: Remove.
* GNUmakefile (${top_builddest}doc/images/gcc-mesboot-graph.png): New target.
* configure (det): Add check.
* build-aux/export.make: Export it.
* doc/mes.texi (The Mes Bootstrap Process): Describe new recipe.
* guix/git/mes.scm (mes): Add graphvis dependency.
This commit is contained in:
Jan Nieuwenhuizen 2018-07-22 22:27:24 +02:00
parent 53c0941937
commit 06e0dfe9ad
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
9 changed files with 175 additions and 4 deletions

1
.gitignore vendored
View file

@ -70,3 +70,4 @@
/pre-inst-env
/mes/module/mes/boot-0.scm
/scripts/mescc
/doc/images/gcc-mesboot-graph.png

View file

@ -115,9 +115,17 @@ endif
info: ${top_builddest}doc/mes.info
${top_builddest}doc/mes.info: doc/mes.texi ${top_builddest}doc/version.texi GNUmakefile
${top_builddest}doc/mes.info: doc/mes.texi ${top_builddest}doc/version.texi doc/images/gcc-mesboot-graph.dot GNUmakefile
$(MAKEINFO) -o $@ -I ${top_builddest}doc -I doc $<
${top_builddest}doc/images/gcc-mesboot-graph.png: doc/images/gcc-mesboot-graph.dot
ifdef DOT
$(DOT) -T png $< > $@
else
touch $@
$(warning info: graphvis missing: no images)
endif
install-info: info
man: ${top_builddest}doc/mes.1 ${top_builddest}doc/mescc.1
@ -132,7 +140,7 @@ ${top_builddest}doc/mescc.1: ${top_builddest}src/mes ${top_builddest}scripts/mes
html: ${top_builddest}mes/index.html
${top_builddest}mes/index.html: doc/mes.texi
${top_builddest}mes/index.html: doc/mes.texi ${top_builddest}doc/images/gcc-mesboot-graph.png
$(MAKEINFO) --html -o ${top_builddest}doc/mes $<
pdf: ${top_builddest}doc/mes.pdf

View file

@ -46,6 +46,10 @@ ifdef BLOOD_ELF
export BLOOD_ELF
endif
ifdef DOT
export DOT
endif
ifdef M1
export M1
endif

View file

@ -16,5 +16,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with Mes. If not, see <http://www.gnu.org/licenses/>.
(use-modules (guix packages))
(set! %load-path (cons "guix" %load-path))
(include "../.guix.scm")
(packages->manifest (map cadr (package-direct-inputs mes)))

1
configure vendored
View file

@ -363,6 +363,7 @@ Some influential environment variables:
(make-dep "hex2" '(0 3))
(make-dep "tcc" '(0 9 26) #:optional? #t #:version-option "-v")
(make-dep "makeinfo" '(5) #:optional? #t)
(make-dep "dot" '(2) #:version-option "-V")
(make-dep "help2man" '(1 47) #:optional? #t)
(make-dep "perl" '(5) #:optional? #t)
(make-dep "git" '(2) #:optional? #t))))

View file

@ -0,0 +1,153 @@
digraph "Guix package" {
"31010176" [label = "gcc-mesboot-4.7.4", shape = box, fontname = Helvetica];
"31010176" -> "30785536" [color = peachpuff4];
"31010176" -> "30785728" [color = peachpuff4];
"31010176" -> "30785920" [color = peachpuff4];
"31010176" -> "16584064" [color = peachpuff4];
"31010176" -> "32377472" [color = peachpuff4];
"31010176" -> "47218240" [color = peachpuff4];
"31010176" -> "32377856" [color = peachpuff4];
"30785536" [label = "binutils-mesboot-2.20.1a", shape = box, fontname = Helvetica];
"30785536" -> "47984832" [color = dimgrey];
"30785536" -> "30785920" [color = dimgrey];
"30785536" -> "30785728" [color = dimgrey];
"30785536" -> "16584064" [color = dimgrey];
"30785536" -> "32377472" [color = dimgrey];
"30785536" -> "47218048" [color = dimgrey];
"30785536" -> "32377856" [color = dimgrey];
"30785536" -> "16584064" [color = dimgrey];
"30785536" -> "32377856" [color = dimgrey];
"30785536" -> "47986368" [color = dimgrey];
"30785536" -> "47985408" [color = dimgrey];
"47984832" [label = "binutils-mesboot0-2.20.1a", shape = box, fontname = Helvetica];
"47984832" -> "16584064" [color = darkviolet];
"47984832" -> "32377856" [color = darkviolet];
"47984832" -> "47986368" [color = darkviolet];
"47984832" -> "47985408" [color = darkviolet];
"16584064" [label = "bootstrap-binaries-0", shape = box, fontname = Helvetica];
"32377856" [label = "make-boot0-4.2.1", shape = box, fontname = Helvetica];
"32377856" -> "16583680" [color = darkgoldenrod];
"32377856" -> "16583488" [color = darkgoldenrod];
"32377856" -> "16583872" [color = darkgoldenrod];
"32377856" -> "16584064" [color = darkgoldenrod];
"32377856" -> "16584064" [color = darkgoldenrod];
"16583680" [label = "glibc-bootstrap-0", shape = box, fontname = Helvetica];
"16583488" [label = "gcc-bootstrap-0", shape = box, fontname = Helvetica];
"16583488" -> "16583680" [color = blue];
"16583872" [label = "binutils-bootstrap-0", shape = box, fontname = Helvetica];
"47986368" [label = "mes-boot-0.17-rc", shape = box, fontname = Helvetica];
"47986368" -> "16584064" [color = blue];
"47986368" -> "47986752" [color = blue];
"47986752" [label = "mescc-tools-boot-0.4-1.f02b8f4", shape = box, fontname = Helvetica];
"47986752" -> "16584064" [color = dimgrey];
"47985408" [label = "tcc-boot-0.9.27", shape = box, fontname = Helvetica];
"47985408" -> "16584064" [color = magenta];
"47985408" -> "47986368" [color = magenta];
"47985408" -> "47985600" [color = magenta];
"47985600" [label = "tcc-boot0-0.9.26-2.1f518ea", shape = box, fontname = Helvetica];
"47985600" -> "16584064" [color = dimgrey];
"47985600" -> "47986368" [color = dimgrey];
"47985600" -> "47986752" [color = dimgrey];
"30785920" [label = "glibc-mesboot-2.2.5", shape = box, fontname = Helvetica];
"30785920" -> "47984832" [color = darkseagreen];
"30785920" -> "47984640" [color = darkseagreen];
"30785920" -> "16584064" [color = darkseagreen];
"30785920" -> "32377472" [color = darkseagreen];
"30785920" -> "47217856" [color = darkseagreen];
"30785920" -> "32377856" [color = darkseagreen];
"30785920" -> "29541120" [color = darkseagreen];
"47984640" [label = "gcc-core-mesboot-2.95.3", shape = box, fontname = Helvetica];
"47984640" -> "16584064" [color = red];
"47984640" -> "47984832" [color = red];
"47984640" -> "32377472" [color = red];
"47984640" -> "32377856" [color = red];
"47984640" -> "47985408" [color = red];
"32377472" [label = "diffutils-boot0-3.6", shape = box, fontname = Helvetica];
"32377472" -> "32377856" [color = blue];
"32377472" -> "16583680" [color = blue];
"32377472" -> "16583488" [color = blue];
"32377472" -> "16583872" [color = blue];
"32377472" -> "16584064" [color = blue];
"32377472" -> "16584064" [color = blue];
"47217856" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica];
"47217856" -> "32375552" [color = darkviolet];
"47217856" -> "32377856" [color = darkviolet];
"47217856" -> "32377472" [color = darkviolet];
"47217856" -> "32377088" [color = darkviolet];
"47217856" -> "32376704" [color = darkviolet];
"47217856" -> "16583680" [color = darkviolet];
"47217856" -> "16583488" [color = darkviolet];
"47217856" -> "16583872" [color = darkviolet];
"47217856" -> "16584064" [color = darkviolet];
"47217856" -> "16584064" [color = darkviolet];
"32375552" [label = "perl-boot0-5.26.0", shape = box, fontname = Helvetica];
"32375552" -> "32377856" [color = red];
"32375552" -> "32377472" [color = red];
"32375552" -> "32377088" [color = red];
"32375552" -> "32376704" [color = red];
"32375552" -> "16583680" [color = red];
"32375552" -> "16583488" [color = red];
"32375552" -> "16583872" [color = red];
"32375552" -> "16584064" [color = red];
"32375552" -> "16584064" [color = red];
"32377088" [label = "findutils-boot0-4.6.0", shape = box, fontname = Helvetica];
"32377088" -> "32377856" [color = darkseagreen];
"32377088" -> "32377472" [color = darkseagreen];
"32377088" -> "16583680" [color = darkseagreen];
"32377088" -> "16583488" [color = darkseagreen];
"32377088" -> "16583872" [color = darkseagreen];
"32377088" -> "16584064" [color = darkseagreen];
"32377088" -> "16584064" [color = darkseagreen];
"32376704" [label = "file-boot0-5.30", shape = box, fontname = Helvetica];
"32376704" -> "32377856" [color = darkgoldenrod];
"32376704" -> "16583680" [color = darkgoldenrod];
"32376704" -> "16583488" [color = darkgoldenrod];
"32376704" -> "16583872" [color = darkgoldenrod];
"32376704" -> "16584064" [color = darkgoldenrod];
"32376704" -> "16584064" [color = darkgoldenrod];
"29541120" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica];
"29541120" -> "30006848" [color = blue];
"30006848" [label = "perl-5.26.0", shape = box, fontname = Helvetica];
"30785728" [label = "gcc-mesboot0-2.95.3", shape = box, fontname = Helvetica];
"30785728" -> "47984832" [color = blue];
"30785728" -> "47984640" [color = blue];
"30785728" -> "30785920" [color = blue];
"30785728" -> "16584064" [color = blue];
"30785728" -> "32377472" [color = blue];
"30785728" -> "32377856" [color = blue];
"30785728" -> "47217664" [color = blue];
"47217664" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica];
"47217664" -> "32375552" [color = darkseagreen];
"47217664" -> "32377856" [color = darkseagreen];
"47217664" -> "32377472" [color = darkseagreen];
"47217664" -> "32377088" [color = darkseagreen];
"47217664" -> "32376704" [color = darkseagreen];
"47217664" -> "16583680" [color = darkseagreen];
"47217664" -> "16583488" [color = darkseagreen];
"47217664" -> "16583872" [color = darkseagreen];
"47217664" -> "16584064" [color = darkseagreen];
"47217664" -> "16584064" [color = darkseagreen];
"47218048" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica];
"47218048" -> "32375552" [color = blue];
"47218048" -> "32377856" [color = blue];
"47218048" -> "32377472" [color = blue];
"47218048" -> "32377088" [color = blue];
"47218048" -> "32376704" [color = blue];
"47218048" -> "16583680" [color = blue];
"47218048" -> "16583488" [color = blue];
"47218048" -> "16583872" [color = blue];
"47218048" -> "16584064" [color = blue];
"47218048" -> "16584064" [color = blue];
"47218240" [label = "linux-libre-headers-4.4.47", shape = box, fontname = Helvetica];
"47218240" -> "32375552" [color = red];
"47218240" -> "32377856" [color = red];
"47218240" -> "32377472" [color = red];
"47218240" -> "32377088" [color = red];
"47218240" -> "32376704" [color = red];
"47218240" -> "16583680" [color = red];
"47218240" -> "16583488" [color = red];
"47218240" -> "16583872" [color = red];
"47218240" -> "16584064" [color = red];
"47218240" -> "16584064" [color = red];
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 KiB

View file

@ -505,8 +505,8 @@ gcc-source + binutils + gcc-core + glibc => gcc
@c sed -i s,package-with-bootstrap-guile,identity, gnu/packages/{commencement,mes}.scm
@c ./pre-inst-env guix graph gcc-mesboot | dot -T png >
@c gcc-mesboot-graph.png
@c ~/src/guix-bootstrap/pre-inst-env guix graph gcc-mesboot > doc/images/gcc-mesboot-graph.dot
@c dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png
Here's a generated dependency diagram to give you impression, it is not
complete or correct.

View file

@ -31,6 +31,7 @@
#:use-module (gnu packages commencement)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages guile)
#:use-module (gnu packages man)
#:use-module (gnu packages mes)
@ -135,6 +136,7 @@ hex2 linker.")
`(("i686-linux-binutils" ,(cross-binutils triplet))
("i686-linux-gcc" ,(cross-gcc triplet)))
'())
("graphviz" ,graphviz)
("help2man" ,help2man)
("perl" ,perl) ; build-aux/gitlog-to-changelog
("texinfo" ,texinfo)))