27  Configure, Autoconf, Automake,  Philippe.Dax@enst.fr,  © ENST - 2001-2004 - BDL Dup Top Prev Next >>>

Utilisation de config.h

Idée de départ

Améliorer la portabilité des packages logiciels

Ne plus être dépendant des OS

#ifdef LINUX SOLARIS FREEBSD HPUX IRIX...

Tester simplement si la fonctionnalité testée dans 'configure.ac' est présente

par un #if HAVE_XXX

Inclusion de config.h

Créer un fichier include général qui contiendra tous les includes système

#include "sysdep.h"
    

Inclure au début de ce fichier "config.h"

#if HAVE_CONFIG_H
#include "config.h"
#endif
    

Utiliser les conditions #if HAVE_XXX_H ou #if HAVE_YYY

Dans le fichier include général

#if HAVE_UNISTD_H
#include <unistd.h>
#endif
    

Dans les sources C ou C++

#if HAVE_WAITPID
  while (waitpid(-1, 0, WNOHANG) > 0)
#else
# if HAVE_WAIT3
    while (wait3(&status, WNOHANG, NULL) > 0)
# else
    while (wait(&status) != -1)
# endif
#endif
    ;