13 Переменные окружения
В этом разделе описаны переменные окружения, которые влияют на работу CPP. Вы можете использовать их для указания каталогов или префиксов, используемых при поиске файлов заголовков, или для управления выводом зависимостей.
Обратите внимание, что вы также можете указать места поиска с помощью опций, таких как -I, и управлять выводом зависимостей с помощью опций, таких как -M (см. Вызов). Эти опции имеют приоритет перед переменными окружения, которые, в свою очередь, имеют приоритет перед конфигурацией GCC.
-
CPATH -
C_INCLUDE_PATH -
CPLUS_INCLUDE_PATH -
OBJC_INCLUDE_PATH -
Значение каждой переменной — это список каталогов, разделенных специальным символом, аналогично
PATH, для поиска файлов заголовков. Специальный символ,PATH_SEPARATOR, зависит от платформы и определяется при компиляции GCC. Для целевых платформ на базе Microsoft Windows это точка с запятой, а для почти всех остальных платформ — двоеточие.CPATHзадаёт список каталогов, которые будут просматриваться так, как если бы они были указаны с помощью -I, но после любого пути, заданного с помощью опций -I в командной строке. Эта переменная окружения используется независимо от языка, который препроцессируется.Остальные переменные окружения применяются только при препроцессировании указанного языка. Каждая из них задаёт список каталогов, которые будут просматриваться так, как если бы они были указаны с помощью -isystem, но после любого пути, заданного с помощью опций -isystem в командной строке.
Во всех этих переменных пустой элемент указывает компилятору просматривать текущий рабочий каталог. Пустые элементы могут появляться в начале или конце пути. Например, если значение
CPATHравно:/special/include, это имеет тот же эффект, что и ‘-I. -I/special/include’.См. также Путь поиска.
-
DEPENDENCIES_OUTPUT -
Если эта переменная установлена, её значение определяет способ вывода зависимостей для Make на основе файлов заголовков, не являющихся системными, обработанных компилятором. Системные файлы заголовков игнорируются в выводе зависимостей.
Значение
DEPENDENCIES_OUTPUTможет быть просто именем файла, в этом случае правила Make записываются в этот файл, предполагая имя целевого файла из имени исходного файла. Или значение может иметь вид ‘file target’, в этом случае правила записываются в файл file с использованием target в качестве имени целевого файла.Другими словами, эта переменная окружения эквивалентна сочетанию опций -MM и -MF (см. Вызов), а также с дополнительным переключателем -MT.
-
SUNPRO_DEPENDENCIES -
Эта переменная аналогична
DEPENDENCIES_OUTPUT(см. выше), за исключением того, что системные файлы заголовков не игнорируются, поэтому она подразумевает -M вместо -MM. Однако зависимость от основного входного файла опускается. См. Вызов. -
SOURCE_DATE_EPOCH -
Если эта переменная установлена, её значение задаёт временную метку UNIX, которая будет использоваться вместо текущей даты и времени в макросах
__DATE__и__TIME__, чтобы встроенные временные метки стали воспроизводимыми.Значение
SOURCE_DATE_EPOCHдолжно быть временной меткой UNIX, определённой как количество секунд (без учёта високосных секунд) с 01 января 1970 года 00:00:00, представленное в ASCII; идентично выводуdate +%sв GNU/Linux и других системах, поддерживающих расширение%sв командеdate.Значение должно быть известной временной меткой, например, последнего времени изменения исходного файла или пакета, и оно должно устанавливаться процессом сборки.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-14.2.0/cpp/Environment-Variables.html