Looking for scons Answers? Try Ask4KnowledgeBase
Looking for scons Keywords? Try Ask4Keywords

SConsEmpezando con SCons


Observaciones

SCons es un sistema de compilación. Toma un montón de archivos de entrada y ejecuta herramientas en ellos para producir salida. SCons está escrito en Python puro, funciona de la misma manera en Linux, Windows y OS X, y puede ejecutarse sin instalación.

Los archivos SConstruct SCons son scripts de Python con comandos incorporados que crean un build tree . SCons ejecuta el proceso de construcción en fases. Lo primero es leer archivos y construir un árbol de construcción. El segundo es atravesar el árbol para construir archivos de destino.

Versiones

Versión Fecha de lanzamiento
2.5.1 2017-11-03

Empezando

Una vez que tenga SCons en ejecución , cree un archivo llamado SConstruct :

print('..Building World')
 

Ahora ejecuta scons :

$ scons
scons: Reading SConscript files ...
..Building World
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
 

SConstruct es un script de Python con funciones SCons adicionales.

Zip('archive', ['SConstruct'])
 

El script anterior se empaqueta en archive.zip usando la función Zip() provista por SCons. Zip es un Generador : crea un objetivo especificado por el primer argumento de múltiples fuentes , que viene como segundo argumento a los Constructores por convención.

SCons Builders comienza con una letra mayúscula y opera en el objeto Environment , que almacena la configuración de la compilación. SCons proporciona un entorno predeterminado, pero puede crearse explícitamente para separar variables de compilación, elegir diferentes herramientas, etc.

env = Environment()
env.Zip('archive', ['SConstruct'])
 

Tenga en cuenta que cuando ejecuta el script por segunda vez, no genera nada. SCons reconstruye los objetivos solo cuando los archivos de origen cambian. Modifique SConstruct y ejecute scons nuevamente para ver la diferencia.

SCons está diseñado para ser extensible. Usted agrega sus propios métodos de Generador adjuntándolos al entorno, que puede tratarse en temas posteriores.