diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..5f1ff70 --- /dev/null +++ b/configure.ac @@ -0,0 +1,137 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ([2.68]) +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([stdint.h stdlib.h string.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 |