Spec-Zone.ru › GCC 13 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 записываются в этот файл, предполагая имя целевого файла из имени исходного файла. Или значение может иметь вид ‘файл цель’, в этом случае правила записываются в файл файл с использованием цель в качестве имени целевого файла.

Другими словами, эта переменная окружения эквивалентна объединению опций -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.

Значение должно быть известной временной меткой, например, последним временем изменения исходного файла или пакета, и оно должно быть установлено процессом сборки.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/cpp/Environment-Variables.html

Spec-Zone.ru

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