Qu'est-ce que le format de fichier IN ?
Un fichier .in est un fichier modèle en texte brut traité par le système de construction GNU Autotools. Les exemples les plus courants sont Makefile.in (modèle pour le Makefile d'un projet) et config.h.in (modèle pour un en-tête de configuration C/C++). Lorsqu'un développeur exécute ./configure - le script généré par GNU Autoconf - le script lit ces modèles .in, remplace les balises @VARIABLE@ par des valeurs détectées dans l'environnement de construction (chemins du compilateur, drapeaux de bibliothèque, fonctionnalités du système) et écrit les fichiers de sortie finaux.
GNU Autoconf a été créé par David MacKenzie en 1991 et est maintenu par le Projet GNU. Autoconf 2.72 (décembre 2023) est la version actuelle. Le fichier d'entrée macro de haut niveau était historiquement nommé configure.in ; il a été renommé en configure.ac dans Autoconf 2.50 pour réduire l'ambiguïté, bien que de nombreux projets anciens utilisent encore le nom d'origine.
Types de modèles .in courants :
Makefile.in- devientMakefileaprès l'exécution de./configureconfig.h.in- devientconfig.havec des substitutions#define//* #undef */foo.pc.in- devient un fichier pkg-config.pc
Comme les fichiers .in sont du texte brut, n'importe quel éditeur peut les ouvrir et les lire. Les extensions associées incluent .ac (fichiers macro Autoconf), .am (entrée Automake) et .m4 (fichiers macro M4). Notez que l'extension .in n'est pas exclusive à Autotools - la commande configure_file() de CMake utilise également des modèles .in - mais les développeurs de logiciels travaillant avec les systèmes de construction Autotools représentent le cas d'utilisation dominant.
Sécurité et sûreté
RISQUE : LOWUn fichier modèle .in est du texte brut et ne peut pas exécuter de code par lui-même. Il peut être ouvert en toute sécurité dans un éditeur de texte. Le script configure qui traite les fichiers .in est un script shell (qui exécute du code) - la prudence habituelle pour l'exécution de ./configure à partir d'une source non fiable s'applique. Le fichier .in lui-même est passif.
Détails du format
en bref- Fichier interne/temporaire McAfee VirusScan - Certaines versions de l'antivirus McAfee utilisent .in comme extension de fichier interne pour des données temporaires ou liées à la quarantaine ; ce n'est pas un format public documenté et il est rarement rencontré par les utilisateurs.
- Fichier modèle/entrée générique - De nombreuses applications utilisent .in comme convention générique pour tout fichier modèle ou d'entrée traité pour produire un fichier de sortie (par exemple, configure_file de CMake utilise des modèles .in).
- Entrée de construction de module Perl - Certains systèmes de construction Perl/CPAN utilisent des fichiers .in comme modèles d'entrée pour les fichiers générés lors de l'installation des modules.
Programmes qui ouvrent les fichiers IN
Détails techniques
spécifications approfondies| Encodage du fichier | Texte brut ASCII/UTF-8 |
| Rôle principal | Fichier modèle consommé par ./configure (généré par GNU Autoconf) pour produire les fichiers de sortie de construction finaux |
| Syntaxe des balises | Marqueurs @VARIABLE@ remplacés par configure avec les valeurs système détectées (chemin du compilateur, drapeaux de bibliothèque, options de fonctionnalités) |
| Types de modèles courants | Makefile.in → Makefile ; config.h.in → config.h ; foo.pc.in → foo.pc (métadonnées pkg-config) |
| Structure de config.h.in | Contient des directives #undef FEATURE ; configure les remplace par #define FEATURE 1 ou /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in est l'ancien nom de l'entrée macro Autoconf de haut niveau ; renommé en configure.ac dans Autoconf 2.50 |
| Langage macro M4 | Les fichiers configure.in / configure.ac utilisent des macros M4 et des appels AC_* (AC_INIT, AC_PROG_CC, AC_CHECK_LIB, etc.) |
| Pipeline Automake | Makefile.am (entrée Automake) → Makefile.in (produit par automake) → Makefile (produit par ./configure) |
| Signature binaire | Aucune - texte brut, pas d'octets magiques |
| Taille de fichier typique | 1 Ko - 500 Ko (configure.in fait généralement 5-100 Ko ; Makefile.in varie selon la complexité du projet) |
| Version actuelle d'Autoconf | GNU Autoconf 2.72, publiée en décembre 2023 |
| Plateforme | Principalement Linux/macOS/Unix ; disponible sur Windows via MSYS2, Cygwin ou WSL |
| Extensions liées | .ac (fichiers macro Autoconf), .am (modèles d'entrée Automake), .m4 (définitions de macros M4 brutes) |
| Publié | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Dernière version | Autoconf 2.72 (December 2023) |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.gnu.org |
Conversions IN
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers IN.