El Gecko SDK, también conocido como el XULRunner SDK, es un conjunto de archivos XPIDL, cabeceras y herramientas para desarrollar componentes XPCOM que a su vez pueden por ejemplo ser accedidos desde XUL usando JavaScript.
Debe tenerse en cuenta que para desarrollar estos componentes, no es necesario todo el codigo fuente de por ejemplo Firefox, puesto que no es requerido el acceso a los elementos de la capa visual creando un componente. Por otra parte, ya que un componente solo contiene funcionalidades básicas, debería poder ejecutarse en cualquier producto de la plataforma Mozilla. Por tanto no es necesario contar con un producto particular para construir las funcionalidades generales. Esta es la premisa sobre la que el Gecko SDK fue ideado.
No debe confundirse el Gecko/XULRunner SDK con el XULRunner en sí mismo. El Gecko SDK es una colección de archivos de cabeceras (headers) y herramientas usadas para el desarrollo general de componentes XPCOM que agregan funcionalidades a la plataforma existente, mientras que el XULRunner es un esquema de funcionalidades (framework) donde puede ser utilizado para ejecutarse independientemente (standalone) o embebido en aplicaciones basadas en el framework Mozilla.
El Gecko SDK contiene todas las herramientas y cabeceras necesarias para crear plugins scripts NPAPI incluyendo el compilador/enlazador xpidl y el último npapi.h
.
Obteniendo el SDK
Actualizaciones
No es necesario descargar o recompilar el Gecko SDK por las actualizaciones de seguridad de Mozilla (por ejemplo, Mozilla 1.7.3) ya que las cabeceras y las librerías enlazadas en el Gecko SDK usualmente no sufren cambios como resultados de las actualizaciones de seguridad. Sin embargo, uno debe obtener y distribuir siempre los más nuevos componentes Gecko (como: gklayout.dll, etc.).
Descargas
Para versiones de Gecko anteriores a 2.0, deberá elegir la versión del Gecko SDK para la versión de Mozilla más cercana al utilizado. Para versiones de Gecko 2.0 o superior, deberá recompilar el componente para cada versión pues ya no está soportada la compatibilidad entre versiones.
Además de la continuidad de las versiones, aquí se pueden encontrar otras versiones (incluyendo Beta): Versiones de Xulrunner (archivos incluyen "sdk" en el nombre). El SDK sigue el mismo calendario de liberaciones que Firefox/Thunderbird. Una vez que el SDK se vuelve Beta, está listo para la construir las extensiones, tu componente debe trabajar con las versiones de lanzamiento del SDK sin ninguna modificación. Debido al proceso de Liberación Rapida lanzamiento rápido, puede ser una buena idea agregar el SDK en los Beta.
Enlace de Descarga | Gecko 20.0 (Firefox 20.0) | Gecko 1.9.2 (Firefox 3.6) | Gecko 1.9.1 (Firefox 3.5) | Gecko 1.9 (Firefox 3.0) | Gecko 1.8 (Firefox 1.5 and 2.0) |
---|---|---|---|---|---|
Windows | Descargar | Descargar | Descargar | Descargar | Descargar |
Mac x86_64 | Descargar | N/A | N/A | N/A | N/A |
Mac i386 | Descargar | Descargar | Descargar | Descargar | N/A |
Mac ppc | N/A | Descargar | Descargar | Descargar | Descargar |
Linux x86_64 | Descargar | N/A | N/A | N/A | N/A |
Linux i686 | Descargar | Descargar | Descargar | Descargar | Descargar |
El SDK no está oficialmente lanzado para otras plataformas; si lo necesitas, probablemente deberás adaptarlo para la tuya.
Nota: Puedes subscribirte a un calendario de fechas de lanzamiento de Firefox. Como también, puedes ver las fechas en la Web.
Desempaquetar el tarball del SDK en algún directorio adecuado.
Situaciones con el OS X SDK
Si tu necesitas usar la utilidad xpidl
para compilar archivos IDL en OS X, y lo más probable es que observes cuando ejecutes la herramienta un extraño error similar al de las siguientes líneas:
dyld: Library not loaded: /opt/local/lib/libintl.3.dylib Referenced from: /Users/varmaa/xulrunner-sdk/bin/./xpidl Reason: image not found Trace/BPT trap
Desafortunadamente, esto es causado pro un problema con el proceso de construcción del SDK que aún no se logró resolver (ver Bugzilla bug #430274). Para solucionarlo, necesitarás instalar primero MacPorts como se indica en los Prerequisitos de Construcción de Mac OS X e instalar con él libidl
. En versiones 64-bit de Mac OS X, necesitarás instalar libidl
con la opción +universal
.
Una vez concluido, deberás ejecutar el siguiente comando:
ln -s /opt/local/lib/libintl.8.dylib /opt/local/lib/libintl.3.dylib
Esto debería corregir el problema.
Construyendo el SDK
Para construstruir el SDK, deberías construir el XULRunner (el Gecko SDK se forma como parte del proceso de contrucción del, por lo que suele llamarse también XULRunner SDK). Ver la Documentación para la Compilación para mayores detalles. Después la contrucción del XULRunner se concluye corriendo make sdk
desde el directorio objeto se creará un paquete del sdk en dist
.
Contenidos del SDK
El SDK contiene lo siguiente:
- 1.9.2
- Archivos IDL para interfaces estables (bajo
idl/
) - Archivos cabecera para interfaces estables, funciones XPCOM, y funciones NSPR (bajo
include/
) - Importar librerías o librerías compartidas (bajo
lib/
) - Librerías estática de utilitarios (bajo
lib/
) - Varias herramientas (bajo
bin/
)
Para más información sobre enlazado seguro de componentes XPCOM usando la librería XPCOM "glue", ver XPCOM Glue.
Utilizando el Sistema de Compilación Mozilla con el SDK
Es posible usar el Sistema de Compilación Mozilla con el SDK. Se puede hacer descargando el código fuente para Firefox y usando --with-libxul-sdk
como opcion para el configure
.
Recursos
- xpidl.exe estático (no-oficial) Si buscas un xpidl.exe enlazado estáticamente, puedes descargarlo aquí.
- Mac Intel Gecko 1.8 SDK El Mac 1.8 SDK oficial es una version ppc. Esta es una compilación intel no oficial.