/*description:
{
Leader script that drives the intrusion of profiling code in C++ source files. This
is called a \textit{raw profiling}, because it doesn't pretend to offer a smart and
efficient profiling mechanism. It is more like an illustration of what is possible as
a program transformation.

Two properties must be passed on the command line:
\begin{itemize}
\item \textbf{SOURCES} gives the file masks of C++ bodies to select for the
transformation. If more than one mask, one cancatenates them, separated by a
semi-comma.
\item \textbf{RAW_PROFILING_DIR} provides the directory where to generate the
\textit{profiling module}. The \textit{profiling module} manages the time spent
in each profiled function and how many times they have been called.
\end{itemize}

The \textit{profiling module} is implemented in files \samp{"RawProfiling.h"} and
\samp{"RawProfiling.cpp"}.
}
*/

if !getProperty("SOURCES") error("property 'SOURCES' must contain the file masks of C++ bodies, separated by semi commas.");
if !getProperty("RAW_PROFILING_DIR") error("property 'RAW_PROFILING_DIR' must contain the directory where to generate the profiling module.");

local sProfilingDir = canonizePath(getProperty("RAW_PROFILING_DIR"));
if !endString(sProfilingDir, "/") set sProfilingDir += "/";