mozilla
Los resultados de tu búsqueda

    Configurar las opciones de compilación

     

    NOTE: Do not make substantive changes to this document without consulting Benjamin Smedberg <benjamin@smedbergs.us> or one of the build-config peers.

    Ejecutar la configuración y make con las opciones por defecto no te dará un buen resultado. Deberías usar un archivo .mozconfig para obtener una compilación razonable para la distribución. Por favor lee estas instrucciones cuidaadosamente antes de compilar.

    Usando un archivo de configuración .mozconfig

    Si bien es posible llamar <tt>configure</tt> desde la línea de comandos, no es recomendable. En lugar de eso, crea un archivo .mozconfig en tu directorio fuente (mozilla/.mozconfig) o en tu directorio HOME (~/.mozconfig).

    También puedes dar la variable de entorno MOZCONFIG con el path completo de tu archivo de configuración:

    export MOZCONFIG=~/mozilla/mozconfig-firefox
    

    Mas alla del nombre que le hayas dado a tu archivo, nos referiremos a él como .mozconfig.

    .mozconfig contiene dos tipos de opciones:

    • Opciones con prefijo <tt>mk_add_options</tt>, son pasadas a <tt>client.mk</tt> y, usualmente, son opciones para controlar las vistas y actualizaciones de <tt>cvs</tt>
    • Opciones con prefijo <tt>ac_add_options</tt>, son pasadas a <tt>configure</tt> y afectan el proceso de compilado.

    Estas opciones serán usadas de forma automática cuando se ejecute <tt>./configure</tt> o <tt>make -f client.mk</tt>

    Compilando con un Objdir

    Se recomienda que uses un objdir cuando compiles mozilla. esto quiere decir que tu código fuente y tus archivos objeto no están todos mezclados en el directorio. Si usas un objdir puedes compilar múltiples aplicaciones (Firefox, Thunderbird, etc) desde el mismo árbol fuente.

    El usar un objdir significa que cada Makefile.in en tu árbol fuente se convertirá en un Makefile en el objdir. Los directorios superiores en el Makefile.in serán los mismos en objdir. Por ejemplo, para el archivo: <tt>mozilla/modules/plugin/base/src/Makefile.in</tt> con un objdir de valor <tt>@TOPSRCDIR@/obj-debug</tt>, se creará el archivo y el directorio <tt>mozilla/obj-debug/modules/plugin/base/src/Makefile</tt>. Este Makefile referirá a las fuentes en el directorio <tt>mozilla/modules/plugin/base/src</tt> por arte de magia.

    Si necesitas volver a ejecutar configure de forma manual, por favor pásalo desde dentro de tu objeto, y hazlo pasando al script el path completo. Por ejemplo, si ejecutas sobre Win32, y tu árbol fuente es <tt>/cygdrive/c/Projects/FIREFOX/mozilla</tt>, entonces, desde tu objdir, debes ejecutar <tt>/cygdrive/c/Projects/FIREFOX/mozilla/configure</tt>.

    La siguente opción crea un objdir:

    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
    

    Elegir una aplicación

     

    Suite Mozilla (SeaMonkey)
    Debes especificar:
    ac_add_options --enable-application=suite
    # Usa la siguiente línea para verificar SeaMonkey desde CVS:
    mk_add_options MOZ_CO_PROJECT=suite
    

     

    Browser (Firefox)
    Tu archivo .mozconfig debería contener el archivo mozconfig de Firefox por defecto:
    . $topsrcdir/browser/config/mozconfig
    

    No copies y pegues directamente el contenido del archivo a tu propio archivo ya que estos cambian constantemente.

     

    Mail (Thunderbird)
    Tu archivo .mozconfig debería contener el archivo mozconfig de Thunderbird por defecto:
    . $topsrcdir/mail/config/mozconfig
    

    No copies y pegues directamente el contenido del archivo a tu propio archivo ya que estos cambian constantemente.

     

    Calendario (Sunbird)
    Tu archivo .mozconfig debería contener el archivo mozconfig de Sunbird por defecto:
    . $topsrcdir/calendar/sunbird/config/mozconfig
    

    No copies y pegues directamente el contenido del archivo a tu propio archivo ya que estos cambian constantemente.

     

    XULRunner
    Tu archivo .mozconfig debería contener el archivo mozconfig de XULRunner por defecto:
    . $topsrcdir/xulrunner/config/mozconfig
    

    No copies y pegues directamente el contenido del archivo a tu propio archivo ya que estos cambian constantemente.

     

    Seleccionando las opciones para compilar

    Las opciones que selecciones dependerán de que aplicación estés compilando y para qué usarás esa compilación. Si vas a usarla regularmente, querrás una compilación para distribución sin información extra sobre depuración; si eres un desarrollador que desea "hackear" el código fuente, tal vez quieras una compilación sin optimizar y con información de depuración extra.

    El Mozilla Build Configurator es una herramienta que puede ayudarte a armar una buena configuración. Actualmente es útil pricinpalmente para compilar la suite Mozilla, para compilar Firefox u otras aplicaciones habría que editarla manualmente.

    El script de configuración reconoce muchas opciones que no deberían ser usadas para compilar la suite completa y aplicaciones XUL, ya que son para propósito-especial o ciertas situaciones. La lista completa de opciones puede ser vista ejecutando ./configure --help o mirando Mozilla Build Configurator.

    Si no sabes lo que hace alguna opción de configuración, no la uses ! Las siguientes opciones son muy comunes:

    Optimización

    ac_add_options --enable-optimize 
    Habilita las opciones de optimización del compilador por defecto.
    ac_add_options --enable-optimize=-O2 
    Selecciona ciertas opciones en particular de optimización del compilador. Generalmente no da el resultado deseado, a menos que conozcas el código base de Mozilla.
    ac_add_options --disable-debug 
    Desactiva las macros de depuración.
    ac_add_options --disable-optimize 
    Desactiva la optimización del compilador. Facilita mucho revisar el código en un depurador.
    ac_add_options --enable-debug 
    Habilita las macros de depuración y otros códigos de sólo-depuración. Puede que lentifique mucho la compilación pero es invaluable para escribir parches.

    Herramientas gráficas

     

    ac_add_options --enable-default-toolkit=gtk|xlib|qt|cairo-gtk2|cairo-xlib|cairo-windows|windows|mac|cocoa|cairo-cocoa|os2|beos|photon
    Selecciona la herramienta gráfica. No se necesita para Windows/OS2/BeOS/Photon desde que éstas plataforma seleccionan la herramienta correcta. Tampoco se necesita en Mac, a menos que estés compilando Camino en una versión vieja (Camino usa --enable-default-toolkit=cocoa).

    En plataformas *nix selecciona la herramienta adecuada. GTK2 y GTK han sido probadas con éxito. xlib se considera una tier-3 platform. Qt y Cairo son experimentales, vas a encontrar bugs. En el tronco usa Cairo-gtk2 (por defecto).

     

    ac_add_options --enable-xft
    Habilita el rendering avanzado de fuente XFT. Sólo esta disponible con --enable-default-toolkit=gtk2, y se recomienda con gtk2.

     

    ac_add_options --enable-freetype2
    Habilita el rendering de fuente freetype. Es por defecto para GTK. No compatible con --enable-xft.

    Compilación estática

     

    ac_add_options --enable-static --disable-shared
    Estas opciones generan un único ejecutable muy grande, el cuál tiene componentes enlazados de forma estática. Esto significa que hay muy pocos DLLs. De todas formas, a menos que tengas mucha RAM, no se recomienda su uso. 512 RAM mínimo. Se recomienda 1 GB. Estas opciones se deberían usar siempre juntas, si usas --enable-static, se recomienda que también uses --disable-tests

     

    ac_add_options --disable-static --enable-shared
    Estas opciones generan componentes dentro de librerías compartidas separadas. Esto hace la depuración mucho mas fácil, pero la compilación resultante puede ser más lenta y a veces menos eficiente.

    Esta opción es por defecto.

    Extensiones

     

    ac_add_options --enable-extensions=default|all|ext1,ext2,-skipext3
    Hay muchas piezas de código opcionales que habitan en las extensiones/ directorio en el árbol fuente. Muchas de éstas se consideran ya, una parte integral de la navegación. Hay una lista por defecto de extensiones para la suite, y cada aplicación-específica de mozconfig especifica un conjunto diferente por defecto, algunas extensiones no son compatibles con todas las aplicaciones, por ejemplo:
    • cookie no es compatible con thunderbird
    • typeaheadfind no es compatible con ninguna herramienta (firefox, thunderbird, sunbird)

    A menos que conozcas qué extensión es compatible con cada aplicación, no uses --enable-extensions option; el sistema seleccionará automaticamente el conjunto de extesiones apropiado.

    Tests

     

    ac_add_options --disable-tests
    Activada por defecto. Se han creado muchas aplicaciones para testeo, las cuales pueden ayudar a depurar y crear parches para las fuentes de Mozilla. Desabilitando ésta opción ganarás tiempo al compilar y espacio en disco.

    Otras opciones

     

    ac_add_options --disable-crypto
    La criptografía está activada por defecto, en algunos paises puede ser ilegal usar o exportar software criptográfico. Deberías ponerte al tanto de las leyes de tu país.

    En la rama 1.7, la criptografía estaba desactivada, debes especificar --enable-crypto, si deseas SSL, SMIME, o alguna otra caracterísca que requiera criptografía.

     

    ac_add_options --disable-javaxpcom (No Java)
    Por defecto, XULRunner compila el Java-XPCOM bridge, que requiere tener instalado un JDK, si tienes el siguiente error al configurar: The header jni.h was not found. Set $JAVA_HOME or use --with-java-include-path puedes desactivar las dependencias de java usando ac_add_options --disable-javaxpcom.

    Ejemplos de archivos .mozconfig

    Firefox estático optimizado

    . $topsrcdir/browser/config/mozconfig
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt-static
    ac_add_options --enable-optimize
    ac_add_options --disable-debug
    ac_add_options --enable-static
    ac_add_options --disable-shared
    ac_add_options --disable-tests
    mk_add_options MOZ_CO_PROJECT=browser
    

    Thunderbird, compilación para depurar

    . $topsrcdir/mail/config/mozconfig
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird-debug
    mk_add_options MOZ_CO_PROJECT=mail,calendar
    ac_add_options --disable-optimize
    ac_add_options --enable-debug
    

    SeaMonkey, optimizado (pero no estático)

    mk_add_options MOZ_CO_PROJECT=suite
    ac_add_options --enable-application=suite
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt
    ac_add_options --enable-optimize
    ac_add_options --disable-debug
    

    Construyendo varias aplicaciones desde el mismo árbol fuente

    Es posible compilar múltiples aplicaiones desde el mismo árbol fuente, siempre y cuando hayas verificado todos los recursos necesarios y uses un objdir diferente para cada aplicaión.

    También puedes crear múltiples archivos mozconfig, o usar la opción MOZ_BUILD_PROJECTS como alternativa.

    Usando MOZ_BUILD_PROJECTS en un único mozconfig

    Para usar MOZ_BUILD_PROJECTS, debes especificar un MOZ_OBJDIR y una opctión MOZ_BUILD_PROJECTS que contenga nombres separados por espacios. Cada nombre puede ser un nombre de directorio arbitrario. Para cada nombre se crea un subdirectorio debajo del objdir de nivel superior. Tienes que usar ac_add_app_options con los nombre especificados para habilitar cada aplicación en cada directorio objeto .

    Por ejemplo:

     ac_add_options --disable-optimize --enable-debug 
     ac_add_options --enable-default-toolkit=gtk2 --disable-freetype2 --enable-xft
     mk_add_options MOZ_OBJDIR=/home/amil082/mozilla_trunk/obj-@CONFIG_GUESS@
     mk_add_options MOZ_BUILD_PROJECTS="xulrunner browser mail"
     mk_add_options MOZ_CO_PROJECT="xulrunner browser mail"
     ac_add_app_options browser --enable-application=browser
     ac_add_app_options xulrunner --enable-application=xulrunner
     ac_add_app_options mail --enable-application=mail
    

    Si deseas compilar un solo projecto usando este mozconfig debes usar: make -f client.mk build MOZ_CURRENT_PROJECT=browser. Esto generará sólo el navegador.

    Usando múltiples archivos mozconfig

    Tal vez desees crear mozconfig separados.

    El siguiente ejemplo se puede usar para compilar Firefox y Thunderbird. Primero deberías crear tres archivos mozconfig.

    mozconfig-en común

    mk_add_options MOZ_CO_PROJECT=browser,mail
    
    # agrega opciones en común aquí, como hacer una compilación estática para distribuir o 
    # desabilitar tests
    ac_add_options --enable-optimize --disable-debug
    ac_add_options --disable-tests
    

    mozconfig-firefox

    # incluye el mozconfig-en común
    . ./mozconfig-en común
    
    # compila Firefox
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-static
    ac_add_options --enable-application=browser
    

    mozconfig-thunderbird

    # incluye el mozconfig-en común
    . ./mozconfig-en común
    
    # compila Thunderbird
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/thunderbird-static
    ac_add_options --enable-application=mail
    

    Para verificar, ejecuta:

    export MOZCONFIG=/path/to/mozilla/mozconfig-en común
    make -f client.mk checkout
    

    Para compilar Firefox, ejecuta:

    export MOZCONFIG=/path/to/mozilla/mozconfig-firefox
    make -f client.mk build
    

    Para compilar Thunderbird, ejecuta:

    export MOZCONFIG=/path/to/mozilla/mozconfig-thunderbird
    make -f client.mk build
    

     

     

    Etiquetas y colaboradores del documento

    Contributors to this page: Nukeador, teoli, Mgjbot, Blank zero, luisgf
    Última actualización por: luisgf,