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