Все, что -DHAVE_CONFIG_H
делает, это определяет токен препроцессора HAVE_CONFIG_H
точно так, как если бы вы имели #define HAVE_CONFIG_H
в самом начале каждого из ваших исходных файлов.
Что касается того, для чего он используется, это полностью зависит от остальной части вашего исходного файла (и всего, что оно включает в себя). Вот где вы должны искать, чтобы выработать его эффект.
Это выглядит как , это может означать, что файл заголовка config.h
доступен и должен быть включен; в этом случае вы, вероятно, найдете следующую последовательность где-то в ваших исходных файлах:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
, который будет включать заголовочный файл, когда вы говорите, что он доступен. Однако это предположение с моей стороны и ни в коем случае не является точным эффектом, для чего I будет использовать такой символ препроцессора.