I am studying the C language, and I saw a new extension that I had not seen before.
What do files with the extension like library.h.in
mean?
Is
These files are usually the input for autoconf which will generate final .h files.
Here's an example from PCRE:
#define PCRE_MAJOR @PCRE_MAJOR@
#define PCRE_MINOR @PCRE_MINOR@
#define PCRE_PRERELEASE @PCRE_PRERELEASE@
#define PCRE_DATE @PCRE_DATE@
Autoconf will replace all variables (@…@
) with the respective values and the result will be a .h file.
Typically, a .h.in
file is a header template that is filled in to become the actual header by a configure
script based on the outcome of several tests for features present on the target platform.
Files ending with .in are typically template files used by a program called configure
that generates a new file without the extension after substituting for variable expansions. I.e., if you're looking at a source tree that has files called, e.g. Makefile.in
in the tree, then ./configure
will generate a usable Makefile that can be used to "make" from source.