You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
3.9 KiB

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.65])
AC_INIT(ffts, 0.7, amb@anthonix.com)
AM_INIT_AUTOMAKE(ffts, 0.7)
AC_CONFIG_MACRO_DIR([m4])
# AC_CONFIG_SRCDIR([include/common.h])
AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_HOST
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
#AX_COMPILER_VENDOR
LT_INIT([disable-shared])
AM_PROG_AS
#CXX="clang++"
#CXXFLAGS="$CXXFLAGS -stdlib=libc++"
#SFFT_AR="/usr/bin/ar"
#SFFT_CFLAGS="$CFLAGS"
#SFFT_CC="$CC"
AC_ARG_ENABLE(dynamic-code, [AC_HELP_STRING([--enable-dynamic-code],[dynamically generate code])], sfft_dynamic=$enableval, sfft_dynamic=yes)
if test "$sfft_dynamic" = "no"; then
AC_DEFINE(DYNAMIC_DISABLED,1,[Define to disable dynamic code generation.])
fi
AM_CONDITIONAL(DYNAMIC_DISABLED, test "$sfft_dynamic" = "no")
AC_ARG_ENABLE(single, [AC_HELP_STRING([--enable-single],[compile single-precision library])], sfft_single=$enableval, sfft_single=no)
if test "$sfft_single" = "yes"; then
AC_DEFINE(FFTS_PREC_SINGLE,1,[Define to FFT in single precision.])
fi
if test "$sfft_single" = "no"; then
AC_DEFINE(FFTS_PREC_SINGLE,0,[Define to FFT in single precision.])
fi
AC_ARG_ENABLE(sse, [AC_HELP_STRING([--enable-sse],[enable SSE extensions])], have_sse=$enableval, have_sse=no)
if test "$have_sse" = "yes"; then
SIMD=sse
AC_DEFINE(HAVE_SSE,1,[Define to FFT with SSE.])
fi
AM_CONDITIONAL(HAVE_SSE, test "$have_sse" = "yes")
AC_ARG_ENABLE(neon, [AC_HELP_STRING([--enable-neon],[enable NEON extensions])], have_neon=$enableval, have_neon=no)
if test "$have_neon" = "yes"; then
AC_DEFINE(HAVE_NEON,1,[Define to FFT with ARM NEON.])
fi
AM_CONDITIONAL(HAVE_NEON, test "$have_neon" = "yes")
AC_ARG_ENABLE(vfp, [AC_HELP_STRING([--enable-vfp],[enable VFP extensions])], have_vfp=$enableval, have_vfp=no)
if test "$have_vfp" = "yes"; then
AC_DEFINE(HAVE_VFP,1,[Define to FFT with ARM VFP.])
fi
AM_CONDITIONAL(HAVE_VFP, test "$have_vfp" = "yes")
AC_ARG_WITH(float-abi, [AS_HELP_STRING([--with-float-abi=ABI],[set float abi for arm, hard or softfp (default is softfp)])],
float_abi=$withval, float_abi=softfp)
AC_ARG_ENABLE(jni, [AC_HELP_STRING([--enable-jni],[enable JNI binding])], have_jni=$enableval, have_jni=no)
if test "$have_jni" = "yes"; then
# Java stuff
AX_JAVA_OPTIONS
AC_CHECK_JAVA_HOME
AC_CHECK_CLASSPATH
AC_PROG_JAVAC
# blah this whinges about something
#AC_PROG_JAVAH
AC_PROG_JAR
AX_JNI_INCLUDE_DIR
for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS
do
JNI_CPPFLAGS="$JNI_CPPFLAGS -I$JNI_INCLUDE_DIR"
done
AC_SUBST(JNI_CPPFLAGS, [$JNI_CPPFLAGS])
AC_DEFINE(ENABLE_JNI,1,[JNI being built.])
fi
AM_CONDITIONAL(ENABLE_JNI, test "$have_jni" = "yes")
fpu=""
AS_IF([test "$have_vfp" = "yes"],[fpu="-mfpu=vfp"],
[test "$have_neon" = "yes"],[fpu="-mfpu=neon"],
[])
AC_MSG_NOTICE([host is "${host}"])
case "${host}" in
arm* )
CFLAGS="$CFLAGS -mfloat-abi=${float_abi} ${fpu} -std=c99"
CCASFLAGS="$CCASFLAGS -mfloat-abi=${float_abi} ${fpu}"
;;
*)
;;
esac
#if test "$ord_sr" = "no"; then
# AC_DEFINE(SFFT_ORD_SR,0,[Define to enable ordinary split radix.])
#fi
# Checks for libraries.
AC_CHECK_LIB([m], [cos])
AC_CHECK_DECLS([posix_memalign,
memalign],,,
[#define _XOPEN_SOURCE 600
#include <stdlib.h>
#include <malloc.h>])
# Checks for header files.
AC_CHECK_HEADERS([malloc.h stddef.h stdint.h stdlib.h string.h sys/mman.h sys/socket.h sys/time.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_INT32_T
AC_C_RESTRICT
AC_TYPE_SIZE_T
AC_TYPE_UINT64_T
AC_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_LIBTOOL
# Checks for library functions.
#AC_FUNC_MALLOC
AC_CHECK_FUNCS([gettimeofday pow])
AC_CONFIG_FILES([Makefile
src/Makefile
tests/Makefile
ffts.pc
java/Makefile
])
AC_OUTPUT