Fix a regression in JE_COMPILABLE().

Revert JE_COMPILABLE() so that it detects link errors.  Cross-compiling
should still work as long as a valid configure cache is provided.

Clean up some comments/whitespace.
This commit is contained in:
Jason Evans
2012-03-13 11:09:23 -07:00
parent eb2398106f
commit 4c2faa8a7c
3 changed files with 18 additions and 24 deletions

View File

@@ -26,14 +26,17 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
])
dnl JE_COMPILABLE(label, hcode, mcode, rvar)
dnl
dnl Use AC_RUN_IFELSE() rather than AC_COMPILE_IFELSE() so that linker errors
dnl cause failure.
AC_DEFUN([JE_COMPILABLE],
[
AC_CACHE_CHECK([whether $1 is compilable],
[$4],
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$2],
[$3])],
[$4=yes],
[$4=no])])
[AC_RUN_IFELSE([AC_LANG_PROGRAM([$2],
[$3])],
[$4=yes],
[$4=no])])
])
dnl ============================================================================
@@ -801,16 +804,13 @@ dnl ============================================================================
dnl Check for ffsl(3), and fail if not found. This function exists on all
dnl platforms that jemalloc currently has a chance of functioning on without
dnl modification.
JE_COMPILABLE([a program using ffsl],
[
#include <string.h>
],
[
{
int rv = ffsl(0x08);
}
],
[je_cv_function_ffsl])
JE_COMPILABLE([a program using ffsl], [
#include <string.h>
], [
{
int rv = ffsl(0x08);
}
], [je_cv_function_ffsl])
if test "x${je_cv_function_ffsl}" != "xyes" ; then
AC_MSG_ERROR([Cannot build without ffsl(3)])
fi