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