summaryrefslogtreecommitdiff
path: root/config_host/README
blob: 349c4bc9f1589866506340d724a90c6252b93c68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
These are configuration files for various features as detected by configure.

Include only those files you need (in order to reduce rebuilds when a setting changes).

Settings here are only C/C++ #define directives, so they apply only to C/C++ source,
not to Makefiles.



Adding a new setting:
=====================

- do AC_DEFINE(HAVE_FOO) in configure.ac when a setting should be set
- choose the proper config_host/config_xxx.h file to use
    - if it is a global setting (such as availability of a compiler feature),
        use config_host/config_global.h
    - otherwise check if there is a matching config_host/config_hxx.h file
    - if none matches, add a new one:
        - add config_host/config_xxx.h.in here, with just #ifndef include guard
        - add AC_CONFIG_HEADERS([config_host/config_xxx.h]) next to the others
            in configure.ac
        - add config_hxx.h to config_host/.gitignore
- add #undef HAVE_FOO to the config_host/config_hxx.h , possibly with a comment
- add #include <config_xxx.h> before any #ifdef HAVE_XXX in a source file