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.Значение должно быть известной временной меткой, такой как последняя временная метка изменения исходного файла или пакета, и оно должно устанавливаться процессом сборки.
Далее: GNU Free Documentation License, Предыдущий: Вызов, Вверх: Верх [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.5.0/cpp/Environment-Variables.html