问题标签 [m4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - OSX autotools:“autom4te”没有输出“aclocal.m4”
freetype2
几周以来,我一直在尝试在 OSX Mavericks 中构建库,但没有成功。
麻烦在于使用GNU Autotools
创建configure
构建脚本。
我已经安装了automake
, autoconf
, libtoolize
,m4
并perl5
使用了 macportsport
命令。
执行时aclocal
,应该在configure
包含 Autotools 宏的目录中创建一个文件:aclocal.m4
. 但是,这个文件没有被输出,并且后续的glibtoolize
和autoconf
命令正在生成一个虚假的configure
脚本。
结果是:没有aclocal.m4
文件,并且通常的内容./autom4te.cache/traces.*
被转储在生成configure
的文件的顶部(traces.*
文件是空的)。
例如:
任何帮助将不胜感激。
unix - 使用 m4 模板来模板化文件名
我有一个使用 m4 模板来模板化事物的项目。我需要做的是根据 m4 文件中的参数实际创建文件。文件内容将保持不变。
所以,假设我有这个:
开发.m4
过滤器模板
我需要创建一个文件:
filter_%%A_NODE%%_%%A_NODE_PORT%%.cfg 与来自 filter.template 的数据
是否有可能在 m4 内或者我需要编写一些脚本代码?
assembly - ARM Cortex-M4,使用 UART_DR 和 FIFO 读/写
所以我正在学习 ASM,并且有一个 LM4F120XL ARM Cortex-M4 MCU。我正在使用 Keil uVision V4.54。
我熟悉设置端口等,初始化 GPIO 和 UART。
例如,我坚持的是通过串行读取和写入 TeraTerm/Putty。
我了解 RxFE = 0,FIFO 不为空 - 从中读取;并且 TxFF = 0,FIFO 未满 - 写入它..
但是在比较并满足这些条件之后,我实际上将什么数据写入 UART_DR,数据寄存器..?是否只是将数据寄存器加载到寄存器中,将此地址处的值加载到另一个寄存器中,然后......我丢失了,因为我没有更改位我正在添加新数据 - 然后你会从这个寄存器回到数据寄存器寄存器..
因此,如果数据寄存器中存在数据,那么它会及时传递出去..?我可以使用正确的 COM 端口连接到 TeraTerm,调整 BAUD 和 PARITY 设置。但再一次,如果数据寄存器中存在数据,在到期周期后会自动发送......?
另外,如何从键盘读取字符..?或其他计算机外围设备..是否知道地址,将值加载到寄存器中,然后将其存储到数据寄存器中?如果数据寄存器保存数据,则需要以非破坏性方式完成。
为什么每篇关于 MCU 编码的文章都是用 C++ 而不是 ASM 编写的?我也在学习 C++ 但不知道为什么没有人使用汇编/机器代码..
;--------
读取字符
inloop LDR R0, =UART_FR LDR R1, [R0] AND R1, #0x10 CMP R1, #0x0 BNE inloop
;--------
输出字符
外环回 LDR R0, =UART_FR LDR R1, [R0] AND R1, #0x20 CMP R1, #0x0 BNE 外环回
;--------
autotools - “帮助”字符串变量替换“配置--帮助”
我有一个字符串,我想多次使用它来输出configure --help
. 所以我尝试做这样的事情configure.ac
:
但是没有进行扩展或替换,所以输出只是$foobar_help_str
.
autotools - 使用 GNU Autotest 进行任意数量的测试
我正在使用 Autotools 开发一个项目,并希望为所有功能测试集成 Autotest。每个测试都必须像这样运行:
我的$(top_srcdir)/tests
目录如下所示:
两者均包含 150 个测试文件good/
。bad/
我想避免手动输入每个测试,我似乎无法找到如何重现类似 m4/Autotest 宏的下一步:
最接近我的真实案例(也是我发现的)位于 m4 项目的测试套件中,该套件generated.at
使用自己的文档生成文件。
我应该遵循这种方式并在调用on之前生成good.at
and ,还是有办法使用 m4/Autotest 宏?bad.at
autom4te
testsuite.at
谢谢!
linux - autoconf 和 sysvinit/systemd 等
我经常遇到的一个问题autoconf
是初始化脚本。重点autoconf
当然是可移植性,各种初始化系统(sysvinit、systemd、upstart)——更不用说不同发行版(如/etc/init.d
vs /etc/rc.d/
vs /etc/rc.d/init.d
)上相同初始化系统之间的各种差异——都迫切需要可移植的启动/停止脚本解决方案。
我以为现在有人会创建一个很好的 m4 宏来处理这个问题,但我找不到。
这很奇怪,因为这似乎是一个常见问题,而且他们现在甚至有 m4 宏来检测更新的问题,例如 C++11 兼容性和其他问题。
因此,在我卷起袖子花时间制作一个(希望如此)体面的 m4 宏来尝试确定要使用的 init 系统之前,我很想知道其他人是否已经做得更好。我似乎在谷歌上找不到任何东西——我什至读过人们实际上不鼓励使用autoconf
安装初始化脚本的帖子。就个人而言,我认为这种观点是不切实际的——现在的用户已经习惯于包管理器自动安装初始化脚本,所以没有理由不应该在从源代码编译时得到相同的结果。
那么,是否已经有一个很好的 m4 宏可以处理这个问题,或者我应该花时间编写自己的宏吗?
m4 - 传递给宏的非空参数的数量
在 GNU M4 中,我一直在尝试编写一个函数来确定有多少非空(不等于的参数`'
)传递给它。
它应该可以像这样调用:
请注意,第一个参数应始终为0
.
这是我到目前为止的代码:
这是它的伪代码:
我无法弄清楚我在定义中做错了什么ne_nargs
,并且在尝试了几种不同的方法来抽象宏的部分之后,我准备放弃了。
latex - GNU m4 宏自动生成的文件
我下载了我想要对其进行一些更改的乳胶包,但是在这个包中存在文件 include.m4 我不知道它做了什么以及它是如何生成的。这里是它的行:
你能解释一下它是用什么工具生成的吗?
想。所以这个文件不是自动生成的?你能帮我理解Makefile中的这些行吗:
和规则:
正如我所看到的,GNU m4 选项“-D”将 .sty .cls 文件中的宏 m4_ESKDX_INIT 替换为 m4_include(../include.m4),然后选项“-P”首先扩展文件 include.m4 并进一步扩展包含中的宏。米4。
bash - 了解 configure.ac 文件中的 bashism
我试图了解项目的 configure.ac 文件中的常见模式。我相当确定这是一个我很难解析的 bashism。这是一个例子:
其意图似乎是通过 OTHERFLAG 中的内容来扩展 LDFLAGS 的当前值。看起来写起来会更简单:
bash手册中的相关部分说:
我认为这里有一些防御性的东西,但我不确定到底是什么。
php - 在 Windows 上构建 PHP,问题是野牛
好吧,我正在尝试在 Windows 上构建 PHP,到目前为止,我几乎完美地遵循了本指南,直到遇到一个奇怪的错误,我不知道如何修复: https ://wiki.php.net/internals/windows /逐步构建
错误:无法打开文件 c:/progra~1/bison/share/bison/m4sugar/m4sugar.m4:没有这样的文件或目录 nmake:致命错误 U1077:D:\Development\Microsoft Visual Studio\VC\Bin\amd64\ bison.exe:返回代码“0x1”
错误信息是什么意思?我该如何解决?谢谢。