]> git.llucax.com Git - personal/resume.git/blob - SConstruct
66f508011086869578f656c80460861efdd7d82e
[personal/resume.git] / SConstruct
1 # vim: set filetype=python encoding=utf-8 :
2
3 # Esto es un script de python. Los comentarios empiezan con '#'.
4 # Mando un poco verborrágico/expandido para poder comentar mejor.
5
6 # El SConstruct es análogo al configure.ac
7 # Los SConscript son análogos a los Makefile.am
8
9 # Importamos nuestro módulo custom para compilar reST a LaTeX.
10 import SConsext.rst
11
12 # Creamos opciones (leyendo opcionalmente el archivo de configuración)
13 opts = Options('SConsoptions')
14
15 # Agregamos la posibilidad de elegir la ubicación del comando rst2latex
16 opts.Add('RST2LATEXCOM', 'Ubicación del comando rst2latex', 'rst2latex')
17
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
22         CPPPATH=[
23                 '.', # Primero que mire en el directorio actual
24                 '#', # Después que mire en el directorio 'toplevel'
25         ],
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',
31 )
32
33 # Además usamos nuestro builder custom
34 env.Append(BUILDERS = { 'ReST2Latex': SConsext.rst.ReST2Latex })
35
36 # Si están haciendo un scons -c (clean), al pedo configurar...
37 if not env.GetOption('clean'):
38
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
41         conf = Configure(env,
42                 # Agregamos nuestro chequeo custom para rst2latex
43                 custom_tests = {
44                         'CheckReST2Latex': SConsext.rst.CheckReST2Latex
45                 })
46
47         # Chequeos de rst2latex custom nuestro
48         if not conf.CheckReST2Latex():
49                 print 'Debe tener instalado rst2latex para continuar!'
50                 Exit(1)
51
52         # Termina la configuración
53         env = conf.Finish()
54
55 # Generación automática de ayuda
56 env.Help(opts.GenerateHelpText(env))
57
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
60 Export('env')
61
62 # Le decimos que procese estos SConscript
63 # http://www.scons.org/doc/0.97/HTML/scons-user/c2032.html
64 SConscript(['SConscript'])
65