[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Detecting that a language compiler is not found
From: |
Reuben Thomas |
Subject: |
Detecting that a language compiler is not found |
Date: |
Thu, 23 Mar 2017 12:38:39 +0000 |
I have AC_PROG_OBJCXX in my configure.ac. On a system that lacks an
Objective C++ compiler, but has g++, this happily sets OBJCXX=g++.
Later, I have a stanza that looks like this:
AC_LANG_PUSH([Objective C++])
... some stuff ...
AC_LANG_POP([Objective C++])
On a system without an Objective C++ compiler, it gives an error:
checking how to run the Objective C++ preprocessor... /lib/cpp
configure: error: in `/home/rrt/enchant-src':
configure: error: Objective C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
This turns out to be because there is no such file /lib/cpp. I understand
that OBJCXXCPP is set to /lib/cpp as a default (this is documented in the
autoconf manual). However, this is conceivably a valid value.
In config.log, I see several times:
g++: error: conftest.mm: Objective-C++ compiler not installed on this system
However, this information does not seem to be communicated in any obvious
way that I can use in configure.ac.
How can I detect that no Objective C++ compiler was found, and therefore
not run the failing test?
(In principle, the question applies to other languages, as I can't see how
to tell no C, C++ etc. compiler was found either.)
I'm a bit puzzled as to why this is not more obvious, except that I guess
that particular languages are usually mandatory (as opposed to my project,
in which Objective C++ is only required for an optional part), and hence
it's not something one would need to detect, as configuration will fail
anyway?
The closest thing I can see is
ac_cv_env_OBJCXX_value=
But this does not appear to be something documented.
--
http://rrt.sc3d.org
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Detecting that a language compiler is not found,
Reuben Thomas <=