1/ Récupérer
et installer les sources, SVN ou Tarballs 2/
Scons, l'assistant de compilation
Introduction
En général, les experts de la compilation n'ont
pas besoin de ce type d'information. Cette page s'adresse donc
principalement aux très grands débutants en
programmation ou aux graphistes qui n'auraient pas spécialement
un besoin urgent de se lancer dans ce type de démarche mais
qui souhaiteraient s'initier à une nouvelle technique ou
simplement connaître l'état de développement
de leur logiciel préféré avant tout le
monde.
1/
Récupérer et installer les sources, SVN ou Tarballs
SVN est l'acronyme de SubVersioN. C'est un logiciel de travail
en collaboration qui permet de gérer différentes
versions soit dans le temps : les différences entres les
versions sont mémorisées chronologiquement, soit
dans l'espace : chaque client peut disposer d'une version locale
qu'il modifie à sa convenance et poste sur le serveur
central s'il en possède les droits. Ainsi les développeurs
d'un projet particulier peuvent-ils travailler sur différentes
versions et les fusionner au même endroit en gardant une
trace de toutes les modifications même les plus
insignifiantes. C'est tout l'intérêt de la chose car
si après une mise à jour, un état du serveur
pose un problème, il est facile de supprimer
automatiquement les modifications gênantes pour revenir à
une version antérieure stable. Pour l'utilisateur lambda,
seule la partie client possède un intérêt
puisqu'elle permet de mettre à jour rapidement sa version
personnelle quand il y a eu des modifications sur le serveur.
Sous Windows, SVN existe en version fenêtrée sous
le nom de TortoiseSVN mais à l'usage on se
rend compte qu'il est beaucoup plus pratique de travailler
en ligne de commande. Il vaut mieux utiliser SVN tout
court. En effet, si les textes sont un peu plus longs à
taper qu'un clic souris, il est en revanche plus simple de
contrôler les dossiers que l'on est en trains de traiter
réellement.
Un serveur SVN peut contenir
plusieurs projets. Dans le cas de Blender, il existe un tronc
principal
... c:\bf-blender>svn
co https://svn.blender.org/svnroot/bf-blender/trunk/blender
..
|
et des embranchements qui
contiennent des développements spéciaux comme
l'intégration de Freestyle
ou des Bmeshes.
Enfin, les versions officielles, celles qui sont téléchargeables
sur le site blender.org, sont "taguées" (ce qui
revient à figer une copie du tronc au moment choisi) de
manière à ce qu'une telle version ne soit pas
modifiée pendant la phase de compilation. Jusqu'au milieu
de l'automne 2009, l'équipe de développement
de Blender travaillait sur la version 2.50 au niveau d'un
embranchement. La version 2.49b correspondait alors au tronc
principal. Mais cela cela s'est inversé. Blender 2.49b
a glissé sur une branche dédiée :
... c:\bf-blender>svn
co
https://svn.blender.org/svnroot/bf-blender/branches/blender2.4
..
|
et Blender 2.50 est devenu la version de travail du tronc
principal..
Si malgré tout on ne souhaite
pas utiliser le gestionnaire de version, on peut trouver des
sources (presque) prêtes à l'emploi dans le dossier
http://download.blender.org/source/
. Ce fichier que les pros nomment un tarball doit être
déplié dans le dossier c:\bf-blender\blender.
Mais ce ne sera pas suffisant car un certain nombre de
bibliothèques de fonction sont nécessaires et elles
ne sont pas fournies dans cette archives. On peut les trouver sur
le DVD-ROM qui accompagne le livre Blender
Starter Kit (voir dans le dossier sources) ou sur un site de
téléchargement de gros fichier de free.fr :
http://dl.free.fr/gvW449xf9
. Ces bibliothèques doivent être obligatoirement
déposées dans le dossier :
c:\bf-blender\lib\windows. C'est un pré-requis
indispensable.
ATTENTION L'arborescence de dossier doit être
scrupuleusement respectée pour arriver au bout d'une
compilation sans erreur.
|
* .
* ..
* blender ( il est possible de renommer en blender_25 )
* lib
..
|
2/ Scons
Scons est un outil de gestion
de compilation programmé en python. Autrement dit, au
travers des scripts qui le compose, on circule dans
l'ensemble des fichiers source de Blender pour en effectuer la
compilation en ligne de commande. On doit commencer
nécessairement par installer le langage Python complet,
soit la version 2.5 ou la 2.6, c'est sans
importance mais surtout pas la 3.1 dont certaines fonctions sont
incompatibles. Ensuite le dernier Scons en date : version 1.2.
Normalement, les versions 1.1 et un 1.2 sont livrées en
local avec les sources de Blender. Il ne reste plus qu'à ouvrir une
console msdos autrement dit une fenêtre de commande en ligne
que l'on peut créer en écrivant une simple
ligne de texte: "cmd.exe" dans un ficher texte nommé
commande.bat.. Un clic gauche sur ce fichier ouvre la console.
L'opération suivante consiste à passer une commande
en ligne pour se rendre dans le le dossier contenant les sources
de Blender. Comme la commande de changement de dossier est cd,
on tape donc :
... c:\>cd
c:\bf-blender\blender ..
|
3/ Path et autres bibliothèques On peut vérifier
que le python est bien repéré par la variable
d'environnement PATH.
... c:\bf-blender\blender>set
path ......
|
Pour une utilisation courante à
partir de Blender cette modifation n'est pas nécessaire
mais dans le cadre d'une compilation avec Scons, oui. Pour qu'il
fonctionne correctement dans le contexte de la console, il faut
ajouter l'adresse du dossier python25 ou python26. On peut le
faire en ligne de commande :
... c:\bf-blender\blender>set
path = %path%c:\python25\;c:\python25\scripts ...
|
Attention, ce n'est qu'une modification provisoire qui
disparaît dès que la console est fermée. On
peut modifier la variable de manière définitive de
la manière suivante :
ouvrir les propriétés
du Poste de travail avec un clic droit sur l'icône
du bureau ;
choisir l'onglet : Avancé
;
enfoncer le bouton : Variables
d'environnement (tout en bas);
aller au tableau
Variables système ;
sélectionner Path
;
enfoncer le bouton
Modifier ;
Ajouter l'adresse du ou des dossiers.
Une fois la problème du
chemin réglé, on peut utiliser deux outils de
compilation au choix. Soit Microsoft
Visual Studio Express qui est libre d'utilisation avec
quelques restrictions (je conseille de télécharger
le DVD-ROM complet), soit MingW
qui est totalement libre. Dans le premier cas, comme pour le
PATH, on doit vérifier que certaines variables
d'environnement sont bien installées :
... c:\bf-blender\blender>set
lib ...
|
qui doit renvoyer au moins ceci :
.... LIB=C:\Program
Files\Microsoft Platform SDK for Windows Server 2003 R2\lib
|
ainsi que :
... c:\bf-blender\blender>set
include ...
|
pour laquelle on attend ce contenu:
... .INCLUDE=C:\Program
Files\Microsoft Platform SDK for Windows Server 2003
R2\include ...
|
(ces variables d'environnement
seront certainement différentes avec MSVC 9).
Enfin, on lance la compilation en
ligne de commande :
...
c:\bf-blender\blender>python
scons\scons.py ...
|
ou :
...
c:\bf-blender\blender>python
scons\scons.py BF_TOOLSET=mingw ...
|
... si on souhaite utiliser les
outils libres de MingW. L'option BF_QUIET=0 permet
de suivre la compilation en détail :
...
c:\bf-blender\blender>python
scons\scons.py BF_TOOLSET=mingw BF_QUIET=0 ...
|
... mais rallonge considérablement la durée des
opérations puisque toutes les informations passées
au compilateur sont affichées à l'écran.
Pour ma part, je préfère utiliser la version
scons qui s'inscrit dans le python du système. Dans ce cas,
il faut vérifier qu'un fichier scons.bat soit dans le
dossier "c:\python25\scripts" ou "c:\python26\scripts".
Pour compiler sous MingW, si
dernier se trouve dans le dossier : C:\stock_logiciel\mingw\bin,
on peut créer un fichier de commande .bat qui
contient ces lignes :
cd C:\bf-blender\blender
path=%path%;c:\stock_logiciel\mingw\bin;c:\stock_logiciel\mingw\lib
call scons BF_TOOLSET=mingw BF_QUIET=0 strip
c:\bf-blender\install\win32-mingw\blender.exe cmd.exe
|
Cette méthode évite
d'avoir continuellement le chemin de MingW dans la liste des
chemins de recherche. L'outil strip permet d'alléger
les fichiers objets de leur symboles et au final de
supprimer jusqu'à 25 ou 30 % du poids totale du fichier
exécutable.
|