Spec-Zone.ru › GCC 7 CPP

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 Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.5.0/cpp/Environment-Variables.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API