Синтаксис
p4c [-h] [-V] [-v] [-###] [-Xpreprocessor <arg>] [-Xp4c <arg>] [-Xassembler <arg>] [-Xlinker <arg>] [-b TARGET] [-a ARCH] [-c] [-D PREPROCESSOR_DEFINES] [-E] [-e] [-g] [-I SEARCH_PATH] [-o PATH] [--p4runtime-file P4RUNTIME_FILE] [--p4runtime-files P4RUNTIME_FILES] [--p4runtime-format {binary,json,text}] [--help-pragmas] [--help-targets] [--disable-annotations DISABLED_ANNOS] [-S] [--std {p4-14,p4_14,p4-16,p4_16}] [--ndebug] [source_file]
Позиционные аргументы source_file обязательны (хотя бы один) и указывают имена файлов P4 для компиляции.
Опции
Остальные аргументы команды являются необязательными (опции) и служат для управления компиляцией исходного кода P4. Многие опции доступны в краткой и длинной форме (с префиксом —)
-h, —help
Выводит справку о параметрах команды и завершает работу.
-V, —version
Выводит номер версии программы и завершает работу.
-v, —debug
Задает подробный вывод программы.
-###, —test-only
Выводит команды на консоль без из реального выполнения.
-Xpreprocessor <arg>
Задает передачу аргумента <arg> препроцессору компилятора.
-Xp4c <arg>
Задает аргумент, передаваемый компилятору.
-Xassembler <arg>
Задает передачу аргумента <arg> ассемблеру.
-Xlinker <arg>
Задает передачу аргумента <arg> компоновщику.
-b TARGET, —target TARGET
Задает целевое устройство (платформу).
-a ARCH, —arch ARCH
Задает целевую архитектуру.
-c, —compile
Задает выполнение лишь этапов предварительной обработки, компиляции и сборки.
-D PREPROCESSOR_DEFINES
Определяет макрос, используемый препроцессором.
-E
Задает выполнение только препроцессора.
-e
Задает пропуск препроцессора.
-g
Задает генерацию отладочной информации.
-I SEARCH_PATH
Задает каталог для поиска включаемых файлов.
-o PATH, —output PATH
Задает каталог для записи вывода.
—p4runtime-file P4RUNTIME_FILE
Задает вывод описания P4Runtime (API плоскости управления) в указанный файл. Опция устарела и взамен следует использовать —p4runtime-files.
—p4runtime-files P4RUNTIME_FILES
Задает вывод описания P4Runtime (P4Info, API плоскости управления) в указанные через запятые файлы. Формат файлов задают указанные расширения имен (суффиксы) .txt, .json, .bin.
—p4runtime-format {binary,json,text}
Задает выходной формат для описания P4Runtime API (по умолчанию .bin). Опция устарела и взамен следует использовать —p4runtime-files.
—help-pragmas, —pragma-help, —pragmas-help, —help-annotations, —annotation-help, —annotations-help
Выводит документацию поддерживаемых annotation и pragma, после чего завершает работу.
—help-targets, —target-help, —targets-help
Выводит связанные с целевой платформой опции команд.
—disable-annotations DISABLED_ANNOS, —disable-annotation DISABLED_ANNOS …
Задает список разделенных запятыми аннотаций, которые компилятору следует игнорировать.
-S
Задает выполнение лишь этапов предварительной обработки и компиляции.
—std {p4-14,p4_14,p4-16,p4_16}, -x {p4-14,p4_14,p4-16,p4_16}
Указывает вариант языка во входных файлах.
—ndebug
Задает компиляцию программы без отладочной информации.
Николай Малых