Mikael Magnusson <[EMAIL PROTECTED]> writes:

> AC_COMPILE_IFELSE and AC_LINK_IFELSE don't work as documented when
> Erlang is the current language. I include a configure.ac which shows two
> bugs.
>
> 1. AC_COMPILE_IFELSE always fails and runs ACTION-IF-NOT-FOUND, because
>    configure checks if conftest.$ac_objext is present. But it never is
>    when using Erlang.

It looks to me like the proper solution to this is to set
$ac_objext.  Perhaps the following patch is sufficient?  It makes
the AC_COMPILE_IFELSE succeed on my system here.

--- tmp/autoconf-2.61/lib/autoconf/erlang.m4    2006-09-05 07:36:18.000000000 
-0700
+++ autoconf-2.61/lib/autoconf/erlang.m4        2007-12-09 16:57:45.000000000 
-0800
@@ -175,7 +175,9 @@
 # ----------------------------
 # Find the Erlang compiler.  Must be AC_DEFUN'd to be AC_REQUIRE'able.
 AC_DEFUN([AC_LANG_COMPILER(Erlang)],
-[AC_REQUIRE([AC_ERLANG_PATH_ERLC])])
+[AC_REQUIRE([AC_ERLANG_PATH_ERLC])
+ac_objext=beam
+])
 
> 2. AC_LINK_IFELSE always succeeds and runs ACTION-IF-FOUND, because
>    the exit status of erlc (the Erlang compiler) is thrown away and
>    configure uses the exit status of "chmod +x conftest$ac_exeext"
>    instead. (Solution replace all semicolons with "&&" in the link
>    command "ac_link".)

AC_LINK_IFELSE is documented not to work in Erlang, in the
manual's section 6.5 "Running the Linker":

       The `AC_LINK_IFELSE' macro cannot be used for Erlang
    tests, since Erlang programs are interpreted and do not
    require linking.

-- 
"Premature optimization is the root of all evil."
--D. E. Knuth, "Structured Programming with go to Statements"



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to