Accueil🇫🇷Chercher

SCons

SCons est un moteur de production libre. SCons est un remplaçant de l'utilitaire classique make avec des fonctionnalités intégrées similaires à autoconf/automake et des caches pour compilateur tels que ccache. En comparaison avec les outils plus anciens, SCons vise à être plus facile à utiliser, plus sûr et plus rapide.

Fonctionnalités

  • Les fichiers de configuration sont des scripts Python, ce qui signifie que des constructions Ă©crites par l'utilisateur ont accès Ă  un langage de programmation complet gĂ©nĂ©raliste.
  • Analyse automatique des dĂ©pendances pour le C, le C++ et le Fortran. Aucune commande supplĂ©mentaire n'est nĂ©cessaire pour obtenir toutes les dĂ©pendances. L'analyse de dĂ©pendances est facilement extensible grâce Ă  des inspecteurs de dĂ©pendances dĂ©finis par l'utilisateur pour d'autres langages ou d'autres types de fichiers. Contrairement Ă  autotools, l'analyseur de dĂ©pendances intĂ©grĂ© Ă  gcc n'est pas utilisĂ©. Ă€ la place, une recherche de "#include" est faite sur tous les fichiers source C/C++ avec une expression rationnelle. Pour une construction basĂ©e sur gcc, cela signifie qu'une gĂ©nĂ©ration de dĂ©pendances peut ĂŞtre plus lente (c'est-Ă -dire qu'un parcours supplĂ©mentaire est toujours requis) et moins sĂ»re (dans le sens que des choses telles que les drapeaux du prĂ©processeur, comme -DSOMETHING, sont ignorĂ©es), mais elle est plus portable Ă©tant donnĂ© que le mĂŞme parcours peut ĂŞtre employĂ© pour des compilateurs autres que gcc.
  • Support incorporĂ© du C, C++, D, Java, Fortran, Yacc, Lex, Qt et SWIG, et de la construction de documents TeX et LaTeX. D'autres langages ou types de fichiers peuvent ĂŞtre supportĂ©s grâce Ă  des constructeurs dĂ©finis par l'utilisateur.
  • Construction Ă  partir de dĂ©pĂ´ts centraux de code source et/ou de cibles prĂ©-construites.
  • Support de la rĂ©cupĂ©ration de fichiers source Ă  partir de SCCS, RCS, CVS, BitKeeper et Perforce.
  • Support de Microsoft Visual Studio .NET et des anciennes versions de Visual Studio, incluant la gĂ©nĂ©ration de fichiers .dsp, .dsw, .sln et .vcproj.
  • DĂ©tection de changements de contenus de fichier avec des signatures MD5; support optionnel et configurable des estampilles traditionnelles.
  • Support des constructions parallèles qui conservent le nombre spĂ©cifiĂ© de tâches simultanĂ©es sans tenir compte de la hiĂ©rarchie des rĂ©pertoires.
  • Support intĂ©grĂ© Ă  la autoconf pour trouver les fichiers #include, les bibliothèques, les fonctions et les typedefs.
  • Vue globale de toutes les dĂ©pendances, afin que des passes multiples de constructions ou des rĂ©-ordonnancements de cibles ne soient pas nĂ©cessaires.
  • PossibilitĂ© de partager les fichiers construits dans un cache pour accĂ©lĂ©rer les constructions multiples - comme ccache mais pour n'importe quel type de fichier cible, pas seulement pour la compilation C/C++.
  • Conçu pour des constructions multi-plateformes, et connu pour fonctionner sous Linux, et d'autres systèmes POSIX (parmi lesquelles AIX, systèmes *BSD, HP/UX, IRIX et Solaris), Windows NT, Mac OS X et OS/2.

Exemple de script SCons

Voici un fichier SConstruct très simple qui compile le fichier source 'main.c' en utilisant le compilateur par défaut :

Program('main.c')

Quand l'utilisateur lance la commande 'scons' dans le même dossier que le fichier 'SConstruct', SCons construit un exécutable 'main' (sous GNU/Linux) ou 'main.exe' (sous Windows).

Cet exemple créé un environnement pour compiler le fichier source 'hello.c' en passant des options au compilateur :

env = Environment()
env.Append(CPPFLAGS=['-Wall','-g'])
env.Program('hello',
            ['hello.c', 'main.c'])

Voir aussi

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.