Listen to feature_test_macros(7) with a guard.
If HAVE_CONFIG_H is given (most presumably on the command line)
it is safe to include the (#define-only) config.h.
On prominent platforms, these defines must precede any inlcudes.
To quote feature_test_macros(7) on Linux:
> NOTE: In order to be effective, a feature test macro must be defined before including any header files.
config.h provides these macros, either manually specified or
through means of configuration (eg. autoconf/configure).
Having these defines early does not hurt platforms not using this
system but is vital on platforms using it.