Tôi có một số Makefile.am
để biên dịch mã nguồn Ocaml với ocamlbuild
. Tuy nhiên, mặc dù tôi có Suppress "nguồn C nhìn thấy nhưng` CC` undefined "trong automake?
AM_INIT_AUTOMAKE([foreign no-dependencies])
trong configure.ac
tôi, automake nghĩ rằng một trình biên dịch C phải có mặt để cài đặt exectuables. Đó là, nếu tôi đặt trong Makefile.am
một mục tiêu thực thi dưới bin_PROGRAMS
đó là được xây dựng với ocamlbuild, autoreconf (phiên bản 1.11.3) nói với tôi:
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
Tôi không muốn bao gồm AC_PROG_CC
vì nguồn của tôi mã bao gồm không có C. Đó là Ocaml tinh khiết. Tôi có thể làm gì? (Tôi có cùng một vấn đề với libexec_PROGRAMS
.)
'AC_PROG_CC' có thể sẽ thêm các thử nghiệm không cần thiết, làm chậm 'cấu hình'. – ldav1s
Đây là cách mọi thứ nên được thực hiện. Chỉ cần đặt 'progname_SOURCES' thành giá trị trống. Vì vậy, tôi tuyên bố rằng đây là "câu trả lời được chấp nhận". –
Tôi đã đấu tranh chống lại một vấn đề tương tự cho đến khi tôi đọc câu trả lời này và nhận ra rằng "progname" của tôi chứa các ký tự không hợp lệ ('+'). Mọi thứ đều tốt đẹp sau khi đổi tên progname của tôi. – j4x