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 записываются в этот файл, предполагая имя целевого файла из имени исходного файла. Или значение может иметь вид ‘файл цель’, в этом случае правила записываются в файл файл с использованием цель в качестве имени целевого файла.Другими словами, эта переменная окружения эквивалентна объединению опций -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-13.3.0/cpp/Environment-Variables.html