Spec-Zone.ru › GCC 12 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-12.1.0/cpp/Environment-Variables.html

Spec-Zone.ru

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