Вопросы по теме 'm4'

в patsubst m4, как заменить новые строки пробелами?
Как я могу сказать m4 patsubstr заменить все символы новой строки в строке пробелом? Я пробовал: patsubst(MULTI_LINE_STR_DEFINE,`\n',` ') и patsubst(MULTI_LINE_STR_DEFINE,`\\n',` ')
1240 просмотров
schedule 28.07.2022

m4 не слушается расширения?
Я использую m4 для небольшой предварительной обработки текста здесь, и он ведет себя так, как я не понимаю. Это часть, о которой идет речь: ifdef(`TEST', define(`O_EXT', `.obj'), define(`O_EXT', `.o')) Этот макрос будет всегда...
111 просмотров
schedule 27.05.2023

Как вы можете включить защиту ifdef для файла макроса m4?
Для файлов заголовков C вы можете предотвратить многократное включение файла заголовка, например: #ifndef MY_FOO_H #define MY_FOO_H [...] #endif Как я могу сделать то же самое в m4, чтобы несколько вызовов макросов include() для одного и...
1732 просмотров
m4
schedule 23.12.2022

заставить m4 видеть макрос, когда макрос заканчивается тем же символом, что и строка, следующая за макросом
Я работаю над системой, которая использует M4 для расширения некоторых файлов, но в некоторых случаях у меня возникают проблемы с расширением. Соглашение об именах определений/макросов (которое я бы предпочел не менять, если это возможно) -...
514 просмотров
schedule 01.12.2023

как проверить возвращаемое значение оболочки cmd в настройке автоинструментов
Я хотел бы запустить команду оболочки во время процесса настройки - если возвращаемое значение этой операции равно 0, я хотел бы использовать его. В противном случае я хочу выйти с сообщением об ошибке. Я написал что-то вроде этого: LOC=$(perl...
311 просмотров
schedule 16.02.2023

m4 раскрыть макрос внутри слов
Я очень новичок в m4, но не могу найти эту простую вещь: Можно ли раскрыть макрос в середине слова? (Я бы использовал его для счетчика, который будет использоваться в имени символа C в низкоуровневом коде) Я имею в виду как:...
868 просмотров
schedule 12.10.2023

макрос препроцессора m4 BC
Относительно этого вопроса я хотел бы определить макрос BC m4 этой функции : syscmd(bc <<< "scale=6; print ARITHMETIC_OPERATION_STRING") NB: он просто обрабатывает арифметическую операцию с bc , например: syscmd(bc...
217 просмотров
m4
schedule 06.10.2022

Как определить, существует ли / может быть вызван макрос m4
мы разрабатываем программный пакет, использующий autotools (точнее, autoconf 2.69 и automake 1.13.3). Этому пакету нужны wxwidgets, и эта библиотека предоставляет свой собственный файл m4, позволяющий протестировать установку wxwidgets в...
907 просмотров
schedule 07.03.2023

Составьте комбинированную программу набора тестов из набора модульных тестов.
Я создаю набор модулей с модульными тестами и хотите автоматически сгенерировать комбинированную программу для выполнения всех тестов. Потворствуя своему внутреннему фанатику контроля, я решил использовать структуру minunit.h и попробуй...
145 просмотров
schedule 24.08.2022

AC_ARG_ENABLE в цикле m4_foreach_w: нет строки справки
Я хочу сгенерировать множество --enable-*/--disable-* параметров, например: COMPONENTS([a b c], [yes]) где второй аргумент — это значение по умолчанию для автоматической переменной enable_* . Моей первой попыткой было написать...
240 просмотров
schedule 24.06.2023

Экранирование запятых в выражениях m4 ifdef
Я использую комбинацию уценки и m4 для создания трех разных версий документа в зависимости от флагов, указанных в начале. Назовем их Золото, Серебро и Бронза. Проблема, с которой я столкнулся, заключается в том, что если у меня есть раздел,...
551 просмотров
schedule 27.03.2023

Что означает имя m4 в макропроцессоре m4?
Мне так любопытно название "m4", что означают "m" и "4"?
164 просмотров
m4
schedule 05.04.2023

Предотвратить появление #define PACKAGE_VERSION в config.h
Версия пакета (см. AC_INIT ) моего среднего проекта autotools довольно часто меняется. При изменении версии пакета я мучаюсь от ненужной пересборки всего проекта, потому что PACKAGE_VERSION и друзья в config.h изменились, а config.h включен во...
239 просмотров
schedule 30.10.2022

Условная компиляция/интерпретация с использованием m4
Я хотел бы использовать m4 в качестве препроцессора для нескольких разных языков сценариев, в которых нет этой возможности. В частности, мне нужно эмулировать функциональность препроцессора C ( cpp ) условного включения кода: #if something...
160 просмотров
schedule 08.02.2023

Может ли m4 выполнять пользовательские сценарии bash?
Может ли язык макрорасширения m4 выполнять определяемый пользователем bash сценарии? рассмотрим файл m4 define(`FOOBAR', `esyscmd(mycmd)') dnl FOOBAR где mycmd — это файл bash, определенный в том же каталоге, что и файл m4, который...
255 просмотров
m4
schedule 07.04.2023

Как правильно определить, является ли определение/переменная в m4 пустым, хотя оно может содержать запятые?
Как я могу определить в шаблоне m4, является ли определение/переменная пустой, хотя она также может содержать запятые? Он передается через аргументы m4, поэтому может содержать любое значение. Проблема в том, что когда я пишу условие ifelse , не...
302 просмотров
m4
schedule 20.08.2022

M4: Как удалить начальные пробелы из сценария, за которым следует файл?
Если у меня есть скрипт m4 со многими командами: define(this, that) define(or,this) define(other,thing) И я звоню: $: m4 script.m4 my_file Результат: # N newlines for the N commands in the script # first line of my file...
144 просмотров
schedule 09.11.2022

GNU m4 добавляет пустые строки вверху
Я использую GNU m4 для предварительной обработки Pandoc Markdown. У меня есть сценарий m4, который определяет макрос для установки текста в заглавных буквах с именем gb_Attr . m4_changequote({{,}}) m4_define({{gb_Attr}}, {{[$1]{.smallcaps}}})...
100 просмотров
schedule 11.08.2022

Как вызвать вложенную функцию GNU m4?
Я пытаюсь определить условный макрос внутри макроса и передать его как вариант, пока у меня есть: main.m4 changequote([,]) define([FUNCTION_CALL],[$1 $2 $3]) тогда я делаю: базовый.m4 ifdef([SECURITY],...
64 просмотров
schedule 24.10.2023

m4 макрос и перенаправление оболочки
Может ли макрос m4 выполнять перенаправление вывода в переменную с оболочкой $(...) ? Переменная $MANPAGE_DOCBOOK_XSL пуста :(. if test "x${XMLCATALOG}" != "x" -a "x$have_xmlcatalog_file" = "xyes"; then...
42 просмотров
schedule 01.08.2022