Вопросы по теме '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 просмотров
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 просмотров
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 просмотров
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 просмотров
schedule
07.04.2023
Как правильно определить, является ли определение/переменная в m4 пустым, хотя оно может содержать запятые?
Как я могу определить в шаблоне m4, является ли определение/переменная пустой, хотя она также может содержать запятые? Он передается через аргументы m4, поэтому может содержать любое значение.
Проблема в том, что когда я пишу условие ifelse , не...
302 просмотров
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