nengel@1: # -*- Autoconf -*- nengel@1: # Process this file with autoconf to produce a configure script. nengel@1: nengel@1: AC_PREREQ(2.61) nengel@1: AC_INIT([h264_mt], [0.1], [cchi@cs.tu-berlin.de]) nengel@1: #AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) nengel@1: AM_INIT_AUTOMAKE([-Wall -Werror foreign]) nengel@1: nengel@1: AC_CONFIG_SRCDIR([h264dec.c]) nengel@1: AC_PROG_RANLIB nengel@1: nengel@1: # Checks for programs. nengel@1: AC_GNU_SOURCE nengel@1: AC_PROG_CC nengel@1: AM_CONDITIONAL([HAVE_OMPSS], [test $CC = "sscc"]) nengel@1: AC_DEFINE([OMPSS], [0], [Define to 1 on when using the OmpSs compiler sscc]) nengel@1: if test $CC = "sscc";then nengel@1: AC_DEFINE([OMPSS], [1], [Define to 1 on when using the OmpSs compiler sscc]) nengel@1: fi nengel@1: nengel@1: #if [ test -n "${CFLAGS+x}" ] ; then nengel@1: # CFLAGS="-O3 -g" nengel@1: #fi nengel@1: nengel@1: # Checks for libraries. nengel@1: AC_CHECK_LIB([pthread], [pthread_yield]) nengel@1: AC_CHECK_LIB([spe2], [spe_image_open]) nengel@1: AC_CHECK_LIB([sync], [mutex_init]) nengel@1: AC_CHECK_LIB([rt], [clock_gettime]) nengel@1: nengel@1: AC_ARG_ENABLE([sdl2], AS_HELP_STRING([--enable-sdl2], [Enable SDL2 playback])) nengel@1: if test "$enable_sdl2" = "yes"; then nengel@1: AC_CHECK_LIB([SDL2], [SDL_CreateWindow], [], [echo "Error! libSDL2 required for playback." exit -1]) nengel@1: fi nengel@1: nengel@1: if test "$enable_sdl2" = "yes"; then nengel@1: AC_CHECK_LIB([X11], [XInitThreads], [], [echo "Error! libX11 currently required for SDL2 workaround." exit -1]) nengel@1: fi nengel@1: nengel@1: AC_ARG_ENABLE([sdl_ttf], AS_HELP_STRING([--enable-sdl_ttf], [Enable SDL_ttf for overlaying fonts])) nengel@1: if test "$enable_sdl_ttf" = "yes"; then nengel@1: AC_CHECK_LIB([SDL_ttf], [TTF_Init], [], [echo "Error! libSDL_ttf required for font rendering." exit -1]) nengel@1: fi nengel@1: nengel@1: nengel@1: nengel@1: AC_ARG_ENABLE([opencl], AS_HELP_STRING([--enable-opencl], [Enable GPU decoder])) nengel@1: if test "$enable_opencl" = "yes"; then nengel@1: AC_CHECK_LIB([OpenCL], [clGetPlatformIDs], [], [echo "Error! libOpenCL required for GPU functionality." exit -1]) nengel@1: fi nengel@1: AM_CONDITIONAL([HAVE_OPENCL], [test "$enable_opencl" = "yes"]) nengel@1: nengel@1: nengel@1: # Checks for header files. nengel@1: AC_HEADER_STDC nengel@1: AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h]) nengel@1: nengel@1: # Checks for typedefs, structures, and compiler characteristics. nengel@1: AC_C_CONST nengel@1: AC_TYPE_UINT32_T nengel@1: AC_TYPE_UINT64_T nengel@1: AC_TYPE_UINT8_T nengel@1: AC_C_VOLATILE nengel@1: AC_C_BIGENDIAN nengel@1: nengel@1: # Checks for library functions. nengel@1: AC_CHECK_FUNCS([malloc realloc memalign posix_memalign memmove memset]) nengel@1: nengel@1: AC_CANONICAL_HOST nengel@1: AC_CANONICAL_BUILD nengel@1: nengel@1: AC_MSG_CHECKING([for architecture]) nengel@1: nengel@1: AC_DEFINE([ARCH_ARM], [0], [Define to 1 on arm architectures.]) nengel@1: AC_DEFINE([ARCH_X86_32], [0], [Define to 1 on x86 architectures.]) nengel@1: AC_DEFINE([ARCH_X86_64], [0], [Define to 1 on x86_64 architectures.]) nengel@1: AC_DEFINE([ARCH_X86], [ARCH_X86_32 ||ARCH_X86_64], [True on x86]) nengel@1: AC_DEFINE([ARCH_PPC], [0], [Define to 1 on ppc architectures.]) nengel@1: AC_DEFINE([ARCH_PPC64], [0], [Define to 1 on ppc64 architectures.]) nengel@1: AC_DEFINE([ARCH_CELL], [0], [Define to 1 on cell architectures.]) nengel@1: nengel@1: if test "$enable_optimizations" != "no"; then nengel@1: case $build_cpu in nengel@1: arm ) nengel@1: arch="arm" nengel@1: AC_MSG_RESULT([arm]) nengel@1: AC_DEFINE([ARCH_ARM], [1], [Define to 1 on arm architectures.]) nengel@1: ;; nengel@1: i686 ) nengel@1: arch="x86" nengel@1: AC_MSG_RESULT([x86]) nengel@1: AC_DEFINE([ARCH_X86_32], [1], [Define to 1 on x86 architectures.]) nengel@1: ;; nengel@1: x86_64 ) nengel@1: arch="x86_64" nengel@1: AC_MSG_RESULT([x86_64]) nengel@1: AC_DEFINE([ARCH_X86_64], [1], [Define to 1 on x86 architectures.]) nengel@1: ;; nengel@1: powerpc64 ) nengel@1: AC_DEFINE([HAVE_BIGENDIAN], [1], [Define to 1 on bigendian architectures.]) nengel@1: if grep -E ^cpu /proc/cpuinfo | grep -q Cell ; then nengel@1: arch="cell" nengel@1: AC_MSG_RESULT([cell]) nengel@1: AC_DEFINE([ARCH_CELL], [1], [Define to 1 on cell architectures.]) nengel@1: else nengel@1: arch="powerpc64" nengel@1: AC_MSG_RESULT([ppc64]) nengel@1: AC_DEFINE([ARCH_PPC64], [1], [Define to 1 on ppc64 architectures.]) nengel@1: fi nengel@1: ;; nengel@1: * ) nengel@1: AC_MSG_RESULT([default (little endian).]) nengel@1: ;; nengel@1: esac nengel@1: fi nengel@1: nengel@1: AM_CONDITIONAL([HAVE_CELL], [test $arch = "cell"]) nengel@1: nengel@1: # Additional options nengel@1: AC_ARG_ENABLE([optimizations], AS_HELP_STRING([--disable-optimizations], [Disable all architecture specific optimizations. Compiler optimizations are not disabled.])) nengel@1: nengel@1: AC_DEFINE([HAVE_SSE], [0], [Define to 1 to enable sse optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX], [0], [Define to 1 to enable mmx optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX2], [0], [Define to 1 to enable mmx2 optimizations.]) nengel@1: AC_DEFINE([HAVE_SSSE3], [0], [Define to 1 to enable ssse3 optimizations.]) nengel@1: AC_DEFINE([HAVE_ALTIVEC], [0], [Define to 1 to enable altivec optimizations.]) nengel@1: AC_DEFINE([HAVE_NEON], [0], [Define to 1 to enable neon optimizations.]) nengel@1: nengel@1: AC_ARG_ENABLE([ssse3], AS_HELP_STRING([--enable-ssse3], [Enable ssse3 optimizations])) nengel@1: if test "$enable_ssse3" = "yes"; then nengel@1: AC_DEFINE([HAVE_SSSE3], [1], [Define to 1 to enable ssse3 optimizations.]) nengel@1: AC_DEFINE([HAVE_SSE], [1], [Define to 1 to enable sse optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX], [1], [Define to 1 to enable mmx optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX2], [1], [Define to 1 to enable mmx2 optimizations.]) nengel@1: ARCH_SUBDIR=x86 nengel@1: fi nengel@1: nengel@1: AC_ARG_ENABLE([sse], AS_HELP_STRING([--enable-sse], [Enable sse optimizations])) nengel@1: if test "$enable_sse" = "yes"; then nengel@1: AC_DEFINE([HAVE_SSE], [1], [Define to 1 to enable sse optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX], [1], [Define to 1 to enable mmx optimizations.]) nengel@1: AC_DEFINE([HAVE_MMX2], [1], [Define to 1 to enable mmx2 optimizations.]) nengel@1: ARCH_SUBDIR=x86 nengel@1: fi nengel@1: nengel@1: AC_ARG_ENABLE([altivec], AS_HELP_STRING([--enable-altivec], [Enable altivec optimizations])) nengel@1: if test "$enable_altivec" = "yes"; then nengel@1: AC_DEFINE([HAVE_ALTIVEC], [1], [Define to 1 to enable altivec optimizations.]) nengel@1: ARCH_SUBDIR="$ARCH_SUBDIR ppc" nengel@1: TMPCLAGS=$CFLAGS nengel@1: CFLAGS="$CFLAGS -maltivec" nengel@1: AC_CHECK_HEADERS(altivec.h) nengel@1: CFLAGS=$TMPCLAGS nengel@1: fi nengel@1: nengel@1: AC_ARG_ENABLE([neon], AS_HELP_STRING([--enable-neon], [Enable neon optimizations])) nengel@1: if test "$enable_neon" = "yes"; then nengel@1: AC_DEFINE([HAVE_NEON], [1], [Define to 1 to enable neon optimizations.]) nengel@1: ARCH_SUBDIR=arm nengel@1: fi nengel@1: nengel@1: AM_CONDITIONAL([HAVE_ARCH_SUBDIR], [test "$ARCH_SUBDIR" != ""]) nengel@1: AC_SUBST([ARCH_SUBDIR]) nengel@1: nengel@1: AC_DEFINE([HAVE_NEON], [0], [Define to 1 to enable neon optimizations.]) nengel@1: nengel@1: AC_CONFIG_HEADER([config.h]) nengel@1: nengel@1: AC_CONFIG_FILES([Makefile libavutil/Makefile libavcodec/Makefile libavcodec/x86/Makefile libavcodec/ppc/Makefile libavcodec/cell/Makefile]) nengel@1: nengel@1: AC_OUTPUT