From d962647b4ebe4177ee8abcf02b32080364d9ded7 Mon Sep 17 00:00:00 2001
From: Andre Maroneze <andre.oliveiramaroneze@cea.fr>
Date: Fri, 5 Jun 2020 16:10:42 +0200
Subject: [PATCH] [Doc] add section about required build information

---
 doc/userman/user-analysis-scripts.tex | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/doc/userman/user-analysis-scripts.tex b/doc/userman/user-analysis-scripts.tex
index e542a564cd6..ba6e590c56b 100644
--- a/doc/userman/user-analysis-scripts.tex
+++ b/doc/userman/user-analysis-scripts.tex
@@ -73,6 +73,30 @@ re-running \texttt{make} should be enough to obtain a new result.
 Section~\ref{sec:using-generated-makefile} details usage of the Makefile
 and presents an illustrative diagram.
 
+\subsection{Necessary Build Information}
+\label{sec:necessary-build-information}
+
+For an analysis with \FramaC, besides the source code, the following pieces
+of information are necessary:
+
+\begin{description}
+\item[machdep]: architectural information about system where the code will run:
+  integer type sizes, compiler, OS, etc. See section~\ref{sec:normalize} for
+  more details.
+\item[preprocessing flags]: options given to the C preprocessor, mainly
+  macros (\texttt{-D}) and include directories (\texttt{-I}).
+\item[list of sources]: the actual list of source files that make a logical
+  unit (e.g. a test case or a whole program), without duplicate function
+  definitions.
+\item[main function]: the function where the analysis will start; it is often
+  \texttt{main}, but not always. ({\em Note: \FramaC itself thes not require
+    a \texttt{main} function, but plug-ins such as \texttt{Eva} do}.)
+\end{description}
+
+A project without such information is incomplete. In such cases, an alternative
+workflow is necessary. The next section presents some possibilities to
+retrieve such information.
+
 \subsection{Possible Workflows in the Absence of Build Information}
 \label{alternative-workflows}
 
-- 
GitLab