Compilando Aplicaciones con SCons

Estudiando como compilar el código del Quake 3 llegué a dar con una herramienta de lo más interesante, llamada SCons. Se trata de un sistema para construir programas sustituto de autoconf, automake y otras yerbas del proyecto GNU que dos por tres pueden terminar dando un dolor de cabeza tanto a desarrolladores como a usuarios finales.

Una de las ventajas de SCons frente a make, más allá de su simplicidad, consiste en que provee un entorno de construcción multiplataforma. Utilizando SCons basta con escribir un único archivo con las directivas para construir el programa (el archivo SConstruct, equivalente al Makefile) y SCons se encargará de traducir nuestras directivas en los comandos apropiados para el sistema donde estamos compilando, por ejemplo, invocando GCC sobre Linux/UNIX o cl (el compilador del Visual C++) sobre MS Windows.

Otra ventaja que tiene SCons es que los archivos son en realidad scripts Python, por lo cual podemos sacar partido a este excelente lenguaje para resolver todos nuestros problemas de construcción, sin importar que tan complicados sean.

El proyecto cuenta con muy buena documentación. Basta con leer un ratito el (muy amigable) manual de usuario en línea, para comenzar a reemplazar los viejos Makefiles con archivos de configuración de SCons, es increíblemente sencillo, fíjense el siguiente ejemplo.

Este es el Makefile que escribí hace algún tiempo para compilar mi Raytracer sobre Fedora Linux:

APP=raytracer
CXXFLAGS=-Wall -O3
CXXLIBS=-lSDL
OBJECTS=color.o point3d.o myutils.o esfera.o light.o raytracer.o

%.o: %.cpp
g++ -c $(CXXFLAGS) $< -o $@

all: $(OBJECTS)
g++ $(OBJECTS) $(CXXLIBS) -o $(APP)

clean:
rm -f *.o $(APP)

Ahora, este es el archivo SConstruct equivalente (escrito por alguien que no sabía SCons hace 1 hora):

 

Program(”raytracer”, Split(”color.cpp point3d.cpp myutils.cpp esfera.cpp light.cpp raytracer.cpp”), LIBS=”SDL”, CCFLAGS=[”-O3″, “-Wall”])

Realmente impresionante. SCons rastrea las dependencias entre archivos fuente y provee las directivas para limpiar automáticamente.

SCons se encuentra liberado bajo una licencia MIT y se puede descargar gratuitamente. En Fedora pueden instalarlo utilizando yum.

Si te interesó este post, puede que también te interese…

Firefox 3 establece el record de descargas!

Me llega hoy por correo una notificación de Mozilla indicando que se alcanzó la meta de establecer el record mundial Guiness del Software más descargado en 24 horas, con 8.002.530 descargas!!

Felicidades a todos los que participaron e hicieron esto posible! :D

We did it!

We set a Guinness World Record for the most software downloads in 24 hours. With your help we reached 8,002,530 downloads.

You are now part of a World Record and the proud owner of the best version of Firefox yet!

Don’t forget to download your very own certificate for helping set a Guinness World Record.

Vocero de MS dice que ODF ganó la guerra de estándares

Según leo hoy en Slashdot, en un panel de discusión de ODF vs. OOXML, un representante de Microsoft admitió que ODF habría ganado la guerra contra el OOXML.

La compañía de Redmond agegará soporte nativo para ODF 1.1 en su service pack 2 para Office 2007. Su formato aún no publicado ISO OOXML no será soportado antes del release de la siguiente generación de Office. Si el OOXML será publicado alguna vez sigue siendo una pregunta abierta tras la apelación de cuatro miembros a la desición de la ISO.

Para seguir leyendo, temas relacionados:

Universidad de la República migrará a Estándares Abiertos

Nos comenta Mark3l, a través del Anillo de la Comunidad de Software Libre de Uruguay que la Universidad de la República (UdelaR) adoptará formatos los abiertos y estándar ODF y PDF para almacenar sus documentos.

Una excelente noticia. Restará ver la Suite de Ofimática que la universidad elegirá utilizar en sus instalaciones, sin embargo esto se vuelve un tema menor al tratarse de formatos abiertos: lo que importan son los documentos, no los productos de oficina.

El anuncio completo tras el salto.

Read the rest of this entry »

Firefox 3 a liberarse el Martes 17 de Junio

Leo en Slashdot que el equipo de desarrollo de Mozilla está pronto para liberar la próxima versión de Firefox, Firefox 3, el próximo Martes 17 de Junio.

“Tras más de 34 meses de desarrollo activo, y con contribuciones de miles, estamos orgullosos de anunciar que estamos prontos.”

Recordamos a nuestros lectores que este mismo día será el que se buscará romper el record mundial de descargas del software, así que si son usuarios de Firefox, el Martes es el día para bajarlo :)

Vía Slashdot.

ISO detiene estandarización del OOXML

En una noticia que nos alivia a todos un poco, ayer se publica en Slashdot sobre el aparente alto al proceso de estándarización del OOXML por parte de la ISO, en respuesta a las apelaciones de cuatro países.

“En respuesta a las cuatro apelaciones (Venezuela, India, Brazil y Sudáfrica) enviadas en las semanas recientes, [ISO] ha puesto el proceso de estandarización del OOXML en alto… ISO/IEC DIS 29500 no será publicado por al menos ‘varios meses’ mientras el proceso de apelación continúa.”

Acer apuesta firme a Linux

Leo en iTnews sobre el compromiso que Acer ha tomado con Linux, indicando que la compañía estará distribuyendo Linux agresivamente en sus Laptops.

Según el artículo:

La compañía ya se encuentra promocionando Linux fuertemente para su línea de Laptops ultra portables de bajo costo que saldrán más tarde en este año, pero el personal senior ha dicho que Acer también pondrá Linux en sus Laptops.

Acer ve dos factores clave en las computadoras Linux: operación y costo. Su versión de Linux booteará en 15 segundos en vez de los varios minutos que Windows demora, y el hecho de que éste puede extender la duración de la batería de 5 a 7 horas.

Al mismo tiempo, la compañía espera que el diferencial de precio de Linux haga la oferta atractiva para los consumidores de la sección de mercado de bajo costo.

“El Sistema Operativo de Microsoft cuesta 50 libras por unidad … esto es un problema mayor en una computadora de [un costo de tan solo] 200 libras.”

Spot de Red Hat Linux

Muy buen video, da para pensar :)
Visto originalmente en en anillo de comunidad.org.uy. Gracias a Silvio Sisto.

FLISOL: Todas las Fotos!!

Continuando con nuestra cobertura del FLISoL 2008 les traemos links a todas las fotos registradas en comunidad.org.uy sobre el evento. Enjoy!

Mira todas las fotos de…

Montevideo

Salto

Paysandú

Melo

Florida

(Otros lados)

Posts relacionados:

FLISOL: Estadísticas

Como les habíamos prometido, aquí copiamos algunas estadísticas de las distintas localidades donde se realizó el FLISoL en Uruguay:

Departamento Asistentes Instalaciones Copias de Linux regaladas
Florida más de 100 1 más de 150
Melo 31 3 (varias)
Montevideo más de 300 (muchas) más de 200
Salto 130 aprox. ? más de 200
Paysandú más de 100 (varias) (varias)
Rocha 5 ? ?
TOTAL: más de 666 (muchas) más de 550

Los números son en su mayoría estimados, ya que por la gran convocatoria, se excedió el cupo registrado. Los campos denotados con “?” no fueron comentados por los organizadores de esa localidad. Finalmente, los campos entre paréntesis indican que se desconoce el número exacto, pero sí se tiene una buena idea de su magnitud.

Hay más del FLISoL por saber! ¡Aún queda mucho por comentar de este evento que posiblemente fuera el más grande evento de Software Libre de nuestro país! Stay tuned ;)