configure.in 52.2 KB
Newer Older
Sam Hocevar's avatar
   
Sam Hocevar committed
1
dnl Autoconf settings for vlc
Sam Hocevar's avatar
   
Sam Hocevar committed
2
AC_INIT(include/main.h)
3
AC_CONFIG_HEADER(include/defs.h)
4
AC_CANONICAL_SYSTEM
5

Sam Hocevar's avatar
   
Sam Hocevar committed
6
PACKAGE="vlc"
7
VERSION="0.4.0"
Sam Hocevar's avatar
   
Sam Hocevar committed
8
CODENAME=Ourumov
9

Sam Hocevar's avatar
   
Sam Hocevar committed
10
dnl Save CFLAGS and LDFLAGS
Sam Hocevar's avatar
   
Sam Hocevar committed
11
save_CFLAGS="${CFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
12
save_CPPFLAGS="${CPPFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
13
save_LDFLAGS="${LDFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
14

15
16
dnl Check for tools
AC_PROG_MAKE_SET
Sam Hocevar's avatar
   
Sam Hocevar committed
17
18
AC_PROG_CC
AC_PROG_CPP
19

gbazin's avatar
   
gbazin committed
20
21
dnl Find the right ranlib, even when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, :)
Sam Hocevar's avatar
   
Sam Hocevar committed
22
AC_CHECK_TOOL(STRIP, strip, :)
gbazin's avatar
   
gbazin committed
23

Christophe Massiot's avatar
Christophe Massiot committed
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
dnl Check for GNU make
AC_PATH_PROG(GMAKE, gmake, no)
if test "x$GMAKE" = "xno"; then
  AC_CACHE_CHECK([whether GNU make is installed],
      [ac_cv_gmake],
      [if make --version | grep -q -i gnu; then
         ac_cv_gmake="yes"
       else
         echo "This software needs you to install GNU make to compile properly."
         echo "You can get it from http://www.gnu.org/."
         exit
       fi])
  VLC_MAKE="make"
else
  VLC_MAKE="gmake"
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
41
dnl Gettext stuff
42
ALL_LINGUAS="de en_GB fr ja no ru nl pl"
Sam Hocevar's avatar
Sam Hocevar committed
43

Sam Hocevar's avatar
   
Sam Hocevar committed
44
AC_DEFINE_UNQUOTED(VLC_PACKAGE, "$PACKAGE", [Package name])
Sam Hocevar's avatar
   
Sam Hocevar committed
45
AC_DEFINE_UNQUOTED(VLC_VERSION, "$VERSION", [Package version])
Sam Hocevar's avatar
   
Sam Hocevar committed
46
47
AM_GNU_GETTEXT

48
49
50
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL

gbazin's avatar
   
gbazin committed
51
52
53
54
55
56
57
58
59
60
61
62
dnl
dnl  Check the operating system
dnl
case x"${target_os}" in
  x)
    SYS=unknown
    ;;
  xlinux*)
    SYS=linux
    ;;
  xbsdi*)
    SYS=bsdi
Sam Hocevar's avatar
   
Sam Hocevar committed
63
64
65
66
67
68
69
    save_CFLAGS="${save_CFLAGS} -pthread"
    dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
    vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
    ;;
  x*bsd*)
    SYS="${target_os}"
    save_CFLAGS="${save_CFLAGS} -pthread"
gbazin's avatar
   
gbazin committed
70
71
72
    ;;
  xdarwin*)
    SYS=darwin
Sam Hocevar's avatar
   
Sam Hocevar committed
73
    save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"
gbazin's avatar
   
gbazin committed
74
75
76
77
    ;;
  x*mingw32*)
    SYS=mingw32
    AC_CHECK_TOOL(WINDRES, windres, :)
Sam Hocevar's avatar
   
Sam Hocevar committed
78
    save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"
Sam Hocevar's avatar
   
Sam Hocevar committed
79
    vlc_LDFLAGS="${vlc_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
Sam Hocevar's avatar
   
Sam Hocevar committed
80
81
    vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
gbazin's avatar
   
gbazin committed
82
    ipv6_LDFLAGS="${ipv6_LDFLAGS} -lws2_32"
83
    http_LDFLAGS="${http_LDFLAGS} -lws2_32"
Sam Hocevar's avatar
   
Sam Hocevar committed
84
    rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
gbazin's avatar
   
gbazin committed
85
86
87
    ;;
  x*nto*)
    SYS=nto
Sam Hocevar's avatar
   
Sam Hocevar committed
88
89
    x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
    xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
gbazin's avatar
   
gbazin committed
90
91
92
    ;;
  xbeos)
    SYS=beos
Sam Hocevar's avatar
   
Sam Hocevar committed
93
    save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"
Sam Hocevar's avatar
   
Sam Hocevar committed
94
95
96
97
    vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
    plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
    beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker"
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
gbazin's avatar
   
gbazin committed
98
99
    ;;
  x*)
Sam Hocevar's avatar
   
Sam Hocevar committed
100
    SYS="${target_os}"
gbazin's avatar
   
gbazin committed
101
102
103
    ;;
esac

Sam Hocevar's avatar
   
Sam Hocevar committed
104
105
106
107
108
109
110
111
112
dnl Flags for plugin compilation
if test x"${SYS}" = xmingw32
then
  plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
else
  plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
fi

dnl The -DSYS_FOO flag
Sam Hocevar's avatar
   
Sam Hocevar committed
113
save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"
Sam Hocevar's avatar
   
Sam Hocevar committed
114

115
dnl Check for system libs needed
116
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2)
Sam Hocevar's avatar
   
Sam Hocevar committed
117

Sam Hocevar's avatar
   
Sam Hocevar committed
118
AC_CHECK_FUNC(connect,,[
Sam Hocevar's avatar
   
Sam Hocevar committed
119
  AC_CHECK_LIB(socket,connect,
Sam Hocevar's avatar
   
Sam Hocevar committed
120
121
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
    vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
Sam Hocevar's avatar
   
Sam Hocevar committed
122
)])
Sam Hocevar's avatar
   
Sam Hocevar committed
123
AC_CHECK_FUNC(gethostbyname,,[
Sam Hocevar's avatar
   
Sam Hocevar committed
124
  AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl")
Sam Hocevar's avatar
   
Sam Hocevar committed
125
126
])
AC_CHECK_FUNC(gethostbyname,,[
Sam Hocevar's avatar
   
Sam Hocevar committed
127
  AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")
Sam Hocevar's avatar
   
Sam Hocevar committed
128
])
129
130
131
132
133
134
AC_CHECK_FUNCS(nanosleep,,[
  AC_CHECK_LIB(rt,nanosleep,
    [vlc_LDFLAGS="${vlc_LDFLAGS} -lrt"],
    [AC_CHECK_LIB(posix4,nanosleep,
        [vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4"])]
  )
Sam Hocevar's avatar
   
Sam Hocevar committed
135
136
])
AC_CHECK_FUNC(inet_aton,,[
Sam Hocevar's avatar
   
Sam Hocevar committed
137
  AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
138
139
])
AC_CHECK_FUNC(textdomain,,[
Sam Hocevar's avatar
   
Sam Hocevar committed
140
  AC_CHECK_LIB(intl,textdomain,save_LDFLAGS="${save_LDFLAGS} -lintl")
Sam Hocevar's avatar
   
Sam Hocevar committed
141
])
Sam Hocevar's avatar
   
Sam Hocevar committed
142

Sam Hocevar's avatar
   
Sam Hocevar committed
143
dnl Check for getopt
Sam Hocevar's avatar
   
Sam Hocevar committed
144
NEED_GETOPT=0
Sam Hocevar's avatar
   
Sam Hocevar committed
145
146
147
AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
[ # FreeBSD has a gnugetopt library for this:
  AC_CHECK_LIB([gnugetopt],[getopt_long],
Sam Hocevar's avatar
   
Sam Hocevar committed
148
    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
Sam Hocevar's avatar
   
Sam Hocevar committed
149
    [NEED_GETOPT=1])])
Sam Hocevar's avatar
   
Sam Hocevar committed
150

151
AC_TYPE_SIGNAL
Sam Hocevar's avatar
   
Sam Hocevar committed
152
AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
Sam Hocevar's avatar
   
Sam Hocevar committed
153
AC_CHECK_LIB(m,cos,
Sam Hocevar's avatar
   
Sam Hocevar committed
154
155
  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
  filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
Sam Hocevar's avatar
   
Sam Hocevar committed
156
AC_CHECK_LIB(m,pow,
Sam Hocevar's avatar
   
Sam Hocevar committed
157
158
159
160
  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
  imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
  imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
  chroma_i420_rgb_LDFLAGS="${chroma_i420_rgb_LDFLAGS} -lm"
Sam Hocevar's avatar
   
Sam Hocevar committed
161
)
Sam Hocevar's avatar
   
Sam Hocevar committed
162

Sam Hocevar's avatar
   
Sam Hocevar committed
163
dnl Check for pthreads - borrowed from XMMS
Sam Hocevar's avatar
   
Sam Hocevar committed
164
165
166
167
168
169
170
171
172
173
174
175
176
177
THREAD_LIB=error
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(pthread,pthread_attr_init,THREAD_LIB="-lpthread")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(pthreads,pthread_attr_init,THREAD_LIB="-lpthreads")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(c_r,pthread_attr_init,THREAD_LIB="-lc_r")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_FUNC(pthread_attr_init)
  THREAD_LIB=""
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
178
179
180

dnl Check for cthreads under GNU/Hurd for instance
AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
181

Sam Hocevar's avatar
   
Sam Hocevar committed
182
183
184
dnl Check for misc headers
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
  AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
Sam Hocevar's avatar
   
Sam Hocevar committed
185
            Define if <pthread.h> defines pthread_cond_t.)])
Sam Hocevar's avatar
   
Sam Hocevar committed
186
187
AC_EGREP_HEADER(strncasecmp,strings.h,[
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Sam Hocevar's avatar
   
Sam Hocevar committed
188
            Define if <strings.h> defines strncasecmp.)])
Sam Hocevar's avatar
   
Sam Hocevar committed
189

Sam Hocevar's avatar
   
Sam Hocevar committed
190
dnl Check for headers
Sam Hocevar's avatar
   
Sam Hocevar committed
191
AC_CHECK_HEADERS(getopt.h strings.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
192
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
193
194
AC_CHECK_HEADERS(dlfcn.h image.h)
AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
195
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
196
AC_CHECK_HEADERS(linux/version.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
197

Sam Hocevar's avatar
   
Sam Hocevar committed
198
199
AC_HEADER_TIME

200
dnl Mac OS X and other OSes don't have declaration for nanosleep
201
202
203
204
AC_EGREP_HEADER(nanosleep,time.h,[
  AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
            Define if <time.h> defines nanosleep.)
])
205
206

dnl Make sure we have timespecs
207
208
209
210
AC_EGREP_HEADER(timespec,sys/time.h,[
  AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
            Define if <sys/time.h> defines struct timespec.)
])
211

Sam Hocevar's avatar
   
Sam Hocevar committed
212
213
214
dnl Check for threads library
AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)

Sam Hocevar's avatar
   
Sam Hocevar committed
215
216
217
218
219
220
221
222
223
dnl Check for DPMS
if test x$SYS != xmingw32
then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
224
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Sam Hocevar's avatar
   
Sam Hocevar committed
225
226
227
228
229
230
  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
    ])
  ])
Sam Hocevar's avatar
   
Sam Hocevar committed
231
  CPPFLAGS="$save_CPPFLAGS"
Sam Hocevar's avatar
   
Sam Hocevar committed
232
233
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
234
dnl Check for ntohl, etc.
235
236
237
238
239
240
241
242
243
AC_CACHE_CHECK([for ntohl in sys/param.h],
    [ac_cv_c_ntohl_sys_param_h],
    [CFLAGS="${save_CFLAGS} -Wall -Werror"
     AC_TRY_COMPILE([#include <sys/param.h>],
        [void foo() { int meuh; ntohl(meuh); }],
        ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
if test x"$ac_cv_c_ntohl_sys_param_h" != x"no"; then
    AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
244

Sam Hocevar's avatar
   
Sam Hocevar committed
245
dnl Check for inline function size limit
246
247
248
249
250
251
252
AC_CACHE_CHECK([if \$CC accepts -finline-limit],
    [ac_cv_c_inline_limit],
    [CFLAGS="${save_CFLAGS} -finline-limit-30000"
     AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
if test x"$ac_cv_c_inline_limit" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -finline-limit-30000"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
253

Sam Hocevar's avatar
   
Sam Hocevar committed
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
dnl Check for -W or -w flags
AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
    [ac_cv_c_Wall_Winline],
    [CFLAGS="${save_CFLAGS} -Wall -Winline"
     AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
if test x"$ac_cv_c_Wall_Winline" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -Wall -Winline"
else
    AC_CACHE_CHECK([if \$CC accepts -wall -winline],
        [ac_cv_c_wall_winline],
        [CFLAGS="${save_CFLAGS} -wall -winline"
         AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
    if test x"$ac_cv_c_wall_winline" != x"no"; then
        save_CFLAGS="${save_CFLAGS} -wall -winline"
    fi
fi

dnl Check for -pipe
AC_CACHE_CHECK([if \$CC accepts -pipe],
    [ac_cv_c_pipe],
    [CFLAGS="${save_CFLAGS} -pipe"
     AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
if test x"$ac_cv_c_pipe" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -pipe"
fi

dnl Check for various optimization flags
AC_CACHE_CHECK([if \$CC accepts -O3],
    [ac_cv_c_o3],
    [CFLAGS="${save_CFLAGS} -O3"
     AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
if test x"$ac_cv_c_o3" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
else
    AC_CACHE_CHECK([if \$CC accepts -O2],
        [ac_cv_c_o2],
        [CFLAGS="${save_CFLAGS} -O2"
         AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
    if test x"$ac_cv_c_o2" != x"no"; then
        CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
    else
        AC_CACHE_CHECK([if \$CC accepts -O],
            [ac_cv_c_o],
            [CFLAGS="${save_CFLAGS} -O"
             AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
        if test x"$ac_cv_c_o" != x"no"; then
            CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
        fi
    fi
fi

dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
    [ac_cv_c_fast_math],
    [CFLAGS="${save_CFLAGS} -ffast-math"
     AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
if test x"$ac_cv_c_fast_math" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
fi

dnl Check for -funroll-loops
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
    [ac_cv_c_unroll_loops],
    [CFLAGS="${save_CFLAGS} -funroll-loops"
     AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
if test x"$ac_cv_c_unroll_loops" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
fi

dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
    [ac_cv_c_omit_frame_pointer],
    [CFLAGS="${save_CFLAGS} -fomit-frame-pointer"
     AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
if test x"$ac_cv_c_omit_frame_pointer" != x"no"; then
    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
332
dnl Check for Darwin plugin linking flags
Christophe Massiot's avatar
Christophe Massiot committed
333
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
334
    [ac_cv_ld_darwin],
Christophe Massiot's avatar
Christophe Massiot committed
335
    [CFLAGS="${save_CFLAGS} -bundle -undefined error -lcc_dynamic"
336
337
     AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
if test x"$ac_cv_ld_darwin" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
338
    plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
339
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
340
341

dnl Check for standard plugin linking flags
342
343
344
345
346
AC_CACHE_CHECK([if \$CC accepts -shared],
    [ac_cv_ld_plugins],
    [CFLAGS="${save_CFLAGS} -shared"
     AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
if test x"$ac_cv_ld_plugins" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
347
    plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
Sam Hocevar's avatar
   
Sam Hocevar committed
348
fi
349
        
350
351
352
353
354
355
356
357
358
359
360
361
362
363
dnl Check for variadic macros
AC_CACHE_CHECK([for variadic cpp macros],
    [ac_cv_cpp_variadic_macros],
    [CFLAGS="${save_CFLAGS}"
     AC_TRY_COMPILE(
         [#include <stdio.h>
          #define a(b,c...) printf(b,##c)],
         [a("foo");a("%s","bar");a("%s%s","baz","quux");],
         ac_cv_cpp_variadic_macros=yes,
         ac_cv_cpp_variadic_macros=no)])
if test x"$ac_cv_cpp_variadic_macros" != x"no"; then
    AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
fi

364
365
366
367
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
    [ac_cv_c_attribute_aligned],
    [ac_cv_c_attribute_aligned=0
Sam Hocevar's avatar
   
Sam Hocevar committed
368
        CFLAGS="${save_CFLAGS} -Werror"
369
370
371
372
373
374
375
376
377
378
    for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
        AC_TRY_COMPILE([],
        [static char c __attribute__ ((aligned($ac_cv_c_attr_align_try))) = 0; return c;],
        [ac_cv_c_attribute_aligned=$ac_cv_c_attr_align_try])
    done])
if test x"$ac_cv_c_attribute_aligned" != x"0"; then
    AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
        [$ac_cv_c_attribute_aligned],[Maximum supported data alignment])
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
379
dnl End of the bizarre compilation tests
Sam Hocevar's avatar
   
Sam Hocevar committed
380
CFLAGS="${save_CFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
381
CPPFLAGS="${save_CPPFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
382
LDFLAGS="${save_LDFLAGS}"
Christophe Massiot's avatar
Christophe Massiot committed
383

384
dnl Check for boolean_t
385
386
AC_CACHE_CHECK([for boolean_t in sys/types.h],
    [ac_cv_c_boolean_t_sys_types_h],
Sam Hocevar's avatar
   
Sam Hocevar committed
387
    [AC_TRY_COMPILE([#include <sys/types.h>], [boolean_t foo;],
388
389
390
391
392
393
394
     ac_cv_c_boolean_t_sys_types_h=yes, ac_cv_c_boolean_t_sys_types_h=no)])
if test x"$ac_cv_c_boolean_t_sys_types_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_SYS_TYPES_H, 1, Define if <sys/types.h> defines boolean_t.)
fi

AC_CACHE_CHECK([for boolean_t in pthread.h],
    [ac_cv_c_boolean_t_pthread_h],
Sam Hocevar's avatar
   
Sam Hocevar committed
395
    [AC_TRY_COMPILE([#include <pthread.h>], [boolean_t foo;],
396
397
398
399
400
401
402
     ac_cv_c_boolean_t_pthread_h=yes, ac_cv_c_boolean_t_pthread_h=no)])
if test x"$ac_cv_c_boolean_t_pthread_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_PTHREAD_H, 1, Define if <pthread.h> defines boolean_t.)
fi

AC_CACHE_CHECK([for boolean_t in cthreads.h],
    [ac_cv_c_boolean_t_cthreads_h],
Sam Hocevar's avatar
   
Sam Hocevar committed
403
    [AC_TRY_COMPILE([#include <cthreads.h>], [boolean_t foo;],
404
405
406
407
     ac_cv_c_boolean_t_cthreads_h=yes, ac_cv_c_boolean_t_cthreads_h=no)])
if test x"$ac_cv_c_boolean_t_cthreads_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_CTHREADS_H, 1, Define if <cthreads.h> defines boolean_t.)
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
408

Sam Hocevar's avatar
   
Sam Hocevar committed
409
410
411
412
413
414
415
416
dnl
dnl  Check the CPU
dnl
case x"${target_cpu}" in
  x)
    ARCH=unknown
    ;;
  *)
Sam Hocevar's avatar
   
Sam Hocevar committed
417
    ARCH="${target_cpu}"
Sam Hocevar's avatar
   
Sam Hocevar committed
418
419
    ;;
esac
Sam Hocevar's avatar
   
Sam Hocevar committed
420
421
422
423

dnl
dnl  default modules
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
424
BUILTINS="${BUILTINS} idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec ac3_adec mpeg_vdec"
425
PLUGINS="${PLUGINS} dummy null rc logger mpeg_es mpeg_ps mpeg_ts mpeg_audio file udp http ipv4 memcpy lpcm_adec ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort filter_clone fx_scope"
Sam Hocevar's avatar
   
Sam Hocevar committed
426
427
428
429

dnl
dnl  Accelerated modules
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
430
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx"
Sam Hocevar's avatar
   
Sam Hocevar committed
431
432
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
gbazin's avatar
   
gbazin committed
433
SSE_MODULES="imdctsse downmixsse"
434
ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
435

436
437
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
438
    [AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
439
                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
440
if test x"$ac_cv_mmx_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
441
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
442
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
443

444
445
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
    [ac_cv_mmxext_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
446
    [AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
447
                    ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
448
if test x"$ac_cv_mmxext_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
449
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
450
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
451

452
453
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
    [ac_cv_3dnow_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
454
    [AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
455
                    ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
456
if test x"$ac_cv_3dnow_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
457
  AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
Sam Hocevar's avatar
   
Sam Hocevar committed
458
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
459
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
460

461
462
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
    [ac_cv_sse_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
463
    [AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
464
                    ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
Sam Hocevar's avatar
   
Sam Hocevar committed
465
if test x"$ac_cv_sse_inline" != x"no" -a x$SYS != xmingw32; then
Sam Hocevar's avatar
   
Sam Hocevar committed
466
  AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
Sam Hocevar's avatar
   
Sam Hocevar committed
467
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
468
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
469

gbazin's avatar
   
gbazin committed
470
471
472
# don't try to grok altivec with native mingw32 it doesn't work right now
# we should be able to remove this test with future versions of mingw32
if test x$SYS != xmingw32; then
473
474
AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
    [ac_cv_altivec_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
475
    [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
476
477
478
         ac_cv_altivec_inline=yes,
         [save_CFLAGS=$CFLAGS
          CFLAGS="$CFLAGS -Wa,-m7400"
Sam Hocevar's avatar
   
Sam Hocevar committed
479
          AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
480
            [ac_cv_altivec_inline="-Wa,-m7400"],
481
            ac_cv_altivec_inline=no)
482
483
          CFLAGS=$save_CFLAGS
         ])])
484
if test x"$ac_cv_altivec_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
485
  AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
486
  if test x"$ac_cv_altivec_inline" != x"yes"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
487
488
489
490
    idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_altivec_inline"
    motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_altivec_inline"
    memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_altivec_inline"
    vlc_CFLAGS="$vlc_CFLAGS $ac_cv_altivec_inline"
491
  fi
492
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
493
fi
494

495
496
AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
    [ac_cv_c_altivec],
497
498
499
    [save_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS -faltivec"
     # Darwin test
Sam Hocevar's avatar
   
Sam Hocevar committed
500
     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
501
502
        ac_cv_c_altivec=-faltivec, [
        # Linux/PPC test
Sam Hocevar's avatar
   
Sam Hocevar committed
503
        CFLAGS="$save_CFLAGS $idctaltivec_CFLAGS -fvec"
Sam Hocevar's avatar
   
Sam Hocevar committed
504
        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
505
506
507
508
            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
        ])
     CFLAGS=$save_CFLAGS
    ])
509
if test x"$ac_cv_c_altivec" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
510
  AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
Sam Hocevar's avatar
   
Sam Hocevar committed
511
512
513
514
  idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_c_altivec"
  motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_c_altivec"
  memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_c_altivec"
  vlc_CFLAGS="$vlc_CFLAGS $ac_cv_c_altivec"
515
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
516
517
518
519
520
521
522
523
524
525
fi

AC_CACHE_CHECK([if linker needs -framework vecLib],
    [ac_cv_ld_altivec],
    [save_LDFLAGS=$LDFLAGS
     LDFLAGS="$LDFLAGS -framework vecLib"
     AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
     LDFLAGS=$save_LDFLAGS
    ])
if test x"$ac_cv_ld_altivec" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
526
527
528
529
  idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
  motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
  memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
  vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
530
fi
gbazin's avatar
   
gbazin committed
531
fi # end if mingw32
532
533


Sam Hocevar's avatar
   
Sam Hocevar committed
534
535
536
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])

Sam Hocevar's avatar
   
Sam Hocevar committed
537
dnl
538
dnl  Special arch tuning
Sam Hocevar's avatar
   
Sam Hocevar committed
539
dnl
540
AC_ARG_WITH(tuning,
Sam Hocevar's avatar
   
Sam Hocevar committed
541
[  --with-tuning=ARCH      enable special tuning for an architecture
542
                          (default i686 on IA-32 and 750 on PPC)])
543
544
if test "x$with_tuning" != "x"; then
    TUNING="$with_tuning"
545
else
546
    if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xi486 -o x${target_cpu} = xi386; then TUNING="pentiumpro"
547
    else
548
        if test x${target_cpu} = xpowerpc; then TUNING="750"; fi
549
550
    fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
551
552

dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
553
dnl  x86 accelerations
Sam Hocevar's avatar
   
Sam Hocevar committed
554
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
555
556
557
558
559
if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xx86 -o x${target_cpu} = xi386
then
    ARCH="${ARCH} mmx"
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
560

Sam Hocevar's avatar
   
Sam Hocevar committed
561
562
563
564
565
dnl
dnl  Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
[  --disable-optimizations disable compiler optimizations (default enabled)],
566
[ if test x$enable_optimizations = xno; then OPTIMS=0; fi ],
Sam Hocevar's avatar
   
Sam Hocevar committed
567
568
[ OPTIMS=1 ])

Sam Hocevar's avatar
   
Sam Hocevar committed
569
570
571
dnl
dnl  AltiVec acceleration
dnl
572
AC_ARG_ENABLE(altivec,
Sam Hocevar's avatar
   
Sam Hocevar committed
573
[  --disable-altivec       disable altivec optimizations (default enabled on PPC)],
574
[ if test x$enable_altivec = xyes; then ARCH="${ARCH} altivec";
575
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
576
[ if test x${target_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
577
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
578
579
580
581

dnl
dnl  Debugging mode
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
582
DEBUG=0
583
AC_ARG_ENABLE(debug,
Sam Hocevar's avatar
   
Sam Hocevar committed
584
[  --enable-debug          debug mode (default disabled)],
585
[ if test x$enable_debug = xyes; then DEBUG=1; fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
586

Sam Hocevar's avatar
   
Sam Hocevar committed
587
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
588
dnl  Enable release-specific flags
Sam Hocevar's avatar
   
Sam Hocevar committed
589
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
590
RELEASE=0
Sam Hocevar's avatar
   
Sam Hocevar committed
591
592
AC_ARG_ENABLE(release,
[  --enable-release        activate extra optimizations (default disabled)],
593
[ if test x$enable_release = xyes; then RELEASE=1; fi ],
Sam Hocevar's avatar
   
Sam Hocevar committed
594
[ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
Sam Hocevar's avatar
   
Sam Hocevar committed
595

Sam Hocevar's avatar
   
Sam Hocevar committed
596
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
597
dnl  Input plugins
Sam Hocevar's avatar
   
Sam Hocevar committed
598
599
dnl

Sam Hocevar's avatar
   
Sam Hocevar committed
600
AC_ARG_WITH(,[Input plugins:])
Sam Hocevar's avatar
   
Sam Hocevar committed
601
602

dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
603
604
605
606
dnl  DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[  --enable-dvd            DVD input module (default enabled)])
607
if test "x$enable_dvd" != "xno"
Sam Hocevar's avatar
   
Sam Hocevar committed
608
609
610
then
  AC_ARG_WITH(dvdcss, 
  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
Sam Hocevar's avatar
   
Sam Hocevar committed
611
612
  AC_ARG_WITH(dvdcss-tree, 
  [    --with-dvdcss-tree=PATH libdvdcss tree for static linking])
Sam Hocevar's avatar
   
Sam Hocevar committed
613
  case "x$with_dvdcss" in
Sam Hocevar's avatar
   
Sam Hocevar committed
614
  x|xyes)
Sam Hocevar's avatar
   
Sam Hocevar committed
615
616
617
618
    if test "x$with_dvdcss_tree" = x
    then
      AC_CHECK_HEADERS(dvdcss/dvdcss.h,
        [ PLUGINS="${PLUGINS} dvd"
Sam Hocevar's avatar
   
Sam Hocevar committed
619
          dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
Sam Hocevar's avatar
   
Sam Hocevar committed
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
        [ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
          AC_MSG_ERROR([cannot find libdvdcss headers]) ])
    else
      AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
      real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
      if test "x$real_dvdcss_tree" = x
      then
        dnl  The given directory can't be found
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
      fi
      if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
      then
        dnl  Use a custom libdvdcss
        AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
        BUILTINS="${BUILTINS} dvd"
Sam Hocevar's avatar
   
Sam Hocevar committed
636
637
        dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
        dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
Sam Hocevar's avatar
   
Sam Hocevar committed
638
639
640
641
642
643
      else
        dnl  The given libdvdcss wasn't built
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
      fi
    fi
Sam Hocevar's avatar
   
Sam Hocevar committed
644
645
  ;;
  xno)
Sam Hocevar's avatar
   
Sam Hocevar committed
646
    dnl  Compile without dvdcss (dlopen version, works only under Linux)
Sam Hocevar's avatar
   
Sam Hocevar committed
647
    PLUGINS="${PLUGINS} dvd"
Sam Hocevar's avatar
   
Sam Hocevar committed
648
649
    dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
    dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
Sam Hocevar's avatar
   
Sam Hocevar committed
650
651
  ;;
  *)
Sam Hocevar's avatar
   
Sam Hocevar committed
652
653
    AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
    if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
Sam Hocevar's avatar
   
Sam Hocevar committed
654
    then
Sam Hocevar's avatar
   
Sam Hocevar committed
655
      dnl  Use ${with_dvdcss}/include/dvdcss/dvdcss.h
Sam Hocevar's avatar
   
Sam Hocevar committed
656
      AC_MSG_RESULT(yes)
Sam Hocevar's avatar
   
Sam Hocevar committed
657
      PLUGINS="${PLUGINS} dvd"
Sam Hocevar's avatar
   
Sam Hocevar committed
658
659
      dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
      dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
Sam Hocevar's avatar
   
Sam Hocevar committed
660
    else
Sam Hocevar's avatar
   
Sam Hocevar committed
661
      dnl  No libdvdcss could be found, sorry
Sam Hocevar's avatar
   
Sam Hocevar committed
662
      AC_MSG_RESULT(no)
Sam Hocevar's avatar
   
Sam Hocevar committed
663
      AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
Sam Hocevar's avatar
   
Sam Hocevar committed
664
665
666
667
    fi
  ;;
  esac
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
668

Stéphane Borel's avatar
Stéphane Borel committed
669
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
670
dnl dvdread module: check for libdvdread plugin
Stéphane Borel's avatar
Stéphane Borel committed
671
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
672
673
AC_ARG_ENABLE(dvdread,
[  --enable-dvdread        dvdread input module (default disabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
674
if test "x$enable_dvdread" != "xno"
Sam Hocevar's avatar
   
Sam Hocevar committed
675
676
677
then
  AC_ARG_WITH(dvdread, 
  [    --with-dvdread=PATH   libdvdread headers and libraries])
678
  if test "x$with_dvdread" = x
Sam Hocevar's avatar
   
Sam Hocevar committed
679
680
681
682
  then
    test_LDFLAGS=""
    test_CFLAGS=""
  else
683
684
    test_LDFLAGS="-L${with_dvdread}/lib"
    test_CFLAGS="-I${with_dvdread}/include"
Sam Hocevar's avatar
   
Sam Hocevar committed
685
686
687
688
689
690
691
692
693
  fi
  CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
  AC_CHECK_HEADERS(dvdread/dvd_reader.h, [
     AC_TRY_COMPILE([#include <dvdread/dvd_reader.h>],
        [void foo() { int i=DVD_VIDEO_LB_LEN; }],[
          PLUGINS="${PLUGINS} dvdread"
          dvdread_LDFLAGS="${dvdread_LDFLAGS} ${test_LDFLAGS} -ldvdread"
          dvdread_CFLAGS="${dvdread_CFLAGS} ${test_CFLAGS}"
        ],[
Sam Hocevar's avatar
   
Sam Hocevar committed
694
          if test "x$enable_dvdread" != x
Sam Hocevar's avatar
   
Sam Hocevar committed
695
696
697
698
699
          then
            AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later])
          fi
        ])
  ],[
Sam Hocevar's avatar
   
Sam Hocevar committed
700
    if test "x$enable_dvdread" != x
701
    then
702
      if test "x$with_dvdread" != x
Sam Hocevar's avatar
   
Sam Hocevar committed
703
      then
704
        AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include])
Sam Hocevar's avatar
   
Sam Hocevar committed
705
706
707
      else
        AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h])
      fi
Sam Hocevar's avatar
   
Sam Hocevar committed
708
    fi
Sam Hocevar's avatar
   
Sam Hocevar committed
709
710
  ])
  CPPFLAGS="$save_CPPFLAGS"
Sam Hocevar's avatar
   
Sam Hocevar committed
711
fi
Stéphane Borel's avatar
Stéphane Borel committed
712

713
714
715
716
717
dnl
dnl  libdvbpsi ts demux
dnl
AC_ARG_ENABLE(dvbpsi,
[  --enable-dvbpsi        dvbpsi ts demux module (default disabled)])
718
if test "x$enable_dvbpsi" != "xno"
719
then
720
721
  AC_ARG_WITH(dvbpsi, 
  [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
722
  if test "x$with_dvbpsi" = x
723
724
725
726
  then
    test_LDFLAGS=""
    test_CFLAGS=""
  else
727
728
    test_LDFLAGS="-L${with_dvbpsi}/lib"
    test_CFLAGS="-I${with_dvbpsi}/include"
729
730
  fi
  CPPFLAGS="$save_CPPFLAGS $test_CFLAGS"
731
  AC_CHECK_HEADER([dvbpsi/dr.h],[
732
733
734
735
736
737
    PLUGINS="${PLUGINS} mpeg_ts_dvbpsi"
    mpeg_ts_dvbpsi_LDFLAGS="${mpeg_ts_dvbpsi_LDFLAGS} ${test_LDFLAGS} -ldvbpsi"
    mpeg_ts_dvbpsi_CFLAGS="${mpeg_ts_dvbpsi_CFLAGS} ${test_CFLAGS}"
    ],[
    if test "x$enable_dvbpsi" != x
    then
738
      AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
739
740
741
742
743
    fi
  ])
  CPPFLAGS="$save_CPPFLAGS"
fi
 
744
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
745
dnl  VCD module
746
747
dnl
AC_ARG_ENABLE(vcd,
748
  [  --enable-vcd            VCD support for Linux, FreeBSD and MacOS X (default enabled)])
749

Sam Hocevar's avatar
   
Sam Hocevar committed
750
751
752
if test x$enable_vcd != xno
then
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
Sam Hocevar's avatar
   
Sam Hocevar committed
753
    PLUGINS="${PLUGINS} vcd"
Sam Hocevar's avatar
   
Sam Hocevar committed
754
  ])
755
756
  
  AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
757
    PLUGINS="${PLUGINS} vcd"
758
759
    AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
  ])
760
  
Sam Hocevar's avatar
   
Sam Hocevar committed
761
762
763
764
  if test "x${SYS}" = "xbsdi"
  then
    PLUGINS="${PLUGINS} vcd"
  fi
765

Sam Hocevar's avatar
   
Sam Hocevar committed
766
767
  if test "x${SYS}" = "xdarwin"
  then
768
    # No need to add vcd to PLUGINS, Darwin is already based on FreeBSD
Sam Hocevar's avatar
   
Sam Hocevar committed
769
    vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation" 
Sam Hocevar's avatar
   
Sam Hocevar committed
770
  fi
Jon Lech Johansen's avatar
Jon Lech Johansen committed
771
772
fi

Johan Bilien's avatar
Johan Bilien committed
773
774
775
776
dnl
dnl  Satellite input module
dnl
AC_ARG_ENABLE(satellite,
Sam Hocevar's avatar
   
Sam Hocevar committed
777
  [  --enable-satellite      satellite card support (default disabled)],
Johan Bilien's avatar
Johan Bilien committed
778
779
  [ if test x$enable_satellite = xyes
    then
780
      PLUGINS="${PLUGINS} satellite"
Johan Bilien's avatar
Johan Bilien committed
781
782
    fi])

783
dnl
784
dnl  ipv6 plugin - not for QNX yet
785
dnl
gbazin's avatar
   
gbazin committed
786
if test x$SYS != xnto && test "x$SYS" != "xmingw32"
787
788
789
then
  AC_CHECK_FUNC(inet_pton,[PLUGINS="${PLUGINS} ipv6"])
fi
gbazin's avatar
   
gbazin committed
790
791
792
793
794
795
if test "x$SYS" = "xmingw32"
then
  AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
  AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
    PLUGINS="${PLUGINS} ipv6"],[AC_MSG_RESULT(no)])
fi
796

797
798
799
800
801
802
803
804
805
806
dnl
dnl  AVI demux plugin
dnl
AC_ARG_ENABLE(avi,
  [  --enable-avi            AVI demux module (default enabled)])
if test x$enable_avi != xno
then
  PLUGINS="${PLUGINS} avi"
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
807
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
808
dnl  Codec plugins
Sam Hocevar's avatar
   
Sam Hocevar committed
809
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
810

Sam Hocevar's avatar
   
Sam Hocevar committed
811
AC_ARG_WITH(,[Codec plugins:])
Sam Hocevar's avatar
   
Sam Hocevar committed
812

813
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
814
dnl  mad plugin
815
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
816
817
AC_ARG_ENABLE(mad,
  [  --enable-mad            libmad module (default disabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
818
if test x$enable_mad = xyes
Sam Hocevar's avatar
   
Sam Hocevar committed
819
820
then
  AC_ARG_WITH(mad,
gbazin's avatar
   
gbazin committed
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
    [    --with-mad=PATH       path to libmad],[],[])
  if test "x$with_mad" != "xno" -a "x$with_mad" != "x"
  then
    mad_CFLAGS="${mad_CFLAGS} -I$with_mad/include"
    mad_LDFLAGS="${mad_LDFLAGS} -L$with_mad/lib"
  fi

  AC_ARG_WITH(mad-tree,
    [    --with-mad-tree=PATH  mad tree for static linking],[],[])
  if test "x$with_mad_tree" != "xno" -a "x$with_mad_tree" != "x"
  then
    real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
    if test "x$real_mad_tree" = x
    then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
    fi
    dnl  Use a custom libmad
    AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
    if test -f ${real_mad_tree}/libmad/mad.h
    then
      AC_MSG_RESULT(yes)
      mad_CFLAGS="${mad_CFLAGS} -I${real_mad_tree}/libmad"
      mad_LDFLAGS="${mad_LDFLAGS} -L${real_mad_tree}/libmad/.libs"
      save_LDFLAGS=$LDFLAGS
      LDFLAGS=$mad_LDFLAGS
      AC_CHECK_LIB(mad, mad_bit_init, [
        BUILTINS="${BUILTINS} mad"
        mad_LDFLAGS="${mad_LDFLAGS} -lmad"
        ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
      ],[])
      LDFLAGS=$save_LDFLAGS
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have mad.h])
    fi
  else
    save_CFLAGS=$CFLAGS
    save_LDFLAGS=$LDFLAGS
    CFLAGS="$CFLAGS $mad_CFLAGS"
    LDFLAGS="$LDFLAGS $mad_LDFLAGS"
    AC_CHECK_HEADERS(mad.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
865
    AC_CHECK_LIB(mad, mad_bit_init, [
gbazin's avatar
   
gbazin committed
866
      PLUGINS="${PLUGINS} mad"
867
      mad_LDFLAGS="${mad_LDFLAGS} -lmad" ],
gbazin's avatar
   
gbazin committed
868
869
870
871
      [ AC_MSG_ERROR([Cannot find libmad library...]) ])
    CFLAGS=$save_CFLAGS
    LDFLAGS=$save_LDFLAGS
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
872
fi
873

874
875
876
877
878
dnl
dnl  ffmpeg decoder plugin
dnl
AC_ARG_ENABLE(ffmpeg,
[  --enable-ffmpeg         ffmpeg codec (default disabled)])
879
if test "x$enable_ffmpeg" = "xyes"
880
then
881
882
883
884
885
886
887
888
  AC_ARG_WITH(ffmpeg,
    [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
  if test "x$with_ffmpeg" != "xno" -a "x$with_ffmpeg" != "x"
  then
    ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I$with_ffmpeg/include/libffmpeg"
    ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -L$with_ffmpeg/lib"
  fi

889
890
  AC_ARG_WITH(ffmpeg-tree, 
  [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
891
  if test "x$with_ffmpeg_tree" != "x"
892
893
894
895
896
897
898
899
900
901
902
903
904
905
  then
    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
    if test "x$real_ffmpeg_tree" = x
    then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
    fi
    if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"
    then
      dnl  Use a custom libffmpeg
      AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
      BUILTINS="${BUILTINS} ffmpeg"
906
      ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} ${real_ffmpeg_tree}/libavcodec/libavcodec.a -lm"
907
908
909
910
911
912
      ffmpeg_CFLAGS="${ffmpeg_CFLAGS} -I${real_ffmpeg_tree}/libavcodec"
    else
      dnl  The given libavcodec wasn't built
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
    fi
913
914
915
916
  else
    save_CFLAGS=$CFLAGS
    save_LDFLAGS=$LDFLAGS
    CFLAGS="$CFLAGS $ffmpeg_CFLAGS"
917
    LDFLAGS="$LDFLAGS $ffmpeg_LDFLAGS -lm"
918
919
    AC_CHECK_LIB(avcodec, avcodec_init, [
      BUILTINS="${BUILTINS} ffmpeg"
920
      ffmpeg_LDFLAGS="${ffmpeg_LDFLAGS} -lavcodec -lm" ],
921
922
923
      [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
    CFLAGS=$save_CFLAGS
    LDFLAGS=$save_LDFLAGS
924
925
926
927
  fi
fi


Sam Hocevar's avatar
   
Sam Hocevar committed
928
dnl special case for BeOS
Sam Hocevar's avatar
   
Sam Hocevar committed
929
930
if test x$SYS = xbeos
then
Sam Hocevar's avatar
   
Sam Hocevar committed
931
    PLUGINS="${PLUGINS} beos"
Sam Hocevar's avatar
   
Sam Hocevar committed
932
fi
933

gbazin's avatar
   
gbazin committed
934
dnl
gbazin's avatar
   
gbazin committed
935
dnl  a52 AC3 decoder plugin
gbazin's avatar
   
gbazin committed
936
dnl
gbazin's avatar
   
gbazin committed
937
AC_ARG_ENABLE(a52,
Sam Hocevar's avatar
   
Sam Hocevar committed
938
  [  --enable-a52            AC3 support with liba52 (default enabled)])
gbazin's avatar
   
gbazin committed
939
940
941
942
943
if test "x$enable_a52" != "xno"
then
  AC_ARG_WITH(a52-tree,
    [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
  if test "x$with_a52_tree" != "xno" -a "x$with_a52_tree" != "x"
gbazin's avatar
   
gbazin committed
944
  then
gbazin's avatar
   
gbazin committed
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
    real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
    if test "x$real_a52_tree" = x
    then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
    fi
    dnl  Use a custom a52dec
    AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
    if test -f ${real_a52_tree}/include/a52.h
    then
      AC_MSG_RESULT(yes)
      a52_CFLAGS="${a52_CFLAGS} -I${real_a52_tree}"
      a52_LDFLAGS="${a52_LDFLAGS} -L${real_a52_tree}/liba52/.libs"
      save_LDFLAGS=$LDFLAGS
      LDFLAGS="$a52_LDFLAGS $LDFLAGS"
      AC_CHECK_LIB(a52, a52_free, [
        BUILTINS="${BUILTINS} a52"
        a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
        a52_CFLAGS="${a52_CFLAGS} -DUSE_A52DEC_TREE"
        ],[
        if test -f ${real_a52_tree}/liba52/.libs/liba52.a
        then
          AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
        else
          AC_MSG_ERROR([the specified tree hasn't been compiled])
        fi
      ],[-lm])
      LDFLAGS=$save_LDFLAGS
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have a52.h])
    fi
  else dnl  no with args
979
    AC_CHECK_HEADERS(a52dec/a52.h, [
gbazin's avatar
   
gbazin committed
980
981
982
983
984
985
986
      AC_CHECK_LIB(a52, a52_free, [
        BUILTINS="${BUILTINS} a52"
        a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
        a52_CFLAGS="${a52_CFLAGS}"
      ],[],[-lm])
    ])
  fi
gbazin's avatar
   
gbazin committed
987
988
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
989
990
991
992
dnl
dnl  ogg vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
Sam Hocevar's avatar
   
Sam Hocevar committed
993
  [  --enable-vorbis         Ogg/Vorbis decoder support (default enabled)])
994
if test "x$enable_vorbis" != "xno"
Sam Hocevar's avatar
   
Sam Hocevar committed
995
996
then
  AC_CHECK_HEADERS(ogg/ogg.h, [
997
998
    dnl disabled for the moment
    #PLUGINS="${PLUGINS} vorbis"
Sam Hocevar's avatar
   
Sam Hocevar committed
999
    vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
Sam Hocevar's avatar
   
Sam Hocevar committed
1000
1001
1002
   ],[])
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
1003
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
1004
dnl  Video plugins
Sam Hocevar's avatar
   
Sam Hocevar committed
1005
1006
dnl

Sam Hocevar's avatar
   
Sam Hocevar committed
1007
AC_ARG_WITH(,[Video plugins:])
Sam Hocevar's avatar
   
Sam Hocevar committed
1008

Sam Hocevar's avatar
   
Sam Hocevar committed
1009
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
1010
1011
dnl  X11 module
dnl  (enabled by default except on win32)
Sam Hocevar's avatar
   
Sam Hocevar committed
1012
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
1013
AC_ARG_ENABLE(x11,
Sam Hocevar's avatar
   
Sam Hocevar committed
1014
  [  --enable-x11            X11 support (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
1015
1016
1017
1018
1019
1020
1021
1022
if test x$enable_x11 != xno &&
  (test x$SYS != xmingw32 || test x$enable_x11 = xyes); then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1023
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Sam Hocevar's avatar
   
Sam Hocevar committed
1024
1025
  AC_CHECK_HEADERS(X11/Xlib.h, [
    PLUGINS="${PLUGINS} x11"
Sam Hocevar's avatar
   
Sam Hocevar committed
1026
1027
    x11_LDFLAGS="${x11_LDFLAGS} -L$x_libraries -lX11 -lXext"
    x11_CFLAGS="${x11_CFLAGS} -I$x_includes"
Sam Hocevar's avatar
   
Sam Hocevar committed
1028
  ])
Sam Hocevar's avatar
   
Sam Hocevar committed
1029
  CPPFLAGS="$save_CPPFLAGS"
Sam Hocevar's avatar
   
Sam Hocevar committed
1030
1031
1032
1033
1034
1035
1036
fi

dnl
dnl  XVideo module
dnl  (enabled by default except on win32)
dnl
AC_ARG_ENABLE(xvideo,
Sam Hocevar's avatar
   
Sam Hocevar committed
1037
  [  --enable-xvideo         XVideo support (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
1038
1039
1040
1041
1042
1043
1044
1045
if test x$enable_xvideo != xno &&
  (test x$SYS != xmingw32 || test x$enable_xvideo = xyes); then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1046
1047
  save_CPPFLAGS=$CPPFLAGS
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Sam Hocevar's avatar
   
Sam Hocevar committed
1048
  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
Sam Hocevar's avatar
   
Sam Hocevar committed
1049
    save_CFLAGS=$CFLAGS
Sam Hocevar's avatar
   
Sam Hocevar committed
1050
1051
1052
1053
    CFLAGS="$CFLAGS -L$x_libraries -lX11 -lXext"
    AC_CHECK_LIB(Xv_pic,XvSetPortAttribute,
      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
      PLUGINS="${PLUGINS} xvideo"
Sam Hocevar's avatar
   
Sam Hocevar committed
1054
1055
      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv_pic"
      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes",
Sam Hocevar's avatar
   
Sam Hocevar committed
1056
1057
      # We don't have Xv_pic, let's make xvideo.a as builtin
      BUILTINS="${BUILTINS} xvideo"
Sam Hocevar's avatar
   
Sam Hocevar committed
1058
1059
1060
      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv"
      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes")
    CFLAGS="$save_CFLAGS"
Sam Hocevar's avatar
   
Sam Hocevar committed
1061
  ]
Sam Hocevar's avatar
   
Sam Hocevar committed
1062
  CPPFLAGS="$save_CPPFLAGS")
Sam Hocevar's avatar
   
Sam Hocevar committed
1063
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1064
1065
1066
1067

dnl
dnl  SDL module
dnl
1068
AC_ARG_ENABLE(sdl,
Sam Hocevar's avatar
   
Sam Hocevar committed
1069
  [  --enable-sdl            SDL support (default enabled)])
1070
if test "x$enable_sdl" != "xno"
1071
then
1072
1073
  SDL_PATH=$PATH
  AC_ARG_WITH(sdl-config-path,
Sam Hocevar's avatar
   
Sam Hocevar committed
1074
    [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
gbazin's avatar
   
gbazin committed
1075
    [ if test "x$with_sdl_config_path" != "xno"
1076
      then
gbazin's avatar
   
gbazin committed
1077
        SDL_PATH="$with_sdl_config_path:$PATH"
1078
1079
      fi ])
  AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, $SDL_PATH)
1080
1081
  SDL_CONFIG=${SDL12_CONFIG}
  SDL_HEADER="SDL12/SDL.h"
Sam Hocevar's avatar
   
Sam Hocevar committed
1082
1083
  if test x${SDL_CONFIG} = xno
  then
1084
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, $SDL_PATH)
Sam Hocevar's avatar
   
Sam Hocevar committed
1085
    SDL_CONFIG=${SDL11_CONFIG}
1086
1087
    SDL_HEADER="SDL11/SDL.h"
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1088
1089
  if test x${SDL_CONFIG} = xno
  then
1090
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, $SDL_PATH)
1091
    SDL_HEADER="SDL/SDL.h"
1092
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1093
1094
  if test x${SDL_CONFIG} != xno
  then
1095
    PLUGINS="${PLUGINS} sdl"
Sam Hocevar's avatar
   
Sam Hocevar committed
1096
1097
1098
    sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
    sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
    CPPFLAGS="$save_CPPFLAGS $sdl_CFLAGS"
1099
1100
    AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
      <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
1101
1102
1103
1104
      [ AC_MSG_ERROR([The development package for SDL is not installed. 
Please install it and try again. Alternatively you can also configure with 
--disable-sdl.])
      ])
Sam Hocevar's avatar
   
Sam Hocevar committed
1105
    CPPFLAGS="$save_CPPFLAGS"
Sam Hocevar's avatar
   
Sam Hocevar committed
1106
    if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
Sam Hocevar's avatar
   
Sam Hocevar committed
1107
    then
1108
1109
1110
      AC_MSG_ERROR([The development package for SDL is not installed.
Please install it and try again. Alternatively you can also configure with
--disable-sdl.])
Sam Hocevar's avatar
   
Sam Hocevar committed
1111
    fi
1112
  elif test "x$enable_sdl" =  "xyes"
Sam Hocevar's avatar
   
Sam Hocevar committed
1113
  then
1114
1115
1116
    AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
    ])
1117
1118
  fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
1119

Sam Hocevar's avatar
   
Sam Hocevar committed
1120
1121
1122
dnl
dnl  Windows DirectX module
dnl
1123
AC_ARG_ENABLE(directx,
Sam Hocevar's avatar
   
Sam Hocevar committed
1124
  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
1125
if test "x$enable_directx" != "xno"
1126
then
Sam Hocevar's avatar
   
Sam Hocevar committed
1127
  if test x$SYS = xmingw32
1128
  then
Xavier Marchesini's avatar
   
Xavier Marchesini committed
1129
    AC_ARG_WITH(directx, 
Sam Hocevar's avatar
   
Sam Hocevar committed
1130
1131
    [    --with-directx=PATH   Win32 DirectX headers and libraries])
    if test "x$with_directx" = "x"
Sam Hocevar's avatar
   
Sam Hocevar committed
1132
    then
gbazin's avatar
   
gbazin committed
1133
      AC_CHECK_HEADERS(ddraw.h,
1134
      [ PLUGINS="${PLUGINS} directx"
Sam Hocevar's avatar
   
Sam Hocevar committed
1135
        directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
1136
    else
1137
1138
      AC_MSG_CHECKING(for directX headers in ${with_directx})
      if test -f ${with_directx}/ddraw.h
gbazin's avatar
   
gbazin committed
1139
      then
1140
        PLUGINS="${PLUGINS} directx"
1141
1142
        directx_LDFLAGS="${directx_LDFLAGS} -L${with_directx}/lib -lgdi32"
        directx_CFLAGS="${directx_CFLAGS} -I${with_directx}"
1143
        AC_MSG_RESULT(yes)
gbazin's avatar
   
gbazin committed
1144
      else
1145
        AC_MSG_RESULT(no)
1146
        AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])