mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-24 21:50:20 +02:00
* libguile/lightning/configure.ac: * libguile/lightning/Makefile.am: * libguile/lightning/check: Remove unit tests. If there is a problem with lightning on this target, users should check if the upstream tests pass. Otherwise we will find errors via the Guile test suite.
283 lines
8.1 KiB
Text
283 lines
8.1 KiB
Text
dnl
|
|
dnl Copyright 2000, 2001, 2002, 2012-2018 Free Software Foundation, Inc.
|
|
dnl
|
|
dnl This file is part of GNU lightning.
|
|
dnl
|
|
dnl GNU lightning is free software; you can redistribute it and/or modify it
|
|
dnl under the terms of the GNU Lesser General Public License as published
|
|
dnl by the Free Software Foundation; either version 3, or (at your option)
|
|
dnl any later version.
|
|
dnl
|
|
dnl GNU lightning is distributed in the hope that it will be useful, but
|
|
dnl WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
dnl or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
|
dnl License for more details.
|
|
dnl
|
|
|
|
AC_PREREQ(2.57)
|
|
AC_INIT([GNU lightning], 2.1.2, pcpa@gnu.org, lightning)
|
|
AC_CANONICAL_TARGET
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AM_INIT_AUTOMAKE([dist-bzip2])
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
AC_CONFIG_MACRO_DIR(m4)
|
|
|
|
AC_CONFIG_HEADERS(config.h)
|
|
|
|
AC_PROG_CC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LIBTOOL
|
|
|
|
case "$target_cpu" in
|
|
ia64)
|
|
case "$host_os" in
|
|
# Only supported mode
|
|
*hpux*)
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -mlp64" ;;
|
|
*) ;;
|
|
esac ;;
|
|
*mips*)
|
|
case "$host_os" in
|
|
# (Hack) Flags to pass configure with gcc 3.x
|
|
# Should not set LIGHTNINT_CFLAGS
|
|
*irix*)
|
|
CFLAGS="$CFLAGS -D__c99 -Drestrict=";;
|
|
*) ;;
|
|
esac ;;
|
|
alpha*)
|
|
case "$host_os" in
|
|
osf*)
|
|
# Get proper varargs and mmap prototypes and definitions
|
|
CFLAGS="$CFLAGS -D_ANSI_C_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_OSF_SOURCE -D_POSIX_C_SOURCE=199309L"
|
|
# Want to generate NaN with 0.0/0.0 and Inf with 1.0/0.0
|
|
if test x$GCC = "xyes"; then
|
|
CFLAGS="$CFLAGS -mieee"
|
|
else
|
|
CFLAGS="$CFLAGS -ieee_with_no_inexact"
|
|
fi ;;
|
|
*) ;;
|
|
esac ;;
|
|
*) ;;
|
|
esac
|
|
|
|
AC_CHECK_FUNCS(mremap ffsl getopt_long_only isnan isinf,,)
|
|
|
|
AC_CHECK_HEADERS([getopt.h stdint.h],,,)
|
|
|
|
AC_ARG_ENABLE(disassembler,
|
|
AS_HELP_STRING([--enable-disassembler],
|
|
[Enable jit disassembler using binutils]),
|
|
[DISASSEMBLER=$enableval], [DISASSEMBLER=auto])
|
|
if test "x$DISASSEMBLER" != "xno"; then
|
|
# FIXME need to check for libiberty first or will fail to link
|
|
AC_CHECK_LIB(iberty, htab_try_create, ,
|
|
[HAVE_IBERTY="no"])
|
|
AC_CHECK_LIB(bfd, bfd_init, ,
|
|
[HAVE_BFD="no"])
|
|
AC_CHECK_LIB(z, compressBound, ,
|
|
[HAVE_Z="no"])
|
|
AC_CHECK_LIB(opcodes, init_disassemble_info, ,
|
|
[HAVE_OPCODES="no"])
|
|
if test "x$HAVE_IBERTY" = "xno" -o \
|
|
"x$HAVE_BFD" = "xno" -o \
|
|
"x$HAVE_Z" = "xno" -o \
|
|
"x$HAVE_OPCODES" = "xno"; then
|
|
if test "x$DISASSEMBLER" != "xauto"; then
|
|
AC_MSG_ERROR([binutils not found, see http://www.gnu.org/software/binutils/])
|
|
else
|
|
AC_MSG_WARN([binutils not found, see http://www.gnu.org/software/binutils/])
|
|
DISASSEMBLER="no"
|
|
fi
|
|
fi
|
|
fi
|
|
AM_CONDITIONAL(with_disassembler, [test "x$DISASSEMBLER" != "xno"])
|
|
if test "x$DISASSEMBLER" != "xno"; then
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DDISASSEMBLER=1"
|
|
save_CFLAGS=$CFLAGS
|
|
CFLAGS="$CFLAGS -I$PWD/include -D_GNU_SOURCE"
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
|
#include <lightning.h>
|
|
#include <lightning/jit_private.h>
|
|
#include <dis-asm.h>
|
|
int main(int argc, char *argv[])
|
|
{
|
|
disassembler_ftype print;
|
|
bfd *abfd;
|
|
print = disassembler(abfd);
|
|
return 0;
|
|
}
|
|
)], [ac_cv_test_new_disassembler=no],,)
|
|
CFLAGS="$save_CFLAGS"
|
|
if test "x$ac_cv_test_new_disassembler" != "xno"; then
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DBINUTILS_2_29=1"
|
|
fi
|
|
fi
|
|
|
|
AC_ARG_ENABLE(devel-disassembler,
|
|
AS_HELP_STRING([--enable-devel-disassembler],
|
|
[Enable extra disassembly options]),
|
|
[DEVEL_DISASSEMBLER=$enableval], [DEVEL_DISASSEMBLER=no])
|
|
if test "x$DEVEL_DISASSEMBLER" != "xno"; then
|
|
if test "x$DISASSEMBLER" = "xno"; then
|
|
AC_MSG_ERROR(devel-disassembler needs disassembler enabled)
|
|
fi
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DDEVEL_DISASSEMBLER=1"
|
|
fi
|
|
|
|
AC_ARG_ENABLE(assertions,
|
|
AS_HELP_STRING([--enable-assertions],
|
|
[Enable runtime code generation assertions]),
|
|
[DEBUG=$enableval], [DEBUG=auto])
|
|
if test "x$DEBUG" = xyes; then
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DDEBUG=1"
|
|
else
|
|
LIGHTNING_CFLAGS="$LIGHTNING_CFLAGS -DNDEBUG"
|
|
DEBUG=no
|
|
fi
|
|
|
|
case "$host_os" in
|
|
*bsd*|osf*) SHLIB="" ;;
|
|
*hpux*) SHLIB="-ldld" ;;
|
|
*) SHLIB="-ldl" ;;
|
|
esac
|
|
AC_SUBST(SHLIB)
|
|
|
|
cpu=
|
|
case "$target_cpu" in
|
|
i?86|x86_64|amd64) cpu=x86 ;;
|
|
*arm*) cpu=arm ;;
|
|
*mips*) cpu=mips ;;
|
|
*powerpc*) cpu=ppc ;;
|
|
*sparc*) cpu=sparc ;;
|
|
ia64) cpu=ia64 ;;
|
|
hppa*) cpu=hppa ;;
|
|
aarch64) cpu=aarch64 ;;
|
|
s390*) cpu=s390 ;;
|
|
alpha*) cpu=alpha ;;
|
|
*) ;;
|
|
esac
|
|
AM_CONDITIONAL(cpu_arm, [test cpu-$cpu = cpu-arm])
|
|
AM_CONDITIONAL(cpu_mips, [test cpu-$cpu = cpu-mips])
|
|
AM_CONDITIONAL(cpu_ppc, [test cpu-$cpu = cpu-ppc])
|
|
AM_CONDITIONAL(cpu_sparc, [test cpu-$cpu = cpu-sparc])
|
|
AM_CONDITIONAL(cpu_x86, [test cpu-$cpu = cpu-x86])
|
|
AM_CONDITIONAL(cpu_ia64, [test cpu-$cpu = cpu-ia64])
|
|
AM_CONDITIONAL(cpu_hppa, [test cpu-$cpu = cpu-hppa])
|
|
AM_CONDITIONAL(cpu_aarch64, [test cpu-$cpu = cpu-aarch64])
|
|
AM_CONDITIONAL(cpu_s390, [test cpu-$cpu = cpu-s390])
|
|
AM_CONDITIONAL(cpu_alpha, [test cpu-$cpu = cpu-alpha])
|
|
|
|
# Test x87 if both, x87 and sse2 available
|
|
ac_cv_test_x86_x87=
|
|
# Test arm instruction set if thumb instruction set available
|
|
ac_cv_test_arm_arm=
|
|
# Test sofware float if vfp available and not using hard float abi
|
|
ac_cv_test_arm_swf=
|
|
|
|
save_CFLAGS=$CFLAGS
|
|
CFLAGS="$CFLAGS -I$PWD/include -D_GNU_SOURCE"
|
|
if test x$cpu = x; then
|
|
AC_MSG_ERROR([cpu $target_cpu not supported])
|
|
elif test $cpu = x86; then
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
#include <lightning.h>
|
|
int main(void) {
|
|
int ac, flags;
|
|
unsigned int eax, ebx, ecx, edx;
|
|
if (__WORDSIZE == 64)
|
|
return 1;
|
|
__asm__ volatile ("pushfl;\n\t"
|
|
"popl %0;\n\t"
|
|
"movl \$0x240000, %1;\n\t"
|
|
"xorl %0, %1;\n\t"
|
|
"pushl %1;\n\t"
|
|
"popfl;\n\t"
|
|
"pushfl;\n\t"
|
|
"popl %1;\n\t"
|
|
"xorl %0, %1;\n\t"
|
|
"pushl %0;\n\t"
|
|
"popfl"
|
|
: "=r" (flags), "=r" (ac));
|
|
if ((ac & (1 << 21)) == 0)
|
|
return 1;
|
|
__asm__ volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1"
|
|
: "=a" (eax), "=r" (ebx),
|
|
"=c" (ecx), "=d" (edx)
|
|
: "0" (1));
|
|
return (edx & 1 << 26) ? 0 : 1;
|
|
}
|
|
]])],[ac_cv_test_x86_x87=yes],[],[ac_cv_test_x86_x87=no])
|
|
elif test $cpu = arm; then
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
#include <stdio.h>
|
|
int main(void) {
|
|
#if defined(__linux__)
|
|
FILE *fp;
|
|
char buf[128];
|
|
if ((fp = fopen("/proc/cpuinfo", "r")) == NULL)
|
|
return 1;
|
|
while (fgets(buf, sizeof(buf), fp)) {
|
|
if (strncmp(buf, "Features\t:", 10) == 0 &&
|
|
strstr(buf + 10, "thumb")) {
|
|
fclose(fp);
|
|
return 0;
|
|
}
|
|
}
|
|
fclose(fp);
|
|
#elif defined(__thumb2__)
|
|
return 0;
|
|
#endif
|
|
return 1;
|
|
}
|
|
]])],[ac_cv_test_arm_arm=yes],[],[ac_cv_test_arm_arm=no])
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
#include <stdio.h>
|
|
int main(void) {
|
|
#if defined(__linux__)
|
|
FILE *fp;
|
|
char buf[128];
|
|
# if !defined(__ARM_PCS_VFP)
|
|
if ((fp = fopen("/proc/cpuinfo", "r")) == NULL)
|
|
return 1;
|
|
while (fgets(buf, sizeof(buf), fp)) {
|
|
if (strncmp(buf, "Features\t:", 10) == 0 &&
|
|
strstr(buf + 10, "vfp")) {
|
|
fclose(fp);
|
|
return 0;
|
|
}
|
|
}
|
|
fclose(fp);
|
|
# endif
|
|
#endif
|
|
return 1;
|
|
}
|
|
]])],[ac_cv_test_arm_swf=yes],[],[ac_cv_test_arm_swf=no])
|
|
elif test $cpu = ppc; then
|
|
if test "x$DISASSEMBLER" != "xno"; then
|
|
save_LIBS="$LIBS"
|
|
LIBS="$LIBS $SHLIB"
|
|
AC_CHECK_FUNCS(disassemble_init_for_target disassemble_init_powerpc)
|
|
LIBS="$save_LIBS"
|
|
fi
|
|
fi
|
|
CFLAGS=$save_CFLAGS
|
|
|
|
AM_CONDITIONAL(test_x86_x87, [test x$ac_cv_test_x86_x87 = xyes])
|
|
AM_CONDITIONAL(test_arm_arm, [test x$ac_cv_test_arm_arm = xyes])
|
|
AM_CONDITIONAL(test_arm_swf, [test x$ac_cv_test_arm_swf = xyes])
|
|
|
|
AM_CONDITIONAL(test_nodata, [test cpu-$cpu = cpu-mips -o cpu-$cpu = cpu-ppc -o cpu-$cpu = cpu-sparc -o cpu-$cpu = cpu-x86 -o cpu-$cpu = cpu-ia64 -o cpu-$cpu = cpu-hppa -o cpu-$cpu = cpu-s390 -o cpu-$cpu = cpu-alpha])
|
|
|
|
if test $cpu = arm; then
|
|
AC_CHECK_LIB(m, sqrtf, ,
|
|
[AC_MSG_ERROR([sqrtf required but not available])])
|
|
fi
|
|
AC_SUBST(cpu)
|
|
|
|
AC_SUBST([LIGHTNING_CFLAGS])
|
|
|
|
AC_OUTPUT([Makefile
|
|
lightning.pc
|
|
include/Makefile
|
|
include/lightning/Makefile
|
|
lib/Makefile])
|