build: Generate gcc-mesboot-graph from .dot.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 22 Jul 2018 20:27:24 +0000 (22:27 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 22 Jul 2018 20:27:24 +0000 (22:27 +0200)
* 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.

.gitignore
GNUmakefile
build-aux/export.make
build-aux/manifest.scm
configure
doc/images/gcc-mesboot-graph.dot [new file with mode: 0644]
doc/images/gcc-mesboot-graph.png [deleted file]
doc/mes.texi
guix/git/mes.scm

index e53bcf1e63c5e4c97adcdea0facef833c4ff6e48..885a67eede0cdf0cab726ef6077066435da22baa 100644 (file)
@@ -70,3 +70,4 @@
 /pre-inst-env
 /mes/module/mes/boot-0.scm
 /scripts/mescc
+/doc/images/gcc-mesboot-graph.png
index 1d493276bc188aff9525b03d42a9296db7f0bae8..caf588947c6ab4a24bc77040bec90a060065c164 100644 (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
index d28aa755a5b309685ddbd29a02a7306013c822ba..6814ed100e7958ebc45fa0b7f5b3c3f0bc59c4a6 100644 (file)
@@ -46,6 +46,10 @@ ifdef BLOOD_ELF
 export BLOOD_ELF
 endif
 
+ifdef DOT
+export DOT
+endif
+
 ifdef M1
 export M1
 endif
index 89684205f8f0819d789e7bcaddf72e4bc3d30ee0..d02fd6d2baf9c6cb260bca8d4f8de85fa201e05e 100644 (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)))
index 720cfdf07d8f6576a8ff6f9d8ab55f2b431eb46b..c5fdf77f6161798d3f27d869523555dbb84ed008 100755 (executable)
--- a/configure
+++ b/configure
@@ -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))))
diff --git a/doc/images/gcc-mesboot-graph.dot b/doc/images/gcc-mesboot-graph.dot
new file mode 100644 (file)
index 0000000..d153b06
--- /dev/null
@@ -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];
+
+}
diff --git a/doc/images/gcc-mesboot-graph.png b/doc/images/gcc-mesboot-graph.png
deleted file mode 100644 (file)
index 79ee36d..0000000
Binary files a/doc/images/gcc-mesboot-graph.png and /dev/null differ
index 7ce739d4f5d5d7c1f63f591856ee9b0156454413..c2ec05bfeb3c2b4f99f8c84eecdd115cb6b68d80 100644 (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.
index 2198cbd1058fed7a29f3a7e5a396b78e283d80d3..650ecc18cea50614e4b0c5f640ab73c9bef2211e 100644 (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)))