[bootlin/training-materials updates] master: agenda/autotools-online-agenda: new agenda (2ecb61a4)
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Wed Mar 30 13:36:36 CEST 2022
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/2ecb61a49660a421755987a63b84d5242b3f5afb
>---------------------------------------------------------------
commit 2ecb61a49660a421755987a63b84d5242b3f5afb
Author: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Date: Wed Mar 30 13:36:36 2022 +0200
agenda/autotools-online-agenda: new agenda
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
>---------------------------------------------------------------
2ecb61a49660a421755987a63b84d5242b3f5afb
agenda/autotools-agenda.tex | 6 +-
agenda/autotools-online-agenda.tex | 154 +++++++++++++++++++++++++++++++++++++
2 files changed, 155 insertions(+), 5 deletions(-)
diff --git a/agenda/autotools-agenda.tex b/agenda/autotools-agenda.tex
index df5a4457..d1dfe282 100644
--- a/agenda/autotools-agenda.tex
+++ b/agenda/autotools-agenda.tex
@@ -49,11 +49,7 @@
}
\feagendasummaryitem{Prerequisites}{
\begin{itemize}
- \item {\bf Knowledge and practice of UNIX or GNU/Linux commands}:
- participants must be familiar with the Linux command
- line. Participants lacking experience on this topic should get
- trained by themselves, for example with our freely available
- on-line slides (\url{https://bootlin.com/blog/command-line/})
+ \prerequisitecommandline
\end{itemize}
}
\ferequiredequipmentonsite{}
diff --git a/agenda/autotools-online-agenda.tex b/agenda/autotools-online-agenda.tex
new file mode 100644
index 00000000..7e5c7e2b
--- /dev/null
+++ b/agenda/autotools-online-agenda.tex
@@ -0,0 +1,154 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\def \trainingtitle{Autotools training}
+\def \trainingduration{On-line seminar, 2 sessions of 4 hours}
+\def \agendalanguage{english}
+\def \training{autotools}
+
+\usepackage{agenda}
+
+\begin{document}
+
+\feshowtitle
+
+\feagendasummaryitem{Title}{
+ {\bf \trainingtitle{}}
+}
+\feagendasummaryitem{Training objectives}{
+ \begin{itemize}
+ \item Be able to understand the role of the {\em autotools}
+ \item Be able to use the {\em autotools}
+ \item Be able to set up a basic project with {\em autoconf} and {\em
+ automake}
+ \item Be able to use advanced {\em autoconf} features: configuration
+ header, checking for functions, headers and libraries, writing
+ custom tests, handling external software and optional features,
+ pkg-config, etc.
+ \item Be able to use advanced {\em automake} features:
+ subdirectories, conditionals, shared libraries with {\em libtool},
+ etc.
+ \end{itemize}
+}
+\feagendasummaryitem{Duration}{
+ {\bf Two} half days - 8 hours (4 hours per half day)
+}
+\onsitepedagogics{40}{60}{autotools}
+\feagendasummaryitem{Trainer}{
+ {\bf Thomas Petazzoni}. Thomas is a major
+ Buildroot developer since 2009, an activity through which he has
+ gained a good knowledge of {\em autoconf}, {\em automake} and {\em
+ libtool}.
+}
+\feagendasummaryitem{Language}{
+ Oral lectures: English, French.
+ \newline Materials: English.
+}
+\feagendasummaryitem{Audience}{
+ Companies already using or interested in using
+ {\em autotools} to build their software components.
+}
+\feagendasummaryitem{Prerequisites}{
+ \begin{itemize}
+ \prerequisitecommandline
+ \end{itemize}
+}
+\feagendasummaryitem{Required equipment}{
+ \begin{itemize}
+ \item Computer with the operating system of your choice, with the
+ Google Chrome or Chromium browser for videoconferencing
+ \item Webcam and microphone (preferably from an audio headset)
+ \item High speed access to the Internet
+ \item For people interested in our optional practical labs,
+ an installation of VirtualBox and about 30 GB of free
+ disk space.
+ \end{itemize}
+}
+\certificate{}
+\disabilities{}
+
+\section{Half day 1}
+
+\feagendatwocolumn
+{Lecture - Overview and usage of {\em autotools}}
+{
+ \begin{itemize}
+ \item What the {\em autotools} are, what the alternatives are, and
+ what they are useful for.
+ \item Usage of an existing software component using the {\em
+ autotools}: configuring and building the software component.
+ \item Standard Makefile targets, filesystem hierarchy, configuration variables
+ \item System types: build, host, target
+ \item Cross-compilation
+ \item Out of tree build
+ \item Diverted installation
+ \item Cache variables
+ \item Using {\em autoreconf}
+ \end{itemize}
+}
+{Lab - Usage of an existing software component using the {\em autotools}}
+{
+ \begin{itemize}
+ \item First build of an {\em autotools} package
+ \item Out-of-tree build and cross-compilation
+ \item Overriding cache variables
+ \item Using {\em autoreconf}
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Lecture - autoconf/automake: the basics}
+{
+ \begin{itemize}
+ \item \code{configure.ac} language and basic macros
+ \item \code{AC_CONFIG_FILES} and {\em output variables}
+ \item Minimal \code{Makefile.am}
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Lab - autoconf/automake: the basics}
+{
+ \begin{itemize}
+ \item Your first \code{configure.ac}
+ \item Adding and building a program
+ \item Going further: \code{autoscan} and \code{make dist}
+ \end{itemize}
+}
+
+\section{Half day 2}
+
+\feagendatwocolumn
+{Lecture - Autoconf advanced}
+{
+ \begin{itemize}
+ \item Configuration header
+ \item Checking for functions, headers, libraries
+ \item Custom tests
+ \item Handling external software and optional features
+ \item \code{pkg-config}
+ \end{itemize}
+}
+{Lecture - Automake advanced}
+{
+ \begin{itemize}
+ \item Subdirectories
+ \item Conditionals
+ \item Shared libraries
+ \item Misc: variables, macro and auxiliarly directories, silent
+ rules, etc.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Lab - Implement more advanced options}
+{
+ \begin{itemize}
+ \item Use \code{AC_ARG_ENABLE} and \code{config.h}
+ \item Implement a shared library
+ \item Switch to multiple directories
+ \item Make the compilation of programs conditional
+ \item Use \code{pkg-config}
+ \end{itemize}
+}
+
+\end{document}
More information about the training-materials-updates
mailing list