我有一个Makefile.am
用于使用ocamlbuild
编译Ocaml源代码。但是,甚至
虽然我有
AM_INIT_AUTOMAKE([foreign no-dependencies])
在我的configure.ac
中,automake认为必须存在C编译器来安装exectuables。也就是说,如果我在Makefile.am
下放入bin_PROGRAMS
目标可执行文件,该目标可执行文件将使用ocamlbuild构建,则autoreconf(版本1.11.3)告诉我:
Makefile.am: C source seen but `CC' is undefined
Makefile.am: The usual way to define `CC' is to add `AC_PROG_CC'
Makefile.am: to `configure.ac' and run `autoconf' again.
autoreconf: automake failed with exit status: 1
我不想要包含AC_PROG_CC
,因为我的源代码不包含C.它是纯粹的Ocaml。我能做什么? (我对libexec_PROGRAMS
也有同样的问题。)
答案 0 :(得分:5)
可能不需要,但只是简单地将AC_PROG_CC添加到Makefile.am会有什么损害吗?阻力最小的路径和所有。
解决这个有着十年历史的邮件列表消息:
http://lists.gnu.org/archive/html/automake/2003-01/msg00057.html
听起来你可能需要将progname_SOURCES定义为空。如果我正确理解了帖子,如果省略显式声明,则progname_SOURCES将隐式定义为progname.c。
答案 1 :(得分:5)
如果您将AC_SUBST([CC])
添加到configure.ac
,那么就Automake而言,这足以定义变量。