# Commandes du préprocesseur

@{index}

## [Commandes communes à tous les types de paquets]

### [`\@{if <expression>}@`]

Teste la valeur d'une expression, et inclus le bloc compris entre '@if' et '@endif' si l'expression est vraie.

L'expression peut avoir la forme suivante :

- `version <opérateur> <version>`
  
  Si la version de la distribution correspond à `<version>` selon l'opérateur spécifié : '=', '<', '>', '<=', '>=', '!='.

- `version like <expression rationnelle LIKE>`
  
  Si la version de la distribution correspond à une expression rationnelle utilisant la syntaxe de l'opérateur 'LIKE' de Gambas.

- `<paquet>?`
  
  Si un paquet va être généré. Le nom du paquet est de la forme `gb-gtk-opengl`. C'est le nom du composant dans le préfixe 'gambas', et avec des tirets à la place des points.

### [`\@{if-not <expression>}@`]

Teste la valeur d'une expression, et inclus le bloc compris entre '@if' et '@endif' si l'expression est fausse.

### [`\@{endif}@`]

Indique la fin d'un bloc '@if ... @endif'.

### [`\@{else}@`]

Introduit un bloc qui sera inclus si l'expression du '@if' correspondant est fausse.

### [`\@{about}@`]

Introduit un texte 'Generated by the gambas-package-config tool...'.

### [`\@{version}`]

Introduit le numéro de version de Gambas.

### [`\@{website-url}@`]

Introduit l'URL du site web de Gambas

### [`\@{git-url}@`]

Introduit l'URL du Gitlab de Gambas.

### [`\@{git-repository}@`]

Introduit l'URL du référentiel git de Gambas sur GitLab.

### [`\@{disable <paquet>}@`]

Désactive la fabrication du paquet spécifié.

Le nom du paquet correspond au nom du paquet final sans le prefixe 'gambas3-'.

### [`\@{enable <paquet>}@`]

Réactive la fabrication du paquet spécifié.

### [`\@{merge <paquet cible> <paquets à fusionner>...}@`]

Inclus un ou plusieurs paquets à l'intérieur du paquet d'un paquet cible.

## [Commandes spécifiques à RPM]

### [`\@{package-version}@`]

Introduit un suffixe de version pour la version du paquet.

### [`\@{summary <paquet>}@`]

Introduit le résumé de la description d'un paquet.

### [`\@{desc <paquet>}@`]

Introduit la description complète sur plusieurs lignes de la description d'un paquet.

### [`\@{dependencies <paquet>}@`]

Introduit la liste de toutes les dépendances d'un composant, une ligne 'Requires: ...' par dépendance.

'<paquet>' peut être 'ide' pour les dépendances de l'IDE, et 'all' pour les dépendences du paquet global 'gambas3'.

### [`\@{package <composant> ... }@`]

Introduit la définition complète du paquet d'un composant.

Tout ce qui se trouve entre le nom du composant et la fin de la commande `}@` est inséré tel quel. La fin de commande `}@` peut être sur une ligne différente du début de la commande.

Si la commande n'a aucun argument, elle définira les paquets de chaque composant de Gambas.

Le nom du composant est le nom originel avec des points comme séparateur.

### [`\@{files}@`]

Introduit la liste des fichiers de chaque paquet généré précédemment.
