[FE training-materials-updates] slides/autotools-usage: checkpoint progress

Boris Brezillon boris.brezillon at free-electrons.com
Fri May 22 17:13:36 CEST 2015


Repository : git://git.free-electrons.com/training-materials.git

On branch  : mtd-rework-WIP
Link       : http://git.free-electrons.com/training-materials/commit/?id=4f2494b375ee92ffc319a27255fe3ea1d732a32c

>---------------------------------------------------------------

commit 4f2494b375ee92ffc319a27255fe3ea1d732a32c
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Wed May 20 13:13:06 2015 +0200

    slides/autotools-usage: checkpoint progress
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


>---------------------------------------------------------------

4f2494b375ee92ffc319a27255fe3ea1d732a32c
 slides/autotools-usage/autotools-usage.tex         | 267 +++++++++++-
 .../what-configure-does.dia}                       | 461 ++++++++++-----------
 2 files changed, 481 insertions(+), 247 deletions(-)

diff --git a/slides/autotools-usage/autotools-usage.tex b/slides/autotools-usage/autotools-usage.tex
index 06192f8..234c992 100644
--- a/slides/autotools-usage/autotools-usage.tex
+++ b/slides/autotools-usage/autotools-usage.tex
@@ -27,7 +27,7 @@
     \item {\bf Configuration}\\
       \code{./configure}\\
       Will look at the available build environment, verify required
-      dependencies, generate Makefiles.
+      dependencies, generate \code{Makefile}s and a \code{config.h}
     \item {\bf Compilation}\\
       \code{make}\\
       Actually builds the software component, using the generated
@@ -40,7 +40,9 @@
 \end{frame}
 
 \begin{frame}{What is {\tt configure} doing?}
-
+  \begin{center}
+    \includegraphics[width=\textwidth]{slides/autotools-usage/what-configure-does.pdf}
+  \end{center}
 \end{frame}
 
 \begin{frame}{Standard Makefile targets}
@@ -61,42 +63,279 @@
 
 \begin{frame}{Standard filesystem hierarchy}
   \begin{itemize}
-  \item {\bf prefix}, defaults to \code{/usr/local}
+  \item \code{prefix}, defaults to {\em /usr/local}
     \begin{itemize}
-    \item {\bf exec-prefix}, defaults to {\em prefix}
+    \item \code{exec-prefix}, defaults to \code{prefix}
       \begin{itemize}
-      \item {\bf bindir}, for programs, defaults to {\em exec-prefix/bin}
-      \item {\bf libdir}, for libraries, defaults to {\em exec-prefix/lib}
+      \item \code{bindir}, for programs, defaults to \code{exec-prefix/}{\em bin}
+      \item \code{libdir}, for libraries, defaults to \code{exec-prefix/}{\em lib}
       \end{itemize}
     \end{itemize}
-  \item {\bf includedir}, for headers, defaults to {\em prefix/include}
-  \item {\bf datarootdir}, defaults to {\em prefix/share}
+  \item \code{includedir}, for headers, defaults to \code{prefix/}{\em include}
+  \item \code{datarootdir}, defaults to \code{prefix/}{\em share}
+    \begin{itemize}
+    \item \code{datadir}, defaults to \code{datarootdir}
+    \item \code{mandir}, for man pages, defaults to \code{datarootdir/}{\em man}
+    \item \code{infodir}, for info documents, defaults to \code{datarootdir/}{\em info}
+    \end{itemize}
+  \item \code{sysconfdir}, for configuration files, defaults to
+    \code{prefix/}{\em etc}
+  \item \code{--<option>} available for each of them
     \begin{itemize}
-    \item {\bf datadir}, defaults to {\em datarootdir}
-    \item {\bf mandir}, for man pages, defaults to {\em datarootdir/man}
-    \item {\bf infodir}, for info documents, defaults to {\em datarootdir/info}
+    \item E.g: \code{./configure --prefix=~/sys/}
     \end{itemize}
-  \item \code{./configure --prefix=~/sys/}
   \end{itemize}
 \end{frame}
 
 \begin{frame}{Standard configuration variables}
+  \begin{itemize}
+  \item \code{CC}, C compiler command
+  \item \code{CFLAGS}, C compiler flags
+  \item \code{CXX}, C++ compiler command
+  \item \code{CXXFLAGS}, C++ compiler flags
+  \item \code{LDFLAGS}, linker flags
+  \item \code{CPPFLAGS}, C/C++ preprocessor flags
+  \item and many more, see \code{./configure --help}
+  \item E.g: \code{./configure CC=arm-linux-gcc}
+  \end{itemize}
+\end{frame}
 
+\begin{frame}{System types: build, host, target}
+  \begin{itemize}
+  \item {\em autotools} identify three {\bf system types}:
+    \begin{itemize}
+    \item {\bf build}, which is the system where the build takes place
+    \item {\bf host}, which is the system where the execution of the
+      compiled code will take place
+    \item {\bf target}, which is the system for which the program will
+      generate code. This is only used for compilers, assemblers,
+      linkers, etc.
+    \end{itemize}
+  \item Corresponding \code{--build}, \code{--host} and
+    \code{--target} {\em configure} options.
+    \begin{itemize}
+    \item They are all automatically {\em guessed} to the current
+      machine by default
+    \item \code{--build}, generally does not need to be changed
+    \item \code{--host}, must be overriden to do cross-compilation
+    \item \code{--target}, needs to be overriden if needed (to
+      generate a cross-compiler, for example)
+    \end{itemize}
+  \item Arguments to these options are {\em configuration names}, also
+    called {\em system tuples}
+  \end{itemize}
 \end{frame}
 
-\begin{frame}{Out of tree build}
+\begin{frame}{System type: {\em configuration names}}
+  \begin{itemize}
+  \item A string identifying a combination of architecture, operating
+    system, ABI and C library
+  \item General format: \code{<arch>-<vendor>-<kernel>-<operating_system>}
+    \begin{itemize}
+    \item \code{<arch>} is the type of processor, i.e \code{arm},
+      \code{i686}, etc.
+    \item \code{<vendor>} is a free form string, which can be omitted
+    \item \code{<kernel>} is always \code{linux} when working with
+      Linux systems, or \code{none} for bare metal systems
+    \item \code{<operating_system>} generally identifies the C library
+      and ABI, i.e \code{gnu}, \code{gnueabi}, \code{eabi},
+      \code{gnueabihf}, \code{uclibcgnueabihf}
+    \end{itemize}
+  \item Also often used as the {\em prefix} for cross-compilation
+    tools.
+  \item Examples
+    \begin{itemize}
+    \item \code{x86_64-amd-linux-gnu}
+    \item \code{powerpc-mentor-linux-gnu}
+    \item \code{armeb-linux-gnueabihf}
+    \item \code{i486-linux-musl}
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{System type: native compilation example}
+
+\begin{block}{}
+{\small
+\begin{verbatim}
+$ ./configure
+[...]
+checking build system type... x86_64-unknown-linux-gnu
+checking host system type... x86_64-unknown-linux-gnu
+checking for gcc... gcc
+[...]
+checking how to run the C preprocessor... gcc -E
+[...]
+\end{verbatim}}
+\end{block}
 
 \end{frame}
 
 \begin{frame}{Cross-compilation}
+  \begin{itemize}
+  \item By default, {\em autotools} will guess the {\bf host} machine
+    as being the current machine
+  \item To cross-compile, it must be overriden by passing the
+    \code{--host} option with the appropriate {\em configuration name}
+  \item By default, {\em autotools} will try to use the
+    cross-compilation tools that use the {\em configuration name} as
+    their prefix.
+  \item If not, the variables \code{CC}, \code{CXX}, \code{LD},
+    \code{AR}, etc. can be used to point to the cross-compilation
+    tools.
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{System type: cross compilation example}
+
+\begin{block}{}
+{\scriptsize
+\begin{verbatim}
+$ which arm-linux-gnueabihf-gcc
+/usr/bin/arm-linux-gnueabihf-gcc
+$ ./configure --host=arm-linux-gnueabihf
+[...]
+checking build system type... x86_64-unknown-linux-gnu
+checking host system type... arm-unknown-linux-gnueabihf
+checking for arm-linux-gnueabihf-gcc... arm-linux-gnueabihf-gcc
+[...]
+checking how to run the C preprocessor... arm-linux-gnueabihf-gcc -E
+[...]
+\end{verbatim}}
+\end{block}
 
 \end{frame}
 
-\begin{frame}{Diverted installation with DESTDIR}
+\begin{frame}{Out of tree build}
+  \begin{itemize}
+  \item {\em autotools} support out of tree compilation by default
+  \item Consists in doing the build in a directory separate from the
+    source directory
+  \item Allows to:
+    \begin{itemize}
+    \item Build different configurations without having to rebuild
+      from scratch each time.
+    \item Do not clutter the source directory with build related files
+    \end{itemize}
+  \item To use out of tree compilation, simply run the configure
+    script from another empty directory
+    \begin{itemize}
+    \item This directory will become the build directory
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{Out of tree build: example}
+
+  \begin{block}{}
+{\scriptsize
+\begin{verbatim}
+strace-4.9 $ ls
+configure configure.ac Makefile.am system.c NEWS
+AUTHORS   COPYING     file.c       ioprio.c config.h
+strace-4.9 $ mkdir ../strace-build-x86 ../strace-build-arm
+strace-4.9 $ cd ../strace-build-x86
+strace-build-x86 $ ../strace-4.9/configure
+[...]
+strace-build-x86 $ make
+[...]
+strace-build-x86 $ cd ../strace-build-arm
+strace-build-arm $ ../strace-4.9/configure --host=arm-linux-gnueabihf
+[...]
+strace-build-arm $ make
+[...]
+\end{verbatim}}
+\end{block}
+
+\end{frame}
+
+\begin{frame}[fragile]{Diverted installation with DESTDIR}
+
+  \begin{itemize}
+
+  \item By default, \code{make install} installs to the directories
+    given in \code{--prefix} and related options.
+
+  \item In some situations, it is useful to {\em divert} the
+    installation to another directory
+    \begin{itemize}
+    \item Cross-compilation, where the build machine is not the
+      machine where applications will be executed.
+    \item Packaging, where the installation needs to be done in a
+      temporary directory.
+    \end{itemize}
+
+  \item Achieved using the \code{DESTDIR} variable.
+  \end{itemize}
+
+  \begin{block}{}
+{\tiny
+\begin{verbatim}
+strace-4.9 $ make DESTDIR=/tmp/test install
+[...]
+strace-4.9 $ find  /tmp/test/ -type f
+/tmp/test/usr/local/share/man/man1/strace.1
+/tmp/test/usr/local/bin/strace-log-merge
+/tmp/test/usr/local/bin/strace-graph
+/tmp/test/usr/local/bin/strace
+\end{verbatim}}
+\end{block}
 
 \end{frame}
 
 \begin{frame}{Analyzing issues}
+  \begin{itemize}
+  \item \code{autoconf} keeps a log of all the tests it runs in a file
+    called \code{config.log}
+  \item Very useful for analysis of \code{autoconf} issues
+  \item It contains several sections: {\em Platform}, {\em Core
+      tests}, {\em Running config.status}, {\em Cache variables}, {\em
+      Output variables}, {\em confdefs.h}
+  \item The end of the {\em Core tests} section is usually the most
+    interesting part
+    \begin{itemize}
+    \item This is where you would get more details about the reason of
+      the {\em configure} script failure
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{{\tt config.log} example}
+
+\begin{block}{}
+{\tiny
+\begin{verbatim}
+$ ./configure ...
+[...]
+checking for TIFFFlushData in -ltiff34... no
+configure: WARNING: *** TIFF loader will not be built (TIFF library not found) ***
+configure: error: 
+*** Checks for TIFF loader failed. You can build without it by passing
+*** --without-libtiff to configure but some programs using GTK+ may
+*** not work properly
+
+$ cat config.log
+[...]
+configure:18177: .../usr/bin/x86_64-linux-gcc -std=gnu99 -o conftest -D_LARGEFILE_SOURCE
+   -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64   -Os  -static -Wall -D_LARGEFILE_SOURCE
+    -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DG_DISABLE_SINGLE_INCLUDES  -static
+    conftest.c -ltiff34 -ljpeg -lz -lm  >&5
+.../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/4.8.4/../../../../
+    x86_64-buildroot-linux-uclibc/bin/ld: cannot find -ltiff34
+.../host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/4.8.4/../../../../
+   x86_64-buildroot-linux-uclibc/bin/ld: cannot find -ljpeg
+collect2: error: ld returned 1 exit status
+configure:18177: $? = 1
+configure: failed program was:
+[...]
+configure:18186: result: no
+configure:18199: WARNING: *** TIFF loader will not be built (TIFF library not found) ***
+configure:18210: error: 
+*** Checks for TIFF loader failed. You can build without it by passing
+*** --without-libtiff to configure but some programs using GTK+ may
+*** not work properly
+\end{verbatim}}
+\end{block}
 
 \end{frame}
 
diff --git a/slides/sysdev-application-development/gdb-vs-gdbserver-architecture.dia b/slides/autotools-usage/what-configure-does.dia
similarity index 72%
copy from slides/sysdev-application-development/gdb-vs-gdbserver-architecture.dia
copy to slides/autotools-usage/what-configure-does.dia
index ec3863e..0a94056 100644
--- a/slides/sysdev-application-development/gdb-vs-gdbserver-architecture.dia
+++ b/slides/autotools-usage/what-configure-does.dia
@@ -63,117 +63,114 @@
     </dia:attribute>
   </dia:diagramdata>
   <dia:layer name="Arrière-plan" visible="true" active="true">
-    <dia:object type="Standard - Box" version="0" id="O0">
+    <dia:object type="Standard - Line" version="0" id="O0">
       <dia:attribute name="obj_pos">
-        <dia:point val="10,5"/>
+        <dia:point val="24.5,11"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="9.95,4.95;24.05,23.05"/>
+        <dia:rectangle val="24.1382,10.95;24.8618,20.1118"/>
       </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="10,5"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="14"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="18"/>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="24.5,11"/>
+        <dia:point val="24.5,20"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
       </dia:attribute>
-      <dia:attribute name="border_color">
-        <dia:color val="#6a8954"/>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
       </dia:attribute>
-      <dia:attribute name="inner_color">
-        <dia:color val="#c5e387"/>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O3" connection="6"/>
+        <dia:connection handle="1" to="O11" connection="1"/>
+      </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O1">
+    <dia:object type="Standard - Line" version="0" id="O1">
       <dia:attribute name="obj_pos">
-        <dia:point val="36,5"/>
+        <dia:point val="37.5,11.0496"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="35.95,4.95;50.05,23.05"/>
+        <dia:rectangle val="37.1382,10.9996;37.8618,20.1118"/>
       </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="36,5"/>
-      </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="14"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="18"/>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="37.5,11.0496"/>
+        <dia:point val="37.5,20"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
       </dia:attribute>
-      <dia:attribute name="border_color">
-        <dia:color val="#5cacff"/>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
       </dia:attribute>
-      <dia:attribute name="inner_color">
-        <dia:color val="#d8e5e5"/>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O4" connection="8"/>
+        <dia:connection handle="1" to="O12" connection="1"/>
+      </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Box" version="0" id="O2">
+    <dia:object type="Standard - Line" version="0" id="O2">
       <dia:attribute name="obj_pos">
-        <dia:point val="12,8"/>
+        <dia:point val="50.5,11"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="11.95,7.95;22.05,11.05"/>
-      </dia:attribute>
-      <dia:attribute name="elem_corner">
-        <dia:point val="12,8"/>
+        <dia:rectangle val="50.1382,10.95;50.8618,20.1118"/>
       </dia:attribute>
-      <dia:attribute name="elem_width">
-        <dia:real val="10"/>
-      </dia:attribute>
-      <dia:attribute name="elem_height">
-        <dia:real val="3"/>
+      <dia:attribute name="conn_endpoints">
+        <dia:point val="50.5,11"/>
+        <dia:point val="50.5,20"/>
       </dia:attribute>
-      <dia:attribute name="border_width">
-        <dia:real val="0.10000000149011612"/>
+      <dia:attribute name="numcp">
+        <dia:int val="1"/>
       </dia:attribute>
-      <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+      <dia:attribute name="end_arrow">
+        <dia:enum val="22"/>
       </dia:attribute>
-      <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+      <dia:attribute name="end_arrow_length">
+        <dia:real val="0.5"/>
       </dia:attribute>
-      <dia:attribute name="show_background">
-        <dia:boolean val="true"/>
+      <dia:attribute name="end_arrow_width">
+        <dia:real val="0.5"/>
       </dia:attribute>
+      <dia:connections>
+        <dia:connection handle="0" to="O5" connection="6"/>
+        <dia:connection handle="1" to="O13" connection="1"/>
+      </dia:connections>
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O3">
       <dia:attribute name="obj_pos">
-        <dia:point val="12,13"/>
+        <dia:point val="20,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="11.95,12.95;22.05,21.05"/>
+        <dia:rectangle val="19.95,7.95;29.05,11.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="12,13"/>
+        <dia:point val="20,8"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="9"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="8"/>
+        <dia:real val="3"/>
       </dia:attribute>
       <dia:attribute name="border_width">
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#5cacff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#add8e6"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -181,16 +178,16 @@
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O4">
       <dia:attribute name="obj_pos">
-        <dia:point val="38,8"/>
+        <dia:point val="33,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="37.95,7.95;48.05,11.05"/>
+        <dia:rectangle val="32.95,7.95;42.05,11.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="38,8"/>
+        <dia:point val="33,8"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="9"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
         <dia:real val="3"/>
@@ -199,10 +196,10 @@
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#5cacff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#add8e6"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -210,28 +207,28 @@
     </dia:object>
     <dia:object type="Standard - Box" version="0" id="O5">
       <dia:attribute name="obj_pos">
-        <dia:point val="38,13"/>
+        <dia:point val="46,8"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="37.95,12.95;48.05,21.05"/>
+        <dia:rectangle val="45.95,7.95;55.05,11.05"/>
       </dia:attribute>
       <dia:attribute name="elem_corner">
-        <dia:point val="38,13"/>
+        <dia:point val="46,8"/>
       </dia:attribute>
       <dia:attribute name="elem_width">
-        <dia:real val="10"/>
+        <dia:real val="9"/>
       </dia:attribute>
       <dia:attribute name="elem_height">
-        <dia:real val="8"/>
+        <dia:real val="3"/>
       </dia:attribute>
       <dia:attribute name="border_width">
         <dia:real val="0.10000000149011612"/>
       </dia:attribute>
       <dia:attribute name="border_color">
-        <dia:color val="#868686"/>
+        <dia:color val="#5cacff"/>
       </dia:attribute>
       <dia:attribute name="inner_color">
-        <dia:color val="#e5e5e5"/>
+        <dia:color val="#add8e6"/>
       </dia:attribute>
       <dia:attribute name="show_background">
         <dia:boolean val="true"/>
@@ -239,24 +236,24 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O6">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,9.5"/>
+        <dia:point val="24.5,9.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="12.835,8.92375;21.165,10.0762"/>
+        <dia:rectangle val="21.695,9.00625;27.305,9.99375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#ARCH-linux-gdb#</dia:string>
+            <dia:string>#Makefile.in#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.2347221747040749"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,9.84125"/>
+            <dia:point val="24.5,9.79375"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -270,29 +267,29 @@
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O2" connection="8"/>
+        <dia:connection handle="0" to="O3" connection="8"/>
       </dia:connections>
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O7">
       <dia:attribute name="obj_pos">
-        <dia:point val="43,9.5"/>
+        <dia:point val="37.5,9.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="40.3225,8.92375;45.6775,10.0762"/>
+        <dia:rectangle val="33.675,9.00625;41.325,9.99375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#gdbserver#</dia:string>
+            <dia:string>#src/Makefile.in#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
             <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.2347221747040749"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="43,9.84125"/>
+            <dia:point val="37.5,9.79375"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -311,27 +308,24 @@
     </dia:object>
     <dia:object type="Standard - Text" version="1" id="O8">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,17"/>
+        <dia:point val="50.5,9.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="12.22,14.7792;21.78,19.2208"/>
+        <dia:rectangle val="47.695,9.00625;53.305,9.99375"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Binaries and libraries
-with debugging
-symbols not
-stripped#</dia:string>
+            <dia:string>#config.h.in#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
+            <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,15.6192"/>
+            <dia:point val="50.5,9.79375"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -345,32 +339,58 @@ stripped#</dia:string>
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O3" connection="8"/>
+        <dia:connection handle="0" to="O5" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O9">
+    <dia:object type="Standard - Box" version="0" id="O9">
       <dia:attribute name="obj_pos">
-        <dia:point val="43,17"/>
+        <dia:point val="20,14"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="38.4537,14.7792;47.5463,19.2208"/>
+        <dia:rectangle val="19.95,13.95;55.05,17.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="20,14"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="35"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
+      </dia:attribute>
+      <dia:attribute name="border_width">
+        <dia:real val="0.10000000149011612"/>
+      </dia:attribute>
+      <dia:attribute name="border_color">
+        <dia:color val="#d9cb2f"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#fff8a8"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Text" version="1" id="O10">
+      <dia:attribute name="obj_pos">
+        <dia:point val="37.5,15.5"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="34.695,15.0062;40.305,15.9938"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Running program
-with binaries and
-libraries that can be
-stripped#</dia:string>
+            <dia:string>#./configure#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
+            <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.1288888454437256"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="43,15.6192"/>
+            <dia:point val="37.5,15.7937"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -384,70 +404,116 @@ stripped#</dia:string>
         <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O5" connection="8"/>
+        <dia:connection handle="0" to="O9" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O10">
+    <dia:object type="Standard - Box" version="0" id="O11">
       <dia:attribute name="obj_pos">
-        <dia:point val="22,9.5"/>
+        <dia:point val="20,20"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="21.85,8.91459;38.1025,10.0854"/>
+        <dia:rectangle val="19.95,19.95;29.05,23.05"/>
       </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="22,9.5"/>
-        <dia:point val="37.9525,9.5"/>
+      <dia:attribute name="elem_corner">
+        <dia:point val="20,20"/>
       </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
+      <dia:attribute name="elem_width">
+        <dia:real val="9"/>
       </dia:attribute>
-      <dia:attribute name="line_width">
-        <dia:real val="0.30000001192092896"/>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
       </dia:attribute>
-      <dia:attribute name="start_arrow">
-        <dia:enum val="22"/>
+      <dia:attribute name="border_width">
+        <dia:real val="0.10000000149011612"/>
       </dia:attribute>
-      <dia:attribute name="start_arrow_length">
-        <dia:real val="0.5"/>
+      <dia:attribute name="border_color">
+        <dia:color val="#6a8954"/>
       </dia:attribute>
-      <dia:attribute name="start_arrow_width">
-        <dia:real val="0.5"/>
+      <dia:attribute name="inner_color">
+        <dia:color val="#c5e387"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
+    </dia:object>
+    <dia:object type="Standard - Box" version="0" id="O12">
+      <dia:attribute name="obj_pos">
+        <dia:point val="33,20"/>
       </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="32.95,19.95;42.05,23.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="33,20"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="9"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
+      </dia:attribute>
+      <dia:attribute name="border_width">
+        <dia:real val="0.10000000149011612"/>
+      </dia:attribute>
+      <dia:attribute name="border_color">
+        <dia:color val="#6a8954"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#c5e387"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
+      </dia:attribute>
+    </dia:object>
+    <dia:object type="Standard - Box" version="0" id="O13">
+      <dia:attribute name="obj_pos">
+        <dia:point val="46,20"/>
+      </dia:attribute>
+      <dia:attribute name="obj_bb">
+        <dia:rectangle val="45.95,19.95;55.05,23.05"/>
+      </dia:attribute>
+      <dia:attribute name="elem_corner">
+        <dia:point val="46,20"/>
+      </dia:attribute>
+      <dia:attribute name="elem_width">
+        <dia:real val="9"/>
+      </dia:attribute>
+      <dia:attribute name="elem_height">
+        <dia:real val="3"/>
+      </dia:attribute>
+      <dia:attribute name="border_width">
+        <dia:real val="0.10000000149011612"/>
+      </dia:attribute>
+      <dia:attribute name="border_color">
+        <dia:color val="#6a8954"/>
+      </dia:attribute>
+      <dia:attribute name="inner_color">
+        <dia:color val="#c5e387"/>
+      </dia:attribute>
+      <dia:attribute name="show_background">
+        <dia:boolean val="true"/>
       </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="4"/>
-        <dia:connection handle="1" to="O4" connection="8"/>
-      </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O11">
+    <dia:object type="Standard - Text" version="1" id="O14">
       <dia:attribute name="obj_pos">
-        <dia:point val="30,7"/>
+        <dia:point val="24.5,21.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="26.2763,7;33.7238,9.04583"/>
+        <dia:rectangle val="22.46,21.0063;26.54,21.9938"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Serial or Ethernet
-connection#</dia:string>
+            <dia:string>#Makefile#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
+            <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
             <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="30,7.7875"/>
+            <dia:point val="24.5,21.7938"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -458,103 +524,32 @@ connection#</dia:string>
         </dia:composite>
       </dia:attribute>
       <dia:attribute name="valign">
-        <dia:enum val="0"/>
-      </dia:attribute>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O12">
-      <dia:attribute name="obj_pos">
-        <dia:point val="17,11"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="16.6382,10.95;17.3618,13.05"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="17,11"/>
-        <dia:point val="17,13"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:connections>
-        <dia:connection handle="0" to="O2" connection="6"/>
-        <dia:connection handle="1" to="O3" connection="1"/>
-      </dia:connections>
-    </dia:object>
-    <dia:object type="Standard - Line" version="0" id="O13">
-      <dia:attribute name="obj_pos">
-        <dia:point val="43,11"/>
-      </dia:attribute>
-      <dia:attribute name="obj_bb">
-        <dia:rectangle val="42.6382,10.95;43.3618,13.05"/>
-      </dia:attribute>
-      <dia:attribute name="conn_endpoints">
-        <dia:point val="43,11"/>
-        <dia:point val="43,13"/>
-      </dia:attribute>
-      <dia:attribute name="numcp">
-        <dia:int val="1"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="start_arrow_width">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow">
-        <dia:enum val="22"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_length">
-        <dia:real val="0.5"/>
-      </dia:attribute>
-      <dia:attribute name="end_arrow_width">
-        <dia:real val="0.5"/>
+        <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O4" connection="6"/>
-        <dia:connection handle="1" to="O5" connection="1"/>
+        <dia:connection handle="0" to="O11" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O14">
+    <dia:object type="Standard - Text" version="1" id="O15">
       <dia:attribute name="obj_pos">
-        <dia:point val="17,5"/>
+        <dia:point val="37.5,21.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="15.715,5;18.285,6.3175"/>
+        <dia:rectangle val="34.44,21.0063;40.56,21.9938"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Host#</dia:string>
+            <dia:string>#src/Makefile#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
+            <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.411111056804657"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="17,6.05"/>
+            <dia:point val="37.5,21.7938"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -565,32 +560,32 @@ connection#</dia:string>
         </dia:composite>
       </dia:attribute>
       <dia:attribute name="valign">
-        <dia:enum val="0"/>
+        <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O0" connection="1"/>
+        <dia:connection handle="0" to="O12" connection="8"/>
       </dia:connections>
     </dia:object>
-    <dia:object type="Standard - Text" version="1" id="O15">
+    <dia:object type="Standard - Text" version="1" id="O16">
       <dia:attribute name="obj_pos">
-        <dia:point val="43,5"/>
+        <dia:point val="50.5,21.5"/>
       </dia:attribute>
       <dia:attribute name="obj_bb">
-        <dia:rectangle val="41.2525,5;44.7475,6.3175"/>
+        <dia:rectangle val="48.46,21.0063;52.54,21.9938"/>
       </dia:attribute>
       <dia:attribute name="text">
         <dia:composite type="text">
           <dia:attribute name="string">
-            <dia:string>#Target#</dia:string>
+            <dia:string>#config.h#</dia:string>
           </dia:attribute>
           <dia:attribute name="font">
-            <dia:font family="sans" style="0" name="Helvetica"/>
+            <dia:font family="monospace" style="0" name="Courier"/>
           </dia:attribute>
           <dia:attribute name="height">
-            <dia:real val="1.411111056804657"/>
+            <dia:real val="1.0583332926034927"/>
           </dia:attribute>
           <dia:attribute name="pos">
-            <dia:point val="43,6.05"/>
+            <dia:point val="50.5,21.7938"/>
           </dia:attribute>
           <dia:attribute name="color">
             <dia:color val="#000000"/>
@@ -601,10 +596,10 @@ connection#</dia:string>
         </dia:composite>
       </dia:attribute>
       <dia:attribute name="valign">
-        <dia:enum val="0"/>
+        <dia:enum val="2"/>
       </dia:attribute>
       <dia:connections>
-        <dia:connection handle="0" to="O1" connection="1"/>
+        <dia:connection handle="0" to="O13" connection="8"/>
       </dia:connections>
     </dia:object>
   </dia:layer>



More information about the training-materials-updates mailing list