在automake中抑制“C source see但`CC` undefined”?

时间:2012-03-11 07:57:17

标签: ocaml autoconf automake

我有一个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也有同样的问题。)

2 个答案:

答案 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而言,这足以定义变量。