¿Qué es el formato de archivo IN?
Un archivo .in es un archivo de plantilla de texto plano procesado por el sistema de construcción GNU Autotools. Los ejemplos más comunes son Makefile.in (plantilla para el Makefile de un proyecto) y config.h.in (plantilla para un encabezado de configuración de C/C++). Cuando un desarrollador ejecuta ./configure -el script generado por GNU Autoconf-, el script lee estas plantillas .in, sustituye los marcadores @VARIABLE@ con valores detectados del entorno de construcción (rutas del compilador, indicadores de biblioteca, características del sistema) y escribe los archivos de salida finales.
GNU Autoconf fue creado por David MacKenzie en 1991 y es mantenido por el GNU Project. Autoconf 2.72 (diciembre de 2023) es la versión actual. El archivo de entrada de macros de nivel superior se denominaba históricamente configure.in; se renombró a configure.ac en Autoconf 2.50 para reducir la ambigüedad, aunque muchos proyectos antiguos todavía utilizan el nombre original.
Tipos comunes de plantillas .in:
Makefile.in- se convierte enMakefiledespués de ejecutar./configureconfig.h.in- se convierte enconfig.hcon sustituciones de#define//* #undef */foo.pc.in- se convierte en un archivo.pcde pkg-config
Debido a que los archivos .in son texto plano, cualquier editor puede abrirlos y leerlos. Las extensiones relacionadas incluyen .ac (archivos de macros de Autoconf), .am (entrada de Automake) y .m4 (archivos de macros M4). Tenga en cuenta que la extensión .in no es exclusiva de Autotools -el comando configure_file() de CMake también utiliza plantillas .in-, pero los desarrolladores de software que trabajan con sistemas de construcción Autotools representan el caso de uso dominante.
Seguridad y protección
RIESGO: LOWUn archivo de plantilla .in es texto plano y no puede ejecutar código por sí mismo. Es seguro abrirlo en un editor de texto. El script configure que procesa los archivos .in es un script de shell (que sí ejecuta código); se aplica la precaución normal al ejecutar ./configure desde una fuente no confiable. El archivo .in en sí es pasivo.
Detalles del formato
en pocas palabras- Archivo interno/temporal de McAfee VirusScan - Algunas versiones del antivirus McAfee utilizan .in como una extensión de archivo interna para datos temporales o relacionados con la cuarentena; no es un formato público documentado y rara vez lo encuentran los usuarios.
- Archivo genérico de plantilla/entrada - Muchas aplicaciones utilizan .in como una convención genérica para cualquier plantilla o archivo de entrada que se procesa para producir un archivo de salida (por ejemplo, configure_file de CMake utiliza plantillas .in).
- Entrada de construcción de módulos Perl - Algunos sistemas de construcción de Perl/CPAN utilizan archivos .in como plantillas de entrada para archivos generados durante la instalación de módulos.
Programas que abren archivos IN
Detalles técnicos
especificación profunda| Codificación de archivo | Texto plano ASCII/UTF-8 |
| Función principal | Archivo de plantilla consumido por ./configure (generado por GNU Autoconf) para producir archivos de salida de construcción finales |
| Sintaxis de marcadores | Marcadores @VARIABLE@ reemplazados por configure con valores del sistema detectados (ruta del compilador, indicadores de biblioteca, indicadores de características) |
| Tipos de plantillas comunes | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (metadatos de pkg-config) |
| Estructura de config.h.in | Contiene directivas #undef FEATURE; configure las reemplaza con #define FEATURE 1 o /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in es el nombre antiguo para la entrada de macros de Autoconf de nivel superior; renombrado a configure.ac en Autoconf 2.50 |
| Lenguaje de macros M4 | Los archivos configure.in / configure.ac utilizan macros M4 y llamadas AC_* (AC_INIT, AC_PROG_CC, AC_CHECK_LIB, etc.) |
| Flujo de Automake | Makefile.am (entrada de Automake) → Makefile.in (producido por automake) → Makefile (producido por ./configure) |
| Firma binaria | Ninguna - texto plano, sin bytes mágicos |
| Tamaño de archivo típico | 1 KB-500 KB (configure.in típicamente 5-100 KB; Makefile.in varía ampliamente según la complejidad del proyecto) |
| Versión actual de Autoconf | GNU Autoconf 2.72, lanzada en diciembre de 2023 |
| Plataforma | Principalmente Linux/macOS/Unix; disponible en Windows a través de MSYS2, Cygwin o WSL |
| Extensiones relacionadas | .ac (archivos de macros de Autoconf), .am (plantillas de entrada de Automake), .m4 (definiciones de macros M4 puras) |
| Lanzado | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Última versión | Autoconf 2.72 (December 2023) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.gnu.org |
Conversiones de IN
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos IN.