Синтаксис
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
Задает компиляцию программы без отладочной информации.
Николай Малых