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 :

  • l'écriture d'un simple script de construction incluant la configuration (mise en place d'options), la compilation (utilisant les fonctionnalités de compilation C/C++, Fortran et Python) et l'installation.
  • l'utilisation de Waf dans le cadre d'une application (performances et gestion des dépendances)
  • l'écriture d'extensions​.

DATE:

  • Date : Jeudi 5 septembre
  • Heure : 14h00-17h30

SALLE:

PC8


NIVEAU

Intermédiaire


Pré-requis (intra et extra programme) :

  • Logiciels: Ordinateur personnel avec Python >= 2.6
  • Compétences: Bonne connaissance du langage Python.

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


 
jdev2013/t4.a6.txt · Dernière modification: 2013/09/05 21:49 par lejeune@apc.univ-paris7.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki