Passer des options supplémentaires au compilateur

Problème

Vous souhaitez ajouter des options supplémentaires au compilateur ou à l’éditeur de liens.

Solution

Utilisez les variables CFLAGS et LDFLAGS, et leurs dérivées.

Discussion

Dans la recette précédente nous avons vu que nous pouvions définir des variables avec AC_SUBST que vous retrouvez dans le fichier Makefile.am. Nous pouvons les utiliser pour ajouter des options de compilation ou d’édition des liens avec les variables de suffixe _CFLAGS et _LDADD. L’exemple suivant ajoute les options -Wall -O2 au compilateur dans le fichier Makefile.am :

exemple_CFLAGS=-Wall -O2
 

Vous pouvez aussi utiliser les variables CFLAGS et LDFLAGS qui sont prises en compte systématiquement par le compilateur et l’éditeur de liens. En indiquant CFLAGS=-Wall, tous les programmes compilés le seront avec cette option. Pour avoir un binaire statique, utilisez LDFLAGS=-static.

Vous pouvez définir ces variables de manière définitive dans le fichier configure.ac comme cela est conseillé pour l’option -Wall :


changequote(,) 
if test "x$GCC" = "xyes"; then 
  case " $CFLAGS " in 
  *[\ \ ]-Wall[\ \      ]*) ;; 
  *) CFLAGS="$CFLAGS -Wall" ;; 
  esac 
fi 
changequote([,])
 

Attention ! La quatrième ligne contient une tabulation avant le dernier crochet fermant : vous devez lire...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Récupérer les variables de la commande ./configure
Suivant
Prendre en compte l'internationalisation d'un projet