Spec-Zone.ru › GCC 10 CPP

Далее: GNU Free Documentation License, Предыдущее: Вызов [Оглавление][Индекс]

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.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-10.5.0/cpp/Environment-Variables.html

Spec-Zone.ru

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