Table des matières

Atelier T4.A6 L’outil de reconstruction/déploiement Waf

animé par Maude Le Jeune, CNRS/IN2P3/APC

retour
retour au programme

PUBLIC VISE:

Personnel de la Recherche et de l'Enseignement Supérieur …


Description

Waf est un outil de construction de logiciel, dans la lignée des autotools (configure, make), CMake, SCons. Il permet de gérer la configuration, la compilation et l'installation d'un logiciel avec une syntaxe intuitive (en Python), et des fonctionnalités (modules) permettant d'écrire les scripts de construction très rapidement, quel que soit le langage utilisé. Cette structure modulaire permet aux utilisateurs d'en étendre les fonctionnalités selon leur besoin, et ainsi de s'adapter à la complexité croissante des processus de construction (multiplicité des langages, des architectures, interfaçage , etc). Waf est performant, portable, léger, et directement distribué avec l'application qu'il construit, il ne requiert donc aucune installation préalable. Les participants à l'atelier seront guidés dans :


DATE:


SALLE:

PC8


NIVEAU

Intermédiaire


Pré-requis (intra et extra programme) :


MATERIEL/ORDINATEUR/CONTRAINTES:

Nombre de personnes maximum: <a remplir>


DOCUMENTS/Machine virtuelle:

http://jdev2013.lix.polytechnique.fr/Ateliers/T4/T4.A6/T4A6_waf.tar.gz

:!: Mis à jour le 05/09 en incluant les corrections et solutions des exos.

README

Contenu de l'archive

L'énoncé du TP est sous la forme d'une page HTML nommée tpwaf.html. Des éléments de description de l'outil waf sont donnés sous forme de texte, illustré par extraits de code source qui servent également à alimenter les exercices. Les énoncés des exercices sont notés en rouge.

Le fichier wafbook.pdf contient la documentation officielle de waf. Elle est uniquement fournie à titre de supplément d'information. Ce TP reprend un certain nombre des exemples et explications donnés dans le wafbook, ils sont donc redondants.

L'archive waf-1.6.11.tar.bz2 contient les sources de l'outil permettant de construire le binaire waf. Ce dernier étant déjà fourni, il n'est pas nécessaire de le reconstruire. Cette archive peut être extraite à titre informatif, lorsque le TP y fait référence.

Déroulement du TP

Les différentes parties du TP doivent être réalisées dans l'ordre.

Les premières sections Concept de base, Exemples en C/C++/Python sont suffisantes pour une utilisation basique de l'outil. Les sections suivantes présentent les concepts avancés qui répondent à des besoins spécifiques en terme de configuration et compilation (interfaçage de différents langages, architecture hétérogène, etc) ou de performance.

Un pad collaboratif est à votre disposition pour signaler les problèmes, bugs, astuces, remarques que vous souhaitez partager avec le reste du groupe: https://etherpad.in2p3.fr/p/JDEV2013.T4.a6