- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开始使用 autotools,我正在开发一个 C 项目,该项目需要针对不同架构(i386 和 x86_64)的不同构建路径。
到目前为止我的目录结构是
/maindir
/arch
/i386/code.S
/x86_64/code.S
/src/main.c
/include/config.h
/other_header.h
我是 autotools 的新手,我不太了解它们,我遵循了几个教程,但是我找不到根据当前 CPU 架构指定不同目录的方法。
有人可以为我提供一个简短的 makefile.am 和 configure.ac 文件示例来实现这一点吗?非常感谢。
最佳答案
通常,您必须在 configure.ac
的某处调用 AC_CANONICAL_HOST
。它将设置变量 host_cpu
,然后您可以查询该变量。
以下是示例 configure.ac
的摘录:
...
AC_CANONICAL_HOST
AS_CASE([$host_cpu],
[i?86], [ARCHDIR=arch/i386],
[x86_64], [ARCHDIR=arch/x86_64],
[AC_MSG_ERROR("No assembler code for CPU $host_cpu")]
)
AC_SUBST([ARCHDIR])
...
(注意i?86
是用来匹配i586
,i686
等)有了这个,你可以使用$ (ARCHDIR)
在您的 Makefile.am
中。
关于c - 如何使用 autotools 构建架构/机器相关代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713205/
我是一名优秀的程序员,十分优秀!