1 # vim: set filetype=python encoding=utf-8 :
3 # Esto es un script de python. Los comentarios empiezan con '#'.
4 # Mando un poco verborrágico/expandido para poder comentar mejor.
6 # El SConstruct es análogo al configure.ac
7 # Los SConscript son análogos a los Makefile.am
9 # Importamos nuestro módulo custom para compilar reST a LaTeX.
12 # Creamos opciones (leyendo opcionalmente el archivo de configuración)
13 opts = Options('SConsoptions')
15 # Agregamos la posibilidad de elegir la ubicación del comando rst2latex
16 opts.Add('RST2LATEXCOM', 'Ubicación del comando rst2latex', 'rst2latex')
18 # Seteamos el entorno de building. Más en:
19 # http://www.scons.org/doc/0.97/HTML/scons-user/c1051.html
20 env = Environment(options=opts, # opciones de línea de comandos
21 # Donde debe buscar includes el preprocesador
23 '.', # Primero que mire en el directorio actual
24 '#', # Después que mire en el directorio 'toplevel'
26 # Opciones generales para reST
27 RSTFLAGS='--section-subtitles',
28 # Opciones particulares para rst2latex
29 RST2LATEXFLAGS='--use-latex-footnotes --use-latex-citations ' \
30 '--use-latex-docinfo --use-verbatim-when-possible',
33 # Además usamos nuestro builder custom
34 env.Append(BUILDERS = { 'ReST2Latex': SConsext.rst.ReST2Latex })
36 # Si están haciendo un scons -c (clean), al pedo configurar...
37 if not env.GetOption('clean'):
39 # Empezamos la "configuración" (onda configure de autotools). Más en:
40 # http://www.scons.org/doc/0.97/HTML/scons-user/c2801.html
42 # Agregamos nuestro chequeo custom para rst2latex
44 'CheckReST2Latex': SConsext.rst.CheckReST2Latex
47 # Chequeos de rst2latex custom nuestro
48 if not conf.CheckReST2Latex():
49 print 'Debe tener instalado rst2latex para continuar!'
52 # Termina la configuración
55 # Generación automática de ayuda
56 env.Help(opts.GenerateHelpText(env))
58 # Exportamos el entorno para que lo puedan usar los SConscript hijos
59 # http://www.scons.org/doc/0.97/HTML/scons-user/x2122.html
62 # Le decimos que procese estos SConscript
63 # http://www.scons.org/doc/0.97/HTML/scons-user/c2032.html
64 SConscript(['SConscript'])