Script configure
Lors de l'installation sur un environnement Unix ou de type Unix, un script "configure" est un script shell qui génère des fichiers de configuration de compilation pour un code source afin de faciliter la compatibilité multiplateforme. Il génère des fichiers adaptés au système c'est-à-dire l'environnement sur lequel le code source est compilé et exécuté.
Bien qu'il n'existe pas de norme pour un tel script, ce concept est omniprésent, ainsi de nombreux développeurs sont déjà familiers à son utilisation et s'attendent même à trouver un script nommé `configure`. Ce script peut être construit manuellement, ce qui était le cas au départ. Actuellement, plusieurs outils permettent de générer un script `configure` à partir de fichiers de configuration spécifiques. L'un des outils les plus utilisés est Autotools, permettant de générer un script Bash.
Récupérer un logiciel sous forme de code source et le compiler localement sont des opérations courantes dans Unix et les environnements de type Unix. Normalement, ce processus inclut les étapes suivantes :
- Génère les fichiers de configuration de compilation
- Génère le code
- Installe le résultat dans un emplacement accessible.
Un script de configuration accomplit la première étape en générant un fichier Makefile configuré pour le système hôte. Cela inclut l'utilisation des bibliothèques présentes dans le système et requises par le code source.
Utilisation
[modifier | modifier le code]Après avoir accédé à un shell en ligne de commande dans le répertoire contenant le code source, les commandes suivantes sont généralement exécutées : [1]
./configure
make
make install
Pour Autotools, le script configure enregistre l'état et les erreurs dans le fichier config.log, et la commande ./configure --help affiche les informations d'aide dans la ligne de commande.
Un guide détaillant les instructions d'installation est souvent inclus avec le code source (généralement dans un fichier nommé INSTALL ). Il peut s'avérer utile si le script a échoué.
Génération
[modifier | modifier le code]Autotools résout certaines difficultés liées au développement logiciel multiplateforme[2]. Ces outils communiquent avec le système d'exploitation pour obtenir les paramètres d'environnement, l'architecture de la plateforme, ainsi que l'existence et l'emplacement des dépendances nécessaires à la compilation et à l'exécution. Ils stockent les informations recueillies dans le configure.ac, qui sera ensuite lu par configure lors de la phase d'installation.
Dans les développements récents, la vérification des dépendances des bibliothèques peut être effectuée via pkg-config grâce à la macro m4 PKG_CHECK_MODULES. Avant que pkg-config ne gagne en popularité, des macros m4 distinctes étaient créées pour localiser les fichiers nécessaires associés aux dépendances.
Histoire
[modifier | modifier le code]Le premier programme à être fourni avec un script de configuration était rn, créé par Larry Wall en 1984. Ce script, écrit à la main, produisait un commentaire humoristique lors de son exécution. Il est toujours présent dans le système de compilation du programme trn[3].
Depuis, un écosystème d'outils a été développé pour automatiser la création de scripts de configuration, dont le plus courant est Autoconf.
Notes et références
[modifier | modifier le code]- ↑ « Compiling Linux Software from Source Code », Control-Escape's Linux Help Engine (consulté le )
- ↑ « Autoconf - GNU Project - Free Software Foundation (FSF) », GNU Operating System (consulté le )
- ↑ « Configure script of trn », GitHub (consulté le )
