patch for GNU GCC-10.1 compiler to generate GML (Graph-Markup-Language) graph data files for use with gml4gtk or other programs

mooigraph 4d37e59bcb added gcc-12 patch 2 years ago
example 1e08c537ea initial 3 years ago
gcc 1e08c537ea initial 3 years ago
gcc-12-patch-version-info 4d37e59bcb added gcc-12 patch 2 years ago
.gitignore 7d30440bda Initial commit 3 years ago
LICENSE 7d30440bda Initial commit 3 years ago
README.md 4d37e59bcb added gcc-12 patch 2 years ago

README.md

gcc-10.1-gml

patch for GNU GCC-10.1 compiler to generate GML (Graph-Markup-Language) graph data files for use with gml4gtk or other programs

Get a copy of gcc-10.1 source from gnu.org or mirrors.
unpack it and copy the files here in directory gcc
in the target directory gcc .
The *.c.orig are the original gcc-10.1 files.
configure and compile gcc as usual.
When using gcc option -fdump-tree-all-graph or
option -fdump-rtl-all-graph gml graph files
are created for use with gml4gtk or other tools.
Also possible is option -fdump-ipa-all-graph
In the example directory are gml graph examples.

programs which depend on graphviz severely limit the user and themself to what is possible in graph layout and to make it more worse the output of graphviz does omit much important information about the graph data.
The solution is to keep using ogdf, igraph, showgraph, elk or otherwise and make sure all of the graph data details are available to the user.
And graphviz cannot write to gml, graphml, tulip or other graph formats to block interoperbility with other types of graph software then graphviz.
There are examples where this graphviz usage has been a problem this way as a anti-feature for the user as defined by fsf.org:
" Antifeatures are flags applied to applications to warn of issues that may be undesirable from the user's perspective. Frequently it is behavior that benefits the developer, but that the end user of the software would prefer not to be there."

https://directory.fsf.org/wiki/Free_Software_Directory:Antifeatures

Other software with anti-features is in this list of malware created by google, miscrosoft, apple and others:

https://www.gnu.org/proprietary/all.html

In directory gcc-12 is a patch to add version info in the graph data

todo:
not much work to port this to current gcc-11 version
generate basic graphml data because it is supported by multiple real free software projects
accurate data description written as json jgf graph data format is mostly flexible because there are for every language reliable json parsers

SPDX-License-Identifier: GPL-3.0+
License-Filename: LICENSE

🇳🇱