changeset 333:4e9d3cb9870f

- minor doc cleanups/cosmetics
author Tassilo Philipp
date Wed, 27 Nov 2019 19:55:18 +0100
parents 73c528d2cd4d
children 1cf6a4a94aca
files doc/manual/manual.tex doc/manual/manual_literature.tex doc/manual/manual_overview.tex
diffstat 3 files changed, 243 insertions(+), 236 deletions(-) [+]
line wrap: on
line diff
--- a/doc/manual/manual.tex	Sat Nov 23 13:53:28 2019 +0100
+++ b/doc/manual/manual.tex	Wed Nov 27 19:55:18 2019 +0100
@@ -1,209 +1,202 @@
-%//////////////////////////////////////////////////////////////////////////////
-%
-% Copyright (c) 2007-2014 Daniel Adler <dadler@uni-goettingen.de>, 
-%                         Tassilo Philipp <tphilipp@potion-studios.com>
-%
-% Permission to use, copy, modify, and distribute this software for any
-% purpose with or without fee is hereby granted, provided that the above
-% copyright notice and this permission notice appear in all copies.
-%
-% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-%
-%//////////////////////////////////////////////////////////////////////////////
-
-% Set the normal line height for the entire document (some command depend on it).
-\newcommand{\normallineheight}{10pt}
-\documentclass[\normallineheight,a4paper]{article}
-
-
-% Value multiplier.
-\newlength\mrbraceheight
-\newcommand{\tassimultiply}[2]{%
-\setlength{\mrbraceheight}{0pt}%
-\newcount\qq%
-\qq=1	% Subtract 1 by starting at 1 .
-\loop%
-	\addtolength\mrbraceheight{#2}%
-	\advance\qq by 1%
-\ifnum\qq < #1 \repeat%
-}
-
-
-% Conditional if tex4ht is on or not
-\newcommand{\ifhtml}[1]{%
-	\ifx\HCode\Undef \else%
-		#1%
-	\fi%
-}
-\newcommand{\ifnhtml}[1]{%
-	\ifx\HCode\Undef%
-		#1%
-	\fi%
-}
-\newcommand{\casehtml}[2]{%
-	\ifx\HCode\Undef%
-		#2%
-	\else%
-		#1%
-	\fi%
-}
-
-
-% Packages.
-\usepackage{a4wide}
-\usepackage{multirow}
-\usepackage{hhline}
-\usepackage{color}
-\usepackage{colortbl}
-\usepackage{bigdelim}
-\usepackage{rotating}
-\usepackage{graphicx}
-\usepackage{moreverb}
-\usepackage{listings}
-\usepackage{hyperref}
-\ifnhtml{\usepackage{watermark}}
-
-
-% Define own commands and style.
-\newcommand{\dc}{\emph{dyncall}}
-\newcommand{\capi}[1]{%
-	\noindent%
-		{\tt #1}%
-}
-\newcommand{\tab}{\indent}
-
-\newcommand{\shell}[1]{\noindent{\tt #1}}
-
-% Multiline table row with left or right curly brace.
-%\newcommand{\mrrbrace}[2]{\tassimultiply{#1}{5pt} \multirow{#1}{*}{$\smash{\left. {\vrule height 0pt depth \mrbraceheight width 0pt}\right\}}$#2}}
-\newcommand{\mrrbrace}[2]{\rdelim\}{#1}{\normallineheight} \multirow{#1}{*}{#2}                                 }
-\newcommand{\mrlbrace}[2]{                                 \multirow{#1}{*}{#2} \ldelim\{{#1}{\normallineheight}}
-
-
-\newcommand{\tablewidth}{130mm}
-%\setlength{\oddsidemargin}{10mm}
-%\setlength{\textwidth}{140mm}
-%\setlength{\parindent}{0mm}
-%\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
-
-\newcommand{\ninety}[1]{\begin{sideways}#1\end{sideways}}
-
-\renewcommand{\paragraph}[1]{%
-	\par\vspace{12pt}%
-	\noindent%
-	\textbf{#1}%
-	\par%
-	\vspace{6pt}%
-}%
-
-% Set a watermark, but not when running htlatex
-\ifnhtml{%
-\watermark{%
-\begingroup%
-\setlength{\unitlength}{1mm}%
-\begin{picture}(0,0)(32,300)%
-	\includegraphics[scale=1.0]{dyncall_watermark}%
-\end{picture}%
-\endgroup%
-}%
-}
-
-
-% Use a sans-serif font.
-\renewcommand{\familydefault}{\sfdefault}
-
-
-\definecolor{defbkgd}{gray}{1.0}
-\definecolor{gray1}{gray}{0.9}
-\definecolor{gray2}{gray}{0.8}
-\definecolor{gray3}{gray}{0.7}
-\definecolor{gray4}{gray}{0.6}
-\definecolor{lightgreen}{rgb}{0.0,1.0,0.0}
-\definecolor{darkgreen}{rgb}{0.0,0.6,0.0}
-
-% Define some column types for our colortables
-\usepackage{array}
-
-\newcommand{\cellcA}{}
-\newcommand{\cellcB}{}
-\newcommand{\cellcC}{}
-\newcommand{\cellcD}{}
-\newcolumntype{1}{l}
-\newcolumntype{2}{l}
-\newcolumntype{3}{l}
-\newcolumntype{4}{l}
-\newcolumntype{5}{r}
-\newcolumntype{6}{r}
-\newcolumntype{7}{r}
-\newcolumntype{8}{r}
-\newcolumntype{A}{p{\tablewidth}}
-\newcolumntype{B}{p{\tablewidth}}
-\newcolumntype{C}{p{\tablewidth}}
-\newcolumntype{D}{p{\tablewidth}}
-
-% listings package related settings
-
-\lstset{captionpos=b}
-\lstset{frame=tblr}
-\lstset{frameround=tttt}
-\lstset{basicstyle=\ttfamily}
-
-% text building blocks
-\newcommand{\group}[1]{\textit{$<$#1$>$}}
-\newcommand{\sigchar}[1]{'{\tt #1}'}
-\newcommand{\sigstr}[1]{"{\tt #1}"}
-\newcommand{\cenum}[1]{#1}
-\newcommand{\product}[1]{\emph{#1}}
-
-% colors used to signalize undefined, not used, supported, etc. states.
-\newcommand{\marknull}{\cellcolor{white}}
-\newcommand{\markcmpl}{\cellcolor{lightgreen}}
-\newcommand{\markimpl}{\cellcolor{darkgreen}}
-\newcommand{\marknimp}{\cellcolor{red}}
-\newcommand{\markunkn}{\cellcolor{yellow}}
-\newcommand{\marknotx}{\cellcolor{gray1}}
-
-
-% table of contents config
-\setcounter{tocdepth}{3}
-
-
-\begin{document}
-
-% html output options (that need to come after \begin{document})..
-\ifhtml{
-	\Configure{tableofcontents*}{chapter}
-}
-
-% main document content -->
-\input{manual_title}
-\newpage
-\tableofcontents
-\newpage
-\ifnhtml{
-	\listoftables
-	\listoffigures
-	\lstlistoflistings
-}
-\newpage
-\input{manual_motivation}
-\input{manual_overview}
-\input{manual_build}
-\input{manual_bindings}
-\input{manual_design}
-\input{manual_devel}
-\input{manual_epilog}
-\appendix
-\addtocontents{toc}{\protect\pagebreak}
-\input{manual_dyncall_api}
-\input{manual_dyncallback_api}
-\input{manual_dynload_api}
-\input{manual_cc}
-\input{manual_literature}
-\end{document}
+%//////////////////////////////////////////////////////////////////////////////
+%
+% Copyright (c) 2007-2019 Daniel Adler <dadler@uni-goettingen.de>, 
+%                         Tassilo Philipp <tphilipp@potion-studios.com>
+%
+% Permission to use, copy, modify, and distribute this software for any
+% purpose with or without fee is hereby granted, provided that the above
+% copyright notice and this permission notice appear in all copies.
+%
+% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+%
+%//////////////////////////////////////////////////////////////////////////////
+
+% Set the normal line height for the entire document (some command depend on it).
+\newcommand{\normallineheight}{10pt}
+\documentclass[\normallineheight,a4paper]{article}
+
+
+% Value multiplier.
+\newlength\mrbraceheight
+\newcommand{\tassimultiply}[2]{%
+\setlength{\mrbraceheight}{0pt}%
+\newcount\qq%
+\qq=1	% Subtract 1 by starting at 1 .
+\loop%
+	\addtolength\mrbraceheight{#2}%
+	\advance\qq by 1%
+\ifnum\qq < #1 \repeat%
+}
+
+
+% Conditional if tex4ht is on or not
+\newcommand{\ifhtml}[1]{%
+	\ifx\HCode\Undef \else%
+		#1%
+	\fi%
+}
+\newcommand{\ifnhtml}[1]{%
+	\ifx\HCode\Undef%
+		#1%
+	\fi%
+}
+\newcommand{\casehtml}[2]{%
+	\ifx\HCode\Undef%
+		#2%
+	\else%
+		#1%
+	\fi%
+}
+
+
+% Packages.
+\usepackage{a4wide}
+\usepackage{multirow}
+\usepackage{hhline}
+\usepackage{color}
+\usepackage{colortbl}
+\usepackage{bigdelim}
+\usepackage{rotating}
+\usepackage{graphicx}
+\usepackage{moreverb}
+\usepackage{listings}
+\usepackage{hyperref}
+\ifnhtml{\usepackage{watermark}}
+
+
+% Define own commands and style.
+\newcommand{\dc}{\emph{dyncall}}
+\newcommand{\capi}[1]{%
+	\noindent%
+		{\tt #1}%
+}
+\newcommand{\tab}{\indent}
+
+\newcommand{\shell}[1]{\noindent{\tt #1}}
+
+% Multiline table row with left or right curly brace.
+%\newcommand{\mrrbrace}[2]{\tassimultiply{#1}{5pt} \multirow{#1}{*}{$\smash{\left. {\vrule height 0pt depth \mrbraceheight width 0pt}\right\}}$#2}}
+\newcommand{\mrrbrace}[2]{\rdelim\}{#1}{\normallineheight} \multirow{#1}{*}{#2}                                 }
+\newcommand{\mrlbrace}[2]{                                 \multirow{#1}{*}{#2} \ldelim\{{#1}{\normallineheight}}
+
+
+\newcommand{\tablewidth}{130mm}
+%\setlength{\oddsidemargin}{10mm}
+%\setlength{\textwidth}{140mm}
+%\setlength{\parindent}{0mm}
+%\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
+
+\newcommand{\ninety}[1]{\begin{sideways}#1\end{sideways}}
+
+\renewcommand{\paragraph}[1]{%
+	\par\vspace{12pt}%
+	\noindent%
+	\textbf{#1}%
+	\par%
+	\vspace{6pt}%
+}%
+
+% Set a watermark, but not when running htlatex
+\ifnhtml{%
+\watermark{%
+\begingroup%
+\setlength{\unitlength}{1mm}%
+\begin{picture}(0,0)(32,300)%
+	\includegraphics[scale=1.0]{dyncall_watermark}%
+\end{picture}%
+\endgroup%
+}%
+}
+
+
+% Use a sans-serif font.
+\renewcommand{\familydefault}{\sfdefault}
+
+
+\definecolor{defbkgd}{gray}{1.0}
+\definecolor{gray1}{gray}{0.9}
+\definecolor{gray2}{gray}{0.8}
+\definecolor{gray3}{gray}{0.7}
+\definecolor{gray4}{gray}{0.6}
+\definecolor{lightgreen}{rgb}{0.0,1.0,0.0}
+\definecolor{darkgreen}{rgb}{0.0,0.6,0.0}
+
+% Define some column types for our colortables
+\usepackage{array}
+
+\newcommand{\cellcA}{}
+\newcommand{\cellcB}{}
+\newcommand{\cellcC}{}
+\newcommand{\cellcD}{}
+\newcolumntype{1}{l}
+\newcolumntype{2}{l}
+\newcolumntype{3}{l}
+\newcolumntype{4}{l}
+\newcolumntype{5}{r}
+\newcolumntype{6}{r}
+\newcolumntype{7}{r}
+\newcolumntype{8}{r}
+\newcolumntype{A}{p{\tablewidth}}
+\newcolumntype{B}{p{\tablewidth}}
+\newcolumntype{C}{p{\tablewidth}}
+\newcolumntype{D}{p{\tablewidth}}
+
+% listings package related settings
+
+\lstset{captionpos=b}
+\lstset{frame=tblr}
+\lstset{frameround=tttt}
+\lstset{basicstyle=\ttfamily}
+
+% text building blocks
+\newcommand{\group}[1]{\textit{$<$#1$>$}}
+\newcommand{\sigchar}[1]{'{\tt #1}'}
+\newcommand{\sigstr}[1]{"{\tt #1}"}
+\newcommand{\cenum}[1]{#1}
+\newcommand{\product}[1]{\emph{#1}}
+
+
+% table of contents config
+\setcounter{tocdepth}{3}
+
+
+\begin{document}
+
+% html output options (that need to come after \begin{document})..
+\ifhtml{
+	\Configure{tableofcontents*}{chapter}
+}
+
+% main document content -->
+\input{manual_title}
+\newpage
+\tableofcontents
+\newpage
+\ifnhtml{
+	\listoftables
+	\listoffigures
+	\lstlistoflistings
+}
+\newpage
+\input{manual_motivation}
+\input{manual_overview}
+\input{manual_build}
+\input{manual_bindings}
+\input{manual_design}
+\input{manual_devel}
+\input{manual_epilog}
+\appendix
+\addtocontents{toc}{\protect\pagebreak}
+\input{manual_dyncall_api}
+\input{manual_dyncallback_api}
+\input{manual_dynload_api}
+\input{manual_cc}
+\input{manual_literature}
+\end{document}
+
--- a/doc/manual/manual_literature.tex	Sat Nov 23 13:53:28 2019 +0100
+++ b/doc/manual/manual_literature.tex	Wed Nov 27 19:55:18 2019 +0100
@@ -1,6 +1,6 @@
 %//////////////////////////////////////////////////////////////////////////////
 %
-% Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>, 
+% Copyright (c) 2007-2019 Daniel Adler <dadler@uni-goettingen.de>, 
 %                         Tassilo Philipp <tphilipp@potion-studios.com>
 %
 % Permission to use, copy, modify, and distribute this software for any
@@ -166,6 +166,10 @@
 	Developing PowerPC Embedded Application Binary Interface (EABI)\\
 	\url{http://www.ibm.com/chips/techlib/techlib.nsf/techdocs/852569B20050FF778525699700}
 
+\bibitem{poabi}
+	Introduction to the PowerOpen ABI\\
+	\url{ftp://www.sourceware.org/pub/binutils/ppc-docs/ppc-poweropen/}
+
 \bibitem{ppcelf64abi}
 	64-bit PowerPC ELF Application Binary Interface Supplement 1.9\\
 	\url{http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html}
--- a/doc/manual/manual_overview.tex	Sat Nov 23 13:53:28 2019 +0100
+++ b/doc/manual/manual_overview.tex	Wed Nov 27 19:55:18 2019 +0100
@@ -1,6 +1,6 @@
 %//////////////////////////////////////////////////////////////////////////////
 %
-% Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>, 
+% Copyright (c) 2007-2019 Daniel Adler <dadler@uni-goettingen.de>, 
 %                         Tassilo Philipp <tphilipp@potion-studios.com>
 %
 % Permission to use, copy, modify, and distribute this software for any
@@ -117,9 +117,10 @@
 }
 \end{lstlisting}
 
-As you can see, this is more code after all, but completely dynamic.
-And definitely less than generated glue-code for each function call, if
-used correctly.
+This is more code than a direct, hardcoded function call, however it's completely dynamic.
+Also, despite this coming with an overhead of more executed code per single function call,
+compared to function interface wrapper tools that generate per call glue-code less code is
+used overall, . % might want to test this claim against swig, etc.
 
 The following are examples from script bindings:
 
@@ -155,28 +156,14 @@
 important). The rightmost column gives a brief info about calling convention support or other notes.
 For detailed info about a platform's support consult the calling convention appendix.
 
-% OLD support matrix
-%\begin{table}[h]
-%\begin{tabular}{r|*{3}{c!{\color{gray2}\vrule}}*{4}{c!{\color{gray2}\vrule}}*{11}{c!{\color{gray2}\vrule}}}
-%                              & \ninety{\bf Alpha} & \ninety{\bf ARM} & \ninety{\bf ARM64} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS}} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS64}} & \ninety{\bf SuperH} & \ninety{\bf PowerPC} & \ninety{\bf PowerPC64} & \ninety{\bf m68k} & \ninety{\bf m88k} & \ninety{\bf x86} & \ninety{\bf x64} & \ninety{\bf Itanium} & \ninety{\bf SPARC} & \ninety{\bf SPARC64} & \ninety{\bf RISC-V} \\
-%                              &                    &                  &                    & \ninety{\tiny EB} & \ninety{\tiny EL}                       & \ninety{\tiny EB} & \ninety{\tiny EL}                         &                     &                      &                        &                   &                   &                  &                  &                      &                    &                      &                     \\
-%\hline                                                                                                                                                                                                                                                                                                                                                                                                                                          
-%{\bf Windows family}          & \marknotx          & \markunkn        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf Linux}                   & \marknimp          & \markcmpl        & \markcmpl          & \markcmpl         & \markunkn                               & \markunkn         & \markcmpl                                 & \marknimp           & \markcmpl            & \markcmpl              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknimp           \\
-%{\bf macOS / iOS / Darwin}    & \marknotx          & \markcmpl        & \markcmpl          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \markcmpl            & \markunkn              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf FreeBSD}                 & \marknimp          & \markcmpl        & \markcmpl          & \markunkn         & \markunkn                               & \markunkn         & \markunkn                                 & \marknotx           & \markimpl            & \markcmpl              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \marknotx          & \markcmpl            & \marknimp           \\
-%{\bf NetBSD}                  & \marknimp          & \markcmpl        & \marknotx          & \markunkn         & \markcmpl                               & \markunkn         & \markunkn                                 & \marknimp           & \markimpl            & \marknotx              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknimp           \\
-%{\bf OpenBSD}                 & \marknimp          & \markcmpl        & \markunkn          & \markunkn         & \markunkn                               & \markcmpl         & \markunkn                                 & \marknimp           & \markunkn            & \marknotx              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknotx           \\
-%{\bf DragonFlyBSD}            & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf Solaris / SunOS}         & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \markcmpl          & \markimpl            & \marknotx           \\
-%{\bf Plan 9 / 9front}         & \marknimp          & \marknimp        & \marknotx          & \marknimp         & \marknimp                               & \marknotx         & \marknotx                                 & \marknotx           & \marknimp            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknimp        & \marknotx            & \marknimp          & \marknotx            & \marknotx           \\
-%{\bf Haiku / BeOS}            & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf Minix}                   & \marknotx          & \markunkn        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf Playstation Portable}    & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \markcmpl                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \marknotx        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%{\bf Nintendo DS}             & \marknotx          & \markcmpl        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \marknotx        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
-%\end{tabular}
-%\caption{Supported platforms}%
-%\end{table}
+
+% colors used to signalize undefined, not used, supported, etc. states.
+\newcommand{\marknull}{\cellcolor{white}}
+\newcommand{\markcmpl}{\cellcolor{lightgreen}}
+\newcommand{\markimpl}{\cellcolor{darkgreen}}
+\newcommand{\marknimp}{\cellcolor{red}}
+\newcommand{\markunkn}{\cellcolor{yellow}}
+\newcommand{\marknotx}{\cellcolor{gray1}}
 
 \newcommand{\OSwinfam} {\ninety{Windows family}      }
 \newcommand{\OSlinux}  {\ninety{Linux}               }
@@ -245,6 +232,29 @@
 \caption{Supported platforms}%
 \end{table}
 
+% OLD support matrix
+%\begin{table}[h]
+%\begin{tabular}{r|*{3}{c!{\color{gray2}\vrule}}*{4}{c!{\color{gray2}\vrule}}*{11}{c!{\color{gray2}\vrule}}}
+%                              & \ninety{\bf Alpha} & \ninety{\bf ARM} & \ninety{\bf ARM64} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS}} & \multicolumn{2}{c!{\color{gray2}\vrule}}{\ninety{\bf MIPS64}} & \ninety{\bf SuperH} & \ninety{\bf PowerPC} & \ninety{\bf PowerPC64} & \ninety{\bf m68k} & \ninety{\bf m88k} & \ninety{\bf x86} & \ninety{\bf x64} & \ninety{\bf Itanium} & \ninety{\bf SPARC} & \ninety{\bf SPARC64} & \ninety{\bf RISC-V} \\
+%                              &                    &                  &                    & \ninety{\tiny EB} & \ninety{\tiny EL}                       & \ninety{\tiny EB} & \ninety{\tiny EL}                         &                     &                      &                        &                   &                   &                  &                  &                      &                    &                      &                     \\
+%\hline                                                                                                                                                                                                                                                                                                                                                                                                                                          
+%{\bf Windows family}          & \marknotx          & \markunkn        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf Linux}                   & \marknimp          & \markcmpl        & \markcmpl          & \markcmpl         & \markunkn                               & \markunkn         & \markcmpl                                 & \marknimp           & \markcmpl            & \markcmpl              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknimp           \\
+%{\bf macOS / iOS / Darwin}    & \marknotx          & \markcmpl        & \markcmpl          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \markcmpl            & \markunkn              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf FreeBSD}                 & \marknimp          & \markcmpl        & \markcmpl          & \markunkn         & \markunkn                               & \markunkn         & \markunkn                                 & \marknotx           & \markimpl            & \markcmpl              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknimp            & \marknotx          & \markcmpl            & \marknimp           \\
+%{\bf NetBSD}                  & \marknimp          & \markcmpl        & \marknotx          & \markunkn         & \markcmpl                               & \markunkn         & \markunkn                                 & \marknimp           & \markimpl            & \marknotx              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknimp           \\
+%{\bf OpenBSD}                 & \marknimp          & \markcmpl        & \markunkn          & \markunkn         & \markunkn                               & \markcmpl         & \markunkn                                 & \marknimp           & \markunkn            & \marknotx              & \marknimp         & \marknimp         & \markcmpl        & \markcmpl        & \marknimp            & \markcmpl          & \markcmpl            & \marknotx           \\
+%{\bf DragonFlyBSD}            & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf Solaris / SunOS}         & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \markcmpl        & \marknotx            & \markcmpl          & \markimpl            & \marknotx           \\
+%{\bf Plan 9 / 9front}         & \marknimp          & \marknimp        & \marknotx          & \marknimp         & \marknimp                               & \marknotx         & \marknotx                                 & \marknotx           & \marknimp            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknimp        & \marknotx            & \marknimp          & \marknotx            & \marknotx           \\
+%{\bf Haiku / BeOS}            & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf Minix}                   & \marknotx          & \markunkn        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \markcmpl        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf Playstation Portable}    & \marknotx          & \marknotx        & \marknotx          & \marknotx         & \markcmpl                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \marknotx        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%{\bf Nintendo DS}             & \marknotx          & \markcmpl        & \marknotx          & \marknotx         & \marknotx                               & \marknotx         & \marknotx                                 & \marknotx           & \marknotx            & \marknotx              & \marknotx         & \marknotx         & \marknotx        & \marknotx        & \marknotx            & \marknotx          & \marknotx            & \marknotx           \\
+%\end{tabular}
+%\caption{Supported platforms}%
+%\end{table}
+
 
 \subsection{Build Requirements}