Reputation: 1771
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 it as the simple header with extension ".h"? What's the difference?
Upvotes: 57
Views: 37569
Reputation: 8247
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.
Upvotes: 6
Reputation: 183968
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.
Upvotes: 23
Reputation: 991
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.
Upvotes: 48