| rev |
line source |
|
nengel@1
|
1 # -*- Autoconf -*-
|
|
nengel@1
|
2 # Process this file with autoconf to produce a configure script.
|
|
nengel@1
|
3
|
|
nengel@1
|
4 AC_PREREQ(2.61)
|
|
nengel@1
|
5 AC_INIT([h264_mt], [0.1], [cchi@cs.tu-berlin.de])
|
|
nengel@1
|
6 #AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
|
|
nengel@1
|
7 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
|
|
nengel@1
|
8
|
|
nengel@1
|
9 AC_CONFIG_SRCDIR([h264dec.c])
|
|
nengel@1
|
10 AC_PROG_RANLIB
|
|
nengel@1
|
11
|
|
nengel@1
|
12 # Checks for programs.
|
|
nengel@1
|
13 AC_GNU_SOURCE
|
|
nengel@1
|
14 AC_PROG_CC
|
|
nengel@1
|
15 AM_CONDITIONAL([HAVE_OMPSS], [test $CC = "sscc"])
|
|
nengel@1
|
16 AC_DEFINE([OMPSS], [0], [Define to 1 on when using the OmpSs compiler sscc])
|
|
nengel@1
|
17 if test $CC = "sscc";then
|
|
nengel@1
|
18 AC_DEFINE([OMPSS], [1], [Define to 1 on when using the OmpSs compiler sscc])
|
|
nengel@1
|
19 fi
|
|
nengel@1
|
20
|
|
nengel@1
|
21 #if [ test -n "${CFLAGS+x}" ] ; then
|
|
nengel@1
|
22 # CFLAGS="-O3 -g"
|
|
nengel@1
|
23 #fi
|
|
nengel@1
|
24
|
|
nengel@1
|
25 # Checks for libraries.
|
|
nengel@1
|
26 AC_CHECK_LIB([pthread], [pthread_yield])
|
|
nengel@1
|
27 AC_CHECK_LIB([spe2], [spe_image_open])
|
|
nengel@1
|
28 AC_CHECK_LIB([sync], [mutex_init])
|
|
nengel@1
|
29 AC_CHECK_LIB([rt], [clock_gettime])
|
|
nengel@1
|
30
|
|
nengel@1
|
31 AC_ARG_ENABLE([sdl2], AS_HELP_STRING([--enable-sdl2], [Enable SDL2 playback]))
|
|
nengel@1
|
32 if test "$enable_sdl2" = "yes"; then
|
|
nengel@1
|
33 AC_CHECK_LIB([SDL2], [SDL_CreateWindow], [], [echo "Error! libSDL2 required for playback." exit -1])
|
|
nengel@1
|
34 fi
|
|
nengel@1
|
35
|
|
nengel@1
|
36 if test "$enable_sdl2" = "yes"; then
|
|
nengel@1
|
37 AC_CHECK_LIB([X11], [XInitThreads], [], [echo "Error! libX11 currently required for SDL2 workaround." exit -1])
|
|
nengel@1
|
38 fi
|
|
nengel@1
|
39
|
|
nengel@1
|
40 AC_ARG_ENABLE([sdl_ttf], AS_HELP_STRING([--enable-sdl_ttf], [Enable SDL_ttf for overlaying fonts]))
|
|
nengel@1
|
41 if test "$enable_sdl_ttf" = "yes"; then
|
|
nengel@1
|
42 AC_CHECK_LIB([SDL_ttf], [TTF_Init], [], [echo "Error! libSDL_ttf required for font rendering." exit -1])
|
|
nengel@1
|
43 fi
|
|
nengel@1
|
44
|
|
nengel@1
|
45
|
|
nengel@1
|
46
|
|
nengel@1
|
47 AC_ARG_ENABLE([opencl], AS_HELP_STRING([--enable-opencl], [Enable GPU decoder]))
|
|
nengel@1
|
48 if test "$enable_opencl" = "yes"; then
|
|
nengel@1
|
49 AC_CHECK_LIB([OpenCL], [clGetPlatformIDs], [], [echo "Error! libOpenCL required for GPU functionality." exit -1])
|
|
nengel@1
|
50 fi
|
|
nengel@1
|
51 AM_CONDITIONAL([HAVE_OPENCL], [test "$enable_opencl" = "yes"])
|
|
nengel@1
|
52
|
|
nengel@1
|
53
|
|
nengel@1
|
54 # Checks for header files.
|
|
nengel@1
|
55 AC_HEADER_STDC
|
|
nengel@1
|
56 AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h])
|
|
nengel@1
|
57
|
|
nengel@1
|
58 # Checks for typedefs, structures, and compiler characteristics.
|
|
nengel@1
|
59 AC_C_CONST
|
|
nengel@1
|
60 AC_TYPE_UINT32_T
|
|
nengel@1
|
61 AC_TYPE_UINT64_T
|
|
nengel@1
|
62 AC_TYPE_UINT8_T
|
|
nengel@1
|
63 AC_C_VOLATILE
|
|
nengel@1
|
64 AC_C_BIGENDIAN
|
|
nengel@1
|
65
|
|
nengel@1
|
66 # Checks for library functions.
|
|
nengel@1
|
67 AC_CHECK_FUNCS([malloc realloc memalign posix_memalign memmove memset])
|
|
nengel@1
|
68
|
|
nengel@1
|
69 AC_CANONICAL_HOST
|
|
nengel@1
|
70 AC_CANONICAL_BUILD
|
|
nengel@1
|
71
|
|
nengel@1
|
72 AC_MSG_CHECKING([for architecture])
|
|
nengel@1
|
73
|
|
nengel@1
|
74 AC_DEFINE([ARCH_ARM], [0], [Define to 1 on arm architectures.])
|
|
nengel@1
|
75 AC_DEFINE([ARCH_X86_32], [0], [Define to 1 on x86 architectures.])
|
|
nengel@1
|
76 AC_DEFINE([ARCH_X86_64], [0], [Define to 1 on x86_64 architectures.])
|
|
nengel@1
|
77 AC_DEFINE([ARCH_X86], [ARCH_X86_32 ||ARCH_X86_64], [True on x86])
|
|
nengel@1
|
78 AC_DEFINE([ARCH_PPC], [0], [Define to 1 on ppc architectures.])
|
|
nengel@1
|
79 AC_DEFINE([ARCH_PPC64], [0], [Define to 1 on ppc64 architectures.])
|
|
nengel@1
|
80 AC_DEFINE([ARCH_CELL], [0], [Define to 1 on cell architectures.])
|
|
nengel@1
|
81
|
|
nengel@1
|
82 if test "$enable_optimizations" != "no"; then
|
|
nengel@1
|
83 case $build_cpu in
|
|
nengel@1
|
84 arm )
|
|
nengel@1
|
85 arch="arm"
|
|
nengel@1
|
86 AC_MSG_RESULT([arm])
|
|
nengel@1
|
87 AC_DEFINE([ARCH_ARM], [1], [Define to 1 on arm architectures.])
|
|
nengel@1
|
88 ;;
|
|
nengel@1
|
89 i686 )
|
|
nengel@1
|
90 arch="x86"
|
|
nengel@1
|
91 AC_MSG_RESULT([x86])
|
|
nengel@1
|
92 AC_DEFINE([ARCH_X86_32], [1], [Define to 1 on x86 architectures.])
|
|
nengel@1
|
93 ;;
|
|
nengel@1
|
94 x86_64 )
|
|
nengel@1
|
95 arch="x86_64"
|
|
nengel@1
|
96 AC_MSG_RESULT([x86_64])
|
|
nengel@1
|
97 AC_DEFINE([ARCH_X86_64], [1], [Define to 1 on x86 architectures.])
|
|
nengel@1
|
98 ;;
|
|
nengel@1
|
99 powerpc64 )
|
|
nengel@1
|
100 AC_DEFINE([HAVE_BIGENDIAN], [1], [Define to 1 on bigendian architectures.])
|
|
nengel@1
|
101 if grep -E ^cpu /proc/cpuinfo | grep -q Cell ; then
|
|
nengel@1
|
102 arch="cell"
|
|
nengel@1
|
103 AC_MSG_RESULT([cell])
|
|
nengel@1
|
104 AC_DEFINE([ARCH_CELL], [1], [Define to 1 on cell architectures.])
|
|
nengel@1
|
105 else
|
|
nengel@1
|
106 arch="powerpc64"
|
|
nengel@1
|
107 AC_MSG_RESULT([ppc64])
|
|
nengel@1
|
108 AC_DEFINE([ARCH_PPC64], [1], [Define to 1 on ppc64 architectures.])
|
|
nengel@1
|
109 fi
|
|
nengel@1
|
110 ;;
|
|
nengel@1
|
111 * )
|
|
nengel@1
|
112 AC_MSG_RESULT([default (little endian).])
|
|
nengel@1
|
113 ;;
|
|
nengel@1
|
114 esac
|
|
nengel@1
|
115 fi
|
|
nengel@1
|
116
|
|
nengel@1
|
117 AM_CONDITIONAL([HAVE_CELL], [test $arch = "cell"])
|
|
nengel@1
|
118
|
|
nengel@1
|
119 # Additional options
|
|
nengel@1
|
120 AC_ARG_ENABLE([optimizations], AS_HELP_STRING([--disable-optimizations], [Disable all architecture specific optimizations. Compiler optimizations are not disabled.]))
|
|
nengel@1
|
121
|
|
nengel@1
|
122 AC_DEFINE([HAVE_SSE], [0], [Define to 1 to enable sse optimizations.])
|
|
nengel@1
|
123 AC_DEFINE([HAVE_MMX], [0], [Define to 1 to enable mmx optimizations.])
|
|
nengel@1
|
124 AC_DEFINE([HAVE_MMX2], [0], [Define to 1 to enable mmx2 optimizations.])
|
|
nengel@1
|
125 AC_DEFINE([HAVE_SSSE3], [0], [Define to 1 to enable ssse3 optimizations.])
|
|
nengel@1
|
126 AC_DEFINE([HAVE_ALTIVEC], [0], [Define to 1 to enable altivec optimizations.])
|
|
nengel@1
|
127 AC_DEFINE([HAVE_NEON], [0], [Define to 1 to enable neon optimizations.])
|
|
nengel@1
|
128
|
|
nengel@1
|
129 AC_ARG_ENABLE([ssse3], AS_HELP_STRING([--enable-ssse3], [Enable ssse3 optimizations]))
|
|
nengel@1
|
130 if test "$enable_ssse3" = "yes"; then
|
|
nengel@1
|
131 AC_DEFINE([HAVE_SSSE3], [1], [Define to 1 to enable ssse3 optimizations.])
|
|
nengel@1
|
132 AC_DEFINE([HAVE_SSE], [1], [Define to 1 to enable sse optimizations.])
|
|
nengel@1
|
133 AC_DEFINE([HAVE_MMX], [1], [Define to 1 to enable mmx optimizations.])
|
|
nengel@1
|
134 AC_DEFINE([HAVE_MMX2], [1], [Define to 1 to enable mmx2 optimizations.])
|
|
nengel@1
|
135 ARCH_SUBDIR=x86
|
|
nengel@1
|
136 fi
|
|
nengel@1
|
137
|
|
nengel@1
|
138 AC_ARG_ENABLE([sse], AS_HELP_STRING([--enable-sse], [Enable sse optimizations]))
|
|
nengel@1
|
139 if test "$enable_sse" = "yes"; then
|
|
nengel@1
|
140 AC_DEFINE([HAVE_SSE], [1], [Define to 1 to enable sse optimizations.])
|
|
nengel@1
|
141 AC_DEFINE([HAVE_MMX], [1], [Define to 1 to enable mmx optimizations.])
|
|
nengel@1
|
142 AC_DEFINE([HAVE_MMX2], [1], [Define to 1 to enable mmx2 optimizations.])
|
|
nengel@1
|
143 ARCH_SUBDIR=x86
|
|
nengel@1
|
144 fi
|
|
nengel@1
|
145
|
|
nengel@1
|
146 AC_ARG_ENABLE([altivec], AS_HELP_STRING([--enable-altivec], [Enable altivec optimizations]))
|
|
nengel@1
|
147 if test "$enable_altivec" = "yes"; then
|
|
nengel@1
|
148 AC_DEFINE([HAVE_ALTIVEC], [1], [Define to 1 to enable altivec optimizations.])
|
|
nengel@1
|
149 ARCH_SUBDIR="$ARCH_SUBDIR ppc"
|
|
nengel@1
|
150 TMPCLAGS=$CFLAGS
|
|
nengel@1
|
151 CFLAGS="$CFLAGS -maltivec"
|
|
nengel@1
|
152 AC_CHECK_HEADERS(altivec.h)
|
|
nengel@1
|
153 CFLAGS=$TMPCLAGS
|
|
nengel@1
|
154 fi
|
|
nengel@1
|
155
|
|
nengel@1
|
156 AC_ARG_ENABLE([neon], AS_HELP_STRING([--enable-neon], [Enable neon optimizations]))
|
|
nengel@1
|
157 if test "$enable_neon" = "yes"; then
|
|
nengel@1
|
158 AC_DEFINE([HAVE_NEON], [1], [Define to 1 to enable neon optimizations.])
|
|
nengel@1
|
159 ARCH_SUBDIR=arm
|
|
nengel@1
|
160 fi
|
|
nengel@1
|
161
|
|
nengel@1
|
162 AM_CONDITIONAL([HAVE_ARCH_SUBDIR], [test "$ARCH_SUBDIR" != ""])
|
|
nengel@1
|
163 AC_SUBST([ARCH_SUBDIR])
|
|
nengel@1
|
164
|
|
nengel@1
|
165 AC_DEFINE([HAVE_NEON], [0], [Define to 1 to enable neon optimizations.])
|
|
nengel@1
|
166
|
|
nengel@1
|
167 AC_CONFIG_HEADER([config.h])
|
|
nengel@1
|
168
|
|
nengel@1
|
169 AC_CONFIG_FILES([Makefile libavutil/Makefile libavcodec/Makefile libavcodec/x86/Makefile libavcodec/ppc/Makefile libavcodec/cell/Makefile])
|
|
nengel@1
|
170
|
|
nengel@1
|
171 AC_OUTPUT
|