Il s'agit de la commande ccontrol qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
ccontrol - wrapper pour contrôler distcc, ccache et plus
SYNOPSIS
gcc
cc
c ++
faire
ld
ccontrôle [--section= ] ...
ccontrôle [--section= ]
DESCRIPTION
La ccontrôle(1) le programme assume les rôles du compilateur et de l'éditeur de liens, et lit un
fichier de configuration pour décider quoi faire avant de les appeler. Ceci est particulièrement utile
pour un contrôle centralisé des commandes et des options, comme l'activation distccde Géographie (1) et avec la
cache (1).
Quand ccontrôle(1) est invoqué sous son propre nom sans argument, il imprime le
paramètres qui s'appliquent dans ce répertoire (sauf si --section est spécifié).
Les versions portent le nom de la dernière personne à avoir signalé un bogue.
OPTIONS
Normalement ccontrôle(1) est invoqué comme lien symbolique vers cc, make, etc, afin qu'il puisse identifier
ce qui est invoqué en examinant son propre nom. Il peut également être invoqué sous son propre
name, auquel cas des arguments spécifiques à ccontrol peuvent être fournis. La première non-option
sera utilisé pour identifier l'invocation, par exemple. "ccontrol gcc...".
Les options suivantes sont prises en charge, lorsqu'elles sont invoquées en tant que ccontrôle:
--section=
Ceci est traité comme le "répertoire courant" aux fins d'évaluation du
fichier de configuration. Comme tous les vrais répertoires doivent commencer par un "/" en utilisant un argument
ce qui n'est pas le cas, est un bon moyen de remplacer la configuration pour ce particulier
invocation.
CONFIGURATION DOSSIER
Le fichier de configuration de ccontrol est $HOME/.ccontrol/config. Si cela ne peut pas être lu (et
écrit), vos compilations échoueront toutes. Il est normal d'avoir plusieurs
fichiers de configuration dans ce répertoire, et définissez par défaut un lien symbolique.
SYNTAXE
Un fichier de configuration se compose de sections, dirigées par un en-tête "[path]" et suivies de
entrées "nom = valeur" en retrait. La première section est généralement étiquetée "[*]" pour configurer le
par défaut. Au minimum, vous devez définir les valeurs "cc", "c++", "make" et "ld".
ccontrol lira chaque section qui correspond au répertoire actuel, vous pouvez donc remplacer
valeurs par répertoire. L'en-tête "[path]" de chaque section est un style shell
caractère générique (voir glob(7)) qui indique le ou les répertoires auxquels il s'applique. D'habitude
cela se terminera par un "*" pour inclure tous les sous-répertoires.
Tous les chemins commençant par "~" sont relatifs au répertoire personnel de l'utilisateur. Un chemin peut être
spécifié comme un répertoire, auquel cas ccontrol ajoutera le nom du programme au
répertoire.
Les paramètres suivants sont disponibles:
cc
Suivie d' = spécifie le chemin du compilateur à appeler lorsque ccontrol est
invoqué comme "cc" ou "gcc". ccontrol échouera à compiler les programmes C si cela n'est pas défini.
c ++
Suivie d' = spécifie le chemin du compilateur à appeler lorsque ccontrol est
invoqué comme "c" ou "g". ccontrol échouera à compiler les programmes C++ si cela n'est pas défini.
ld
Suivie d' = spécifie le chemin de l'éditeur de liens à appeler lorsque ccontrol est invoqué
comme "ld". ccontrol ne parviendra pas à lier les programmes si cela n'est pas défini.
faire
Suivie d' = spécifie le chemin du binaire à appeler lorsque ccontrol est invoqué
comme "faire". ccontrol échouera si cela n'est pas défini.
cache
Suivie d' = spécifie le chemin de "ccache", et indique que ccache doit être utilisé
le cas échéant. Si suivi de désactiver, ou non défini, ccache ne sera pas utilisé.
distcc
Suivie d' = spécifie le chemin de "distcc", et indique que distcc doit être utilisé
le cas échéant. Si suivi de désactiver, ou non défini, ou distcc-hosts n'est pas défini,
distcc ne sera pas utilisé.
hôtes-distcc
Suivie d' = spécifie les serveurs distcc à utiliser, selon l'environnement DISTCC_HOSTS
variable dans distcc(1). Suivie par désactiver désactive distcc.
distc++-hôtes
Identique à distcc-hosts, mais ne s'applique qu'aux compilations C. Si non défini, distcc-hosts
est utilisé. Vous pouvez ainsi désactiver distcc pour les compilations C en définissant "distc++-hosts
désactiver".
cpus
Suivie d' = et un nombre de processeurs, défini sur le nombre de processeurs dont vous disposez (la valeur par défaut est
"1"). ccontrôle utilise ceci pour régler le degré de parallélisme.
pas de parallèle
Suivie d' = et une liste de caractères génériques séparés par des espaces, supprime la création parallèle pour
n'importe quelle cible de marque correspondant à l'une de celles-ci. Cette option est nécessaire car ccontrôle(1)
force généralement faire(1) pour effectuer toutes les actions en parallèle, mais cela peut être déroutant
lorsqu'une erreur se produit, et casse les makefiles mal écrits. Suivie par désactiver,
active la fabrication parallèle pour toutes les cibles : ceci est utile pour réactiver la fabrication parallèle dans un
sous-répertoire.
agréable
Suivie d' = et un niveau de priorité de -19 à 20, oblige ccontrol à essayer de définir son
priorité à cette valeur. La valeur par défaut est 10.
comprendre
Suivie d' = spécifie un fichier à inclure au point courant. L'effet est exactement
comme si le contenu du fichier inclus était littéralement inséré. Peut être utilisé au fichier
niveau pour inclure des sections. Peut également être utilisé dans les sections pour inclure la section
fragments.
ajouter faire
Suivie d' = spécifie un argument à ajouter à chaque invocation de faire. Cela peut
être spécifié plusieurs fois pour ajouter plusieurs arguments. Suivie par désactiver supprime tout
arguments précédemment spécifiés.
ajouter env
Suivie d' = spécifie une variable d'environnement à définir, telle que "add env =
CCACHE_DIR=/ Tmp". Cela peut être spécifié plusieurs fois pour définir plusieurs environnements
variables. Suivie par désactiver supprime tous les arguments précédemment spécifiés.
verbeux
En soi, indique que ccontrôle(1) est de cracher beaucoup de conneries à l'erreur standard
sur ce qu'il fait à votre ligne de commande innocente.
fichier-verrou
Spécifiez un fichier de verrouillage particulier à utiliser.
EXEMPLES
Voici le fichier de configuration minimal :
[*]
cc = /usr/bin/gcc
c++ = /usr/bin/g++
ld = /usr/bin/ld
faire = /usr/bin/faire
Si vous avez plusieurs emplacements (comme un ordinateur portable), il est courant d'avoir un fichier "global"
qui est inclus dans chaque fichier de configuration, comme ceci :
# Fichier de configuration pour quand je suis au travail. Beaucoup d'hôtes distcc!
inclure = ~/.ccontrol/global
[*]
distcc-hosts = snab essaim1 essaim3 essaim4 essaim5 fandango2 mingo
distc++-hosts = récupérer Mingo
Voici un fichier de configuration complet avec plusieurs scénarios courants :
[*]
cc = /usr/bin/gcc-4.0
c++ = /usr/bin/g++-4.0
ld = /usr/bin/ld
faire = /usr/bin/faire
# Commentez ceci pour le débogage
# verbeux
distcc = /usr/bin/distcc
distcc-hosts = snab essaim1 essaim3 essaim4 essaim5 fandango2 mingo
distc++-hosts = récupérer Mingo
ccache = /usr/bin/ccache
# make check ne doit généralement pas être exécuté en parallèle
non-parallèle = vérifier
# Wesnoth ne compile pas avec g++ 4.0
[*Wesnoth*]
c++ = /usr/bin/g++-3.4
# Les modules tiers stupides ne se construisent pas en parallèle.
[/usr/src/modules/*]
non-parallèle = *
# L'utilisation de distcc lors du test de module-init-tools provoque des effets étranges.
[*module-init-tools*/tests/*]
distcc désactiver
Utiliser ccontrol en ligne à l'aide des services onworks.net