Este es el comando ccontrol que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
ccontrol - contenedor para controlar distcc, ccache y más
SINOPSIS
gcc ...
cc ...
c ++ ...
para lograr ...
ld ...
control [--section = ] ...
control [--section = ]
DESCRIPCIÓN
El control(1) el programa asume las funciones de compilador y enlazador, y lee un
archivo de configuración para decidir qué hacer antes de invocarlos. Esto es particularmente útil
para el control centralizado de los comandos y opciones, como la habilitación distrito(1) y
ccaché(1).
Cuándo control(1) se invoca con su propio nombre sin argumentos, imprime el
configuraciones que se aplican en este directorio (a menos que --sección está especificado).
Las versiones llevan el nombre de la última persona que notificó un error.
CAMPUS
Normalmente control(1) se invoca como un enlace simbólico a cc, make, etc., para que pueda identificar
lo que se invoca examinando su propio nombre. También se puede invocar bajo su propia
name, en cuyo caso se pueden proporcionar argumentos específicos de ccontrol. La primera no opción
El argumento se utilizará para identificar la invocación, por ejemplo. "ccontrol gcc ...".
Se admiten las siguientes opciones, cuando se invoca como control:
--section =
Se trata como el "directorio actual" a los efectos de evaluar el
archivo de configuración. Como todos los directorios reales deben comenzar con "/" usando un argumento
que no lo hace, es una buena forma de anular la configuración para este particular
invocación.
CONFIGURACIÓN ARCHIVO
El archivo de configuración de ccontrol es $ HOME / .ccontrol / config. Si esto no se puede leer (y
escrito), todas tus compilaciones fallarán. Es normal tener varios
archivos de configuración en este directorio y convertirlo en un enlace simbólico por defecto.
SINTAXIS
Un archivo de configuración consta de secciones, encabezadas por un encabezado "[ruta]" y seguidas por
entradas "nombre = valor" con sangría. La primera sección suele tener la etiqueta "[*]" para configurar el
valores predeterminados. Como mínimo, debe establecer los valores "cc", "c ++", "make" y "ld".
ccontrol leerá todas las secciones que coincidan con el directorio actual, por lo que puede anular
valores por directorio. El encabezado "[ruta]" de cada sección es de estilo shell
comodín (ver glob(7)) que indica el directorio o directorios a los que se aplica. Generalmente
esto terminará en "*" para incluir todos los subdirectorios.
Todas las rutas que comienzan con "~" son relativas al directorio de inicio del usuario. Un camino puede ser
especificado como un directorio, en cuyo caso ccontrol agregará el nombre del programa al
directorio.
Están disponibles las siguientes configuraciones:
cc
Seguido por = especifica la ruta del compilador que se invocará cuando ccontrol es
invocado como "cc" o "gcc". ccontrol fallará al compilar programas en C si esto no está configurado.
c ++
Seguido por = especifica la ruta del compilador que se invocará cuando ccontrol es
invocado como "c" o "g". ccontrol fallará al compilar programas C ++ si esto no está configurado.
ld
Seguido por = especifica la ruta del enlazador que se invocará cuando se invoque ccontrol
como "ld". ccontrol fallará al vincular programas si esto no está configurado.
para lograr
Seguido por = especifica la ruta del binario que se invocará cuando se invoca ccontrol
como "hacer". ccontrol fallará si no se establece.
ccaché
Seguido por = especifica la ruta de "ccache", e indica que ccache se va a utilizar
donde corresponda. Si seguido de inhabilitar, o no configurado, no se utilizará ccache.
distrito
Seguido por = especifica la ruta de "distcc" e indica que se va a utilizar distcc
donde corresponda. Si seguido de inhabilitar, o no establecido, o distcc-hosts no está configurado,
distcc no se utilizará.
hosts distcc
Seguido por = especifica los servidores distcc que se utilizarán, según el entorno DISTCC_HOSTS
variable en distrito(1). Seguido por inhabilitar desactiva distcc.
distc ++ - hosts
Lo mismo que distcc-hosts, pero solo se aplica a Ccompilations. Si no se establece, distcc-hosts
se utiliza. Por lo tanto, puede deshabilitar distcc para compilaciones de C configurando "distc ++ - hosts
desactivar".
CPUs
Seguido por = y un número de CPU, establecido en el número de CPU que tiene (el valor predeterminado es
"1"). control usa esto para ajustar el grado de paralelismo.
no paralelo
Seguido por = y una lista de comodines separados por espacios, suprime la marca paralela para
cualquiera hace que el objetivo coincida con uno de esos. Esta opción es necesaria porque control(1)
generalmente obliga para lograr(1) para realizar todas las acciones en paralelo, pero esto puede resultar confuso
cuando ocurre un error y rompe archivos MAKE mal escritos. Seguido por inhabilitar,
habilita la creación paralela para todos los objetivos: esto es útil para volver a habilitar la creación paralela en un
subdirectorio.
agradable
Seguido por = y un nivel de prioridad de -19 a 20, hace que ccontrol intente establecer su
prioridad a este valor. El valor predeterminado es 10.
incluir
Seguido por = especifica un archivo para incluir en el punto actual. El efecto es exactamente
como si el contenido del archivo incluido se hubiera insertado literalmente. Puede usarse en archivo
nivel para incluir secciones. También se puede utilizar dentro de las secciones para incluir la sección
fragmentos
añadir hacer
Seguido por = especifica un argumento que se agregará a cada invocación de para lograr. Esto puede
especificarse varias veces para agregar varios argumentos. Seguido por inhabilitar elimina cualquier
argumentos previamente especificados.
agregar env
Seguido por = especifica una variable de entorno que se establecerá, como "add env =
CCACHE_DIR =/ Tmp". Esto se puede especificar varias veces para configurar varios entornos
variables. Seguido por inhabilitar elimina los argumentos previamente especificados.
verboso
Por sí mismo, indica que control(1) es escupir mucha basura al error estándar
sobre lo que le está haciendo a su inocente línea de comandos.
archivo de bloqueo
Especifique un archivo de bloqueo particular para usar.
EJEMPLOS
Este es el archivo de configuración mínimo:
[*]
cc = / usr / bin / gcc
c ++ = / usr / bin / g ++
ld = / usr / bin / ld
hacer = / usr / bin / make
Si tiene varias ubicaciones (como una computadora portátil), es común tener un archivo "global"
que se incluye en cada archivo de configuración, así:
# Archivo de configuración para cuando estoy en el trabajo. ¡Muchos hosts distcc!
incluir = ~ / .ccontrol / global
[*]
distcc-hosts = snab enjambre1 enjambre3 enjambre4 enjambre5 fandango2 mingo
distc ++ - hosts = snab mingo
Aquí hay un archivo de configuración completo con varios escenarios comunes:
[*]
cc = /usr/bin/gcc-4.0
c ++ = /usr/bin/g++-4.0
ld = / usr / bin / ld
hacer = / usr / bin / make
# Comenta esto de nuevo para depurarlo
# verboso
distcc = / usr / bin / distcc
distcc-hosts = snab enjambre1 enjambre3 enjambre4 enjambre5 fandango2 mingo
distc ++ - hosts = snab mingo
ccache = / usr / bin / ccache
# make check generalmente no debe ejecutarse en paralelo
no-paralelo = comprobar
# Wesnoth no se compila con g ++ 4.0
[* wesnoth *]
c ++ = /usr/bin/g++-3.4
# Los módulos estúpidos de terceros no se construyen en paralelo.
[/ usr / src / modules / *]
no-paralelo = *
# El uso de distcc al probar module-init-tools causa efectos extraños.
[* module-init-tools * / tests / *]
distcc deshabilitar
Use ccontrol en línea usando los servicios de onworks.net