configure.in 34.9 KB
Newer Older
Sam Hocevar's avatar
   
Sam Hocevar committed
1
dnl Autoconf settings for vlc and libdvdcss
Sam Hocevar's avatar
   
Sam Hocevar committed
2
AC_INIT(include/common.h)
3
AC_CONFIG_HEADER(include/defs.h)
4

5
AC_CANONICAL_SYSTEM
6

Sam Hocevar's avatar
   
Sam Hocevar committed
7
8
9
HAVE_VLC=0
if test -r src/interface/main.c; then
  HAVE_VLC=1
Sam Hocevar's avatar
   
Sam Hocevar committed
10
  VLC_VERSION=0.2.91
Sam Hocevar's avatar
   
Sam Hocevar committed
11
12
13
14
15
16
17
18
  AC_SUBST(VLC_VERSION)
  VLC_CODENAME=Ourumov
  AC_SUBST(VLC_CODENAME)
fi

HAVE_LIBDVDCSS=0
if test -r extras/libdvdcss/libdvdcss.c; then
  HAVE_LIBDVDCSS=1
Sam Hocevar's avatar
   
Sam Hocevar committed
19
  LIBDVDCSS_VERSION=1.0.0
Sam Hocevar's avatar
   
Sam Hocevar committed
20
  AC_SUBST(LIBDVDCSS_VERSION)
21
22
23
  if test -r extras/libdvdcss/csskeys.h; then
    AC_DEFINE(HAVE_CSSKEYS,1,css decryption with player keys)
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
24
fi
25

Sam Hocevar's avatar
   
Sam Hocevar committed
26
dnl Save CFLAGS and LDFLAGS
Sam Hocevar's avatar
   
Sam Hocevar committed
27
save_CFLAGS="${CFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
28
save_LDFLAGS="${LDFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
29

30
31
dnl Check for tools
AC_PROG_MAKE_SET
Sam Hocevar's avatar
   
Sam Hocevar committed
32
33
AC_PROG_CC
AC_PROG_CPP
34
AC_CHECK_TOOL(RANLIB, ranlib, :)
35
36
37
38

dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
dnl
dnl  Endianness check, with a special test for cross-compilation
dnl
if test x${cross_compiling} != xyes; then
  AC_C_BIGENDIAN
else
  dnl  We are crosscompiling, give the user the opportunity to specify
  dnl  --with-words=big or --with-words=little ; otherwise, try to guess
  AC_ARG_WITH(words,
    [  --with-words=endianness Set endianness (big or little)])
  case "x$withval" in
    xbig)
      ac_cv_c_bigendian=yes
      ;;
    xlittle)
      ac_cv_c_bigendian=no
      ;;
    *)
      dnl  Try to guess endianness by matching patterns on a compiled
      dnl  binary, by looking for an ASCII or EBCDIC string
      ac_cv_c_bigendian=unknown
      AC_MSG_CHECKING(what the byte order looks to be)[
        cat >conftest.c <<EOF
        short am[] = { 0x4249, 0x4765, 0x6e44, 0x6961, 0x6e53, 0x7953, 0 };
        short ai[] = { 0x694c, 0x5454, 0x656c, 0x6e45, 0x6944, 0x6e61, 0 };
        void _a(void) { char*s = (char*)am; s = (char *)ai; }
        short ei[] = { 0x89D3, 0xe3e3, 0x8593, 0x95c5, 0x89c4, 0x9581, 0 };
        short em[] = { 0xc2c9, 0xc785, 0x95c4, 0x8981, 0x95e2, 0xa8e2, 0 };
        void _e(void) { char*s = (char*)em; s = (char*)ei; }
        int main(void) { _a(); _e(); return 0; }
EOF
      ]
      if test -f conftest.c
      then 
        if ${CC-cc} conftest.c -o conftest.o >config.log 2>&1 \
            && test -f conftest.o
        then
          if test `grep -l BIGenDianSyS conftest.o`
          then
            AC_MSG_RESULT("big endian")
            ac_cv_c_bigendian=yes
          fi
          if test `grep -l LiTTleEnDian conftest.o`
          then
            AC_MSG_RESULT("little endian")
            ac_cv_c_bigendian=no
          fi
        fi
      fi
      if test $ac_cv_c_bigendian = xunknown
      then
        AC_MSG_ERROR([Could not guess endianness, please use --with-words])
      fi
      dnl  Now we know what to use for endianness, just put it in the header
      if test $ac_cv_c_bigendian = yes
      then
        cat >> confdefs.h <<\EOF
#define WORDS_BIGENDIAN 1
EOF
      fi
      ;;
  esac
101
fi
102
103
104
105

dnl Check for system libs needed
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol)
AC_CHECK_FUNCS(setenv putenv)
Sam Hocevar's avatar
   
Sam Hocevar committed
106
107
108
109
110
111
112
113
114
115
116
AC_CHECK_FUNC(connect,,[
  AC_CHECK_LIB(socket,connect,LIB="${LIB} -lsocket")
])
AC_CHECK_FUNC(gethostbyname,,[
  AC_CHECK_LIB(nsl,gethostbyname,LIB="${LIB} -lnsl")
])
AC_CHECK_FUNC(nanosleep,,[
  AC_CHECK_LIB(rt,nanosleep,LIB="${LIB} -lrt",[
    AC_CHECK_LIB(posix4,nanosleep,LIB="${LIB} -lposix4")
  ])
])
117
AC_CHECK_FUNCS(usleep)
Sam Hocevar's avatar
   
Sam Hocevar committed
118
119
120
AC_CHECK_FUNC(inet_aton,,[
  AC_CHECK_LIB(resolv,inet_aton,LIB="${LIB} -lresolv")
])
Sam Hocevar's avatar
   
Sam Hocevar committed
121
AC_CHECK_FUNCS(vasprintf)
Sam Hocevar's avatar
   
Sam Hocevar committed
122
AC_CHECK_FUNCS(swab)
123
AC_CHECK_FUNCS([memalign valloc])
Sam Hocevar's avatar
   
Sam Hocevar committed
124

Sam Hocevar's avatar
   
Sam Hocevar committed
125
126
AC_CHECK_FUNCS(sigrelse)

Sam Hocevar's avatar
   
Sam Hocevar committed
127
dnl Check for getopt
Sam Hocevar's avatar
   
Sam Hocevar committed
128
NEED_GETOPT=0
Sam Hocevar's avatar
   
Sam Hocevar committed
129
130
131
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
132
    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB="${LIB} -lgnugetopt"],
Sam Hocevar's avatar
   
Sam Hocevar committed
133
    [NEED_GETOPT=1])])
Sam Hocevar's avatar
   
Sam Hocevar committed
134

135
136
AC_FUNC_MMAP
AC_TYPE_SIGNAL
Sam Hocevar's avatar
   
Sam Hocevar committed
137
138
AC_CHECK_LIB(dl,dlopen,LIB="${LIB} -ldl")
AC_CHECK_LIB(m,pow,LIB_YUV="${LIB_YUV} -lm")
Sam Hocevar's avatar
   
Sam Hocevar committed
139

Sam Hocevar's avatar
   
Sam Hocevar committed
140
dnl Check for pthreads - borrowed from XMMS
Sam Hocevar's avatar
   
Sam Hocevar committed
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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
155
156
157

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

Sam Hocevar's avatar
   
Sam Hocevar committed
159
160
161
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
162
            Define if <pthread.h> defines pthread_cond_t.)])
Sam Hocevar's avatar
   
Sam Hocevar committed
163
164
AC_EGREP_HEADER(strncasecmp,strings.h,[
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Sam Hocevar's avatar
   
Sam Hocevar committed
165
            Define if <strings.h> defines strncasecmp.)])
Sam Hocevar's avatar
   
Sam Hocevar committed
166

Sam Hocevar's avatar
   
Sam Hocevar committed
167
168
dnl Check for headers
AC_CHECK_HEADERS(stddef.h getopt.h strings.h)
169
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h sys/times.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
170
171
172
173
174
175
176
177
AC_CHECK_HEADERS(sys/soundcard.h machine/soundcard.h)
AC_CHECK_HEADERS(dlfcn.h image.h)
AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
AC_CHECK_HEADERS(machine/param.h)

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
178
dnl Check for ntohl, etc.
179
180
181
182
183
184
185
186
187
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
188

Sam Hocevar's avatar
   
Sam Hocevar committed
189
dnl Check for inline function size limit
190
191
192
193
194
195
196
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
197

Sam Hocevar's avatar
   
Sam Hocevar committed
198
dnl Check for Darwin plugin linking flags
199
200
201
202
203
204
205
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error],
    [ac_cv_ld_darwin],
    [CFLAGS="${save_CFLAGS} -bundle -undefined error"
     AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
if test x"$ac_cv_ld_darwin" != x"no"; then
    PLCFLAGS="${PLCFLAGS} -bundle -undefined error"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
206
207

dnl Check for standard plugin linking flags
208
209
210
211
212
213
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
    PLCFLAGS="${PLCFLAGS} -shared"
Sam Hocevar's avatar
   
Sam Hocevar committed
214
fi
215
216
        
dnl Check for soname setting
Sam Hocevar's avatar
   
Sam Hocevar committed
217
if test x"${SOFLAGS}" = x; then
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
    AC_CACHE_CHECK([for soname setting],
        [ac_cv_ld_soname],
        [
        # Standard
        try_SOFLAGS="-Wl,-soname -Wl,"
        LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
        AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}", [
            # SunOS
            try_SOFLAGS="-Wl,-h -Wl,"
            LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
            AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}",
                ac_cv_ld_soname=none)
        ])])
    if test x"$ac_cv_ld_soname" != x"none"; then
        SOFLAGS=$ac_cv_ld_soname
    else
        echo "
------------
Your system doesn't seem to have support for dynamic linking. You may
have problems using libdvdcss.
------------
"
240
    fi
Sam Hocevar's avatar
   
Sam Hocevar committed
241
242
fi

243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
    [ac_cv_c_attribute_aligned],
    [ac_cv_c_attribute_aligned=0
	CFLAGS="${save_CFLAGS} -Werror"
    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
258
dnl End of the bizarre compilation tests
Sam Hocevar's avatar
   
Sam Hocevar committed
259
CFLAGS="${save_CFLAGS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
260
LDFLAGS="${save_LDFLAGS}"
Christophe Massiot's avatar
Christophe Massiot committed
261

262
dnl Check for boolean_t
263
264
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
265
    [AC_TRY_COMPILE([#include <sys/types.h>], [boolean_t foo;],
266
267
268
269
270
271
272
     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
273
    [AC_TRY_COMPILE([#include <pthread.h>], [boolean_t foo;],
274
275
276
277
278
279
280
     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
281
    [AC_TRY_COMPILE([#include <cthreads.h>], [boolean_t foo;],
282
283
284
285
     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
286

287
288
289
290
291
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME

292

293
ARCH=${target_cpu}
Sam Hocevar's avatar
   
Sam Hocevar committed
294
295
296
297

dnl
dnl  default modules
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
298
BUILTINS="${BUILTINS} es ps ts memcpy yuv idct idctclassic motion imdct downmix mpeg_adec lpcm_adec ac3_adec mpeg_vdec"
Henri Fallon's avatar
   
Henri Fallon committed
299
PLUGINS="${PLUGINS} ac3_spdif spu_dec"
Sam Hocevar's avatar
   
Sam Hocevar committed
300
301
302
303

dnl
dnl  Accelerated modules
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
304
305
306
MMX_MODULES="memcpymmx yuvmmx idctmmx motionmmx"
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
Sam Hocevar's avatar
   
Sam Hocevar committed
307
SSE_MODULES="imdctsse downmixsse"
308
ALTIVEC_MODULES="idctaltivec motionaltivec"
309

310
311
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
312
    [AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
313
                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
314
if test x"$ac_cv_mmx_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
315
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
316
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
317

318
319
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
    [ac_cv_mmxext_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
320
    [AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
321
                    ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
322
if test x"$ac_cv_mmxext_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
323
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
324
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
325

326
327
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
    [ac_cv_3dnow_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
328
    [AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
329
                    ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
330
if test x"$ac_cv_3dnow_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
331
  AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
Sam Hocevar's avatar
   
Sam Hocevar committed
332
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
333
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
334

335
336
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
    [ac_cv_sse_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
337
    [AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
338
                    ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
339
if test x"$ac_cv_sse_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
340
  AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
Sam Hocevar's avatar
   
Sam Hocevar committed
341
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
342
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
343

344
345
AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
    [ac_cv_altivec_inline],
Sam Hocevar's avatar
   
Sam Hocevar committed
346
    [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
347
348
349
         ac_cv_altivec_inline=yes,
         [save_CFLAGS=$CFLAGS
          CFLAGS="$CFLAGS -Wa,-m7400"
Sam Hocevar's avatar
   
Sam Hocevar committed
350
          AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
351
            [ac_cv_altivec_inline=yes; CFLAGS_ALTIVEC="-Wa,-m7400"],
352
            ac_cv_altivec_inline=no)
353
354
          CFLAGS=$save_CFLAGS
         ])])
355
if test x"$ac_cv_altivec_inline" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
356
  AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
357
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
358
fi
359

360
361
AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
    [ac_cv_c_altivec],
362
363
364
    [save_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS -faltivec"
     # Darwin test
Sam Hocevar's avatar
   
Sam Hocevar committed
365
     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
366
367
368
        ac_cv_c_altivec=-faltivec, [
        # Linux/PPC test
        CFLAGS="$save_CFLAGS $CFLAGS_ALTIVEC -fvec"
Sam Hocevar's avatar
   
Sam Hocevar committed
369
        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
370
371
372
373
            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
        ])
     CFLAGS=$save_CFLAGS
    ])
374
if test x"$ac_cv_c_altivec" != x"no"; then
Sam Hocevar's avatar
   
Sam Hocevar committed
375
  AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
376
  CFLAGS_ALTIVEC="$CFLAGS_ALTIVEC $ac_cv_c_altivec"
377
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
378
379
380
381
382
383
384
385
386
387
388
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
  LIB_ALTIVEC="-framework vecLib"
389
390
fi

391
392
393
394
dnl
dnl  Check the operating system
dnl
case ${target_os} in
395
396
397
  linux*)
    SYS=linux
	;;
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
  bsdi*)
    SYS=bsdi
    ;;
  darwin*)
    SYS=darwin
    ;;
  *mingw32*)
    SYS=mingw32
    ;;
  *)
    SYS=${target_os}
    ;;
esac

dnl
dnl Windoze specific section
dnl
if test $SYS = mingw32; then
AC_CHECK_TOOL(WINDRES, windres, :)
gbazin's avatar
   
gbazin committed
417
418
LIB_TS="-lws2_32"
LIB_RC="-lws2_32"
419
420
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
421
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
422
dnl  libdvdcss: check for DVD ioctls
Sam Hocevar's avatar
   
Sam Hocevar committed
423
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
424

Sam Hocevar's avatar
   
Sam Hocevar committed
425
426
427
dnl  default is no
CAN_BUILD_LIBDVDCSS=0

Sam Hocevar's avatar
   
Sam Hocevar committed
428
429
dnl  for windoze
AC_CHECK_HEADERS(winioctl.h,[
Sam Hocevar's avatar
   
Sam Hocevar committed
430
  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
431
432
])

Sam Hocevar's avatar
   
Sam Hocevar committed
433
dnl  for Un*x and BeOS
Sam Hocevar's avatar
   
Sam Hocevar committed
434
AC_CHECK_HEADERS(sys/ioctl.h,[
Sam Hocevar's avatar
   
Sam Hocevar committed
435
  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
436
  AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h)
Sam Hocevar's avatar
   
Sam Hocevar committed
437
  BSD_DVD_STRUCT=0
Sam Hocevar's avatar
   
Sam Hocevar committed
438
  LINUX_DVD_STRUCT=0
439
  OPENBSD_DVD_STRUCT=0
Sam Hocevar's avatar
   
Sam Hocevar committed
440
441
442
  dnl
  dnl Old FreeBSD: sys/cdio.h
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
443
444
445
446
  AC_EGREP_HEADER(dvd_struct,sys/cdio.h,[
    AC_DEFINE(DVD_STRUCT_IN_SYS_CDIO_H, 1,
              Define if <sys/cdio.h> defines dvd_struct.)
    AC_EGREP_HEADER(struct dvd_struct,sys/cdio.h,[
447
                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1; OPENBSD_DVD_STRUCT=1])
Sam Hocevar's avatar
   
Sam Hocevar committed
448
449
450
451
  ])
  dnl
  dnl Newer FreeBSD: sys/dvdio.h
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
452
453
454
455
456
  AC_EGREP_HEADER(dvd_struct,sys/dvdio.h,[
    AC_DEFINE(DVD_STRUCT_IN_SYS_DVDIO_H, 1,
              Define if <sys/dvdio.h> defines dvd_struct.)
    AC_EGREP_HEADER(struct dvd_struct,sys/dvdio.h,[
                    BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1])
Sam Hocevar's avatar
   
Sam Hocevar committed
457
458
459
460
461
462
463
  ])
  dnl
  dnl Linux: linux/cdrom.h
  dnl
  AC_EGREP_HEADER(dvd_struct,linux/cdrom.h,[
    AC_DEFINE(DVD_STRUCT_IN_LINUX_CDROM_H, 1,
              Define if <linux/cdrom.h> defines DVD_STRUCT.)
Sam Hocevar's avatar
   
Sam Hocevar committed
464
465
466
467
468
    LINUX_DVD_STRUCT=1
  ])
  dnl
  dnl BSDI: dvd.h
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
469
  NEED_BSDI_LIBDVD=0
Sam Hocevar's avatar
   
Sam Hocevar committed
470
471
472
  AC_EGREP_HEADER(dvd_struct,dvd.h,[
    AC_DEFINE(DVD_STRUCT_IN_DVD_H, 1,
              Define if <dvd.h> defines DVD_STRUCT.)
Sam Hocevar's avatar
   
Sam Hocevar committed
473
    LIB_LIBDVDCSS="${LIB_LIBDVDCSS} -ldvd"
Sam Hocevar's avatar
   
Sam Hocevar committed
474
    LINUX_DVD_STRUCT=1
Sam Hocevar's avatar
   
Sam Hocevar committed
475
476
477
478
479
480
  ],[
    dnl
    dnl BSDI: /sys/dev/scsi/scsi_ioctl.h, using our own libdvd
    dnl
    AC_CHECK_HEADERS(/sys/dev/scsi/scsi_ioctl.h,[
      NEED_BSDI_LIBDVD=1
Sam Hocevar's avatar
   
Sam Hocevar committed
481
482
      AC_DEFINE(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H, 1,
                Define if <extras/BSDI_dvdioctl/dvd.h> defines DVD_STRUCT.)
Sam Hocevar's avatar
   
Sam Hocevar committed
483
      OBJ_LIBDVDCSS="${OBJ_LIBDVDCSS} bsdi_dvdioctl.o"
Sam Hocevar's avatar
   
Sam Hocevar committed
484
485
      LINUX_DVD_STRUCT=1
    ])
Sam Hocevar's avatar
   
Sam Hocevar committed
486
  ])
Sam Hocevar's avatar
   
Sam Hocevar committed
487
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
488
  dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h
Sam Hocevar's avatar
   
Sam Hocevar committed
489
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
490
  AC_CHECK_HEADER(sys/scsi/scsi_types.h,[
Sam Hocevar's avatar
   
Sam Hocevar committed
491
492
493
494
495
    AC_CHECK_HEADER(sys/scsi/impl/uscsi.h,[
      AC_DEFINE(SOLARIS_USCSI, 1, Have userspace SCSI headers.)
    ])
  ])
  dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
496
497
498
499
500
  dnl Final tests to check what was detected
  dnl
  if test x$LINUX_DVD_STRUCT = x1; then
    AC_DEFINE(HAVE_LINUX_DVD_STRUCT, 1,
              Define if Linux-like dvd_struct is defined.)
501
502
503
504
    if test x$OPENBSD_DVD_STRUCT = x1; then
      AC_DEFINE(HAVE_OPENBSD_DVD_STRUCT, 1,
                Define if OpenBSD-like dvd_struct is defined.)
    fi
Sam Hocevar's avatar
   
Sam Hocevar committed
505
506
507
  else
    if test x$BSD_DVD_STRUCT = x1; then
      AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1,
Sam Hocevar's avatar
   
Sam Hocevar committed
508
                Define if FreeBSD-like dvd_struct is defined.)
Sam Hocevar's avatar
   
Sam Hocevar committed
509
510
    fi
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
511
512
513
])

dnl
514
dnl  Special arch tuning
Sam Hocevar's avatar
   
Sam Hocevar committed
515
dnl
516
517
518
519
520
521
AC_ARG_WITH(tuning,
[  --with-tuning=[arch]    Enable special tuning for an architecture
                          (default i686 on IA-32 and 750 on PPC)])
if test "x$withval" != "x"; then
    TUNING=$withval
else
522
    if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xi486 -o x${target_cpu} = xi386; then TUNING="pentiumpro"
523
    else
524
        if test x${target_cpu} = xpowerpc; then TUNING="750"; fi
525
526
    fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
527

528
529
530
531
532
533
534
535
536
dnl
dnl  Enable release-specific flags
dnl
AC_ARG_ENABLE(release,
[  --enable-release        Activate extra optimizations (default disabled)],
[ if test x$enableval = xyes; then RELEASE=1; fi ],
[ VLC_VERSION="${VLC_VERSION}_`date +%Y-%m-%d`";
  LIBDVDCSS_VERSION="${LIBDVDCSS_VERSION}_`date +%Y-%m-%d`"; ])

Sam Hocevar's avatar
   
Sam Hocevar committed
537
538
539
dnl
dnl  MMX acceleration
dnl
540
AC_ARG_ENABLE(mmx,
Christophe Massiot's avatar
Christophe Massiot committed
541
[  --disable-mmx           Disable MMX optimizations (default enabled for x86)],
Sam Hocevar's avatar
   
Sam Hocevar committed
542
[ if test x$enableval = xyes; then ARCH="${ARCH} mmx";
543
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
544
[ 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";
545
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
546
547
548
549

dnl
dnl  AltiVec acceleration
dnl
550
AC_ARG_ENABLE(altivec,
551
552
553
[  --disable-altivec       Disable altivec optimizations (default enabled on PPC)],
[ if test x$enableval = xyes; then ARCH="${ARCH} altivec";
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
554
[ if test x${target_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
555
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
556
557
558
559

dnl
dnl  Debugging mode
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
560
DEBUG=0
561
AC_ARG_ENABLE(debug,
562
[  --enable-debug          Enable debug mode (default disabled)],
563
[ if test x$enableval = xyes; then DEBUG=1; fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
564

565
566
567
dnl
dnl  Trace mode
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
568
TRACE=0
569
570
571
572
AC_ARG_ENABLE(trace,
[  --enable-trace          Enable trace mode (default disabled)],
[ if test x$enableval = xyes; then TRACE=1; fi ])

Sam Hocevar's avatar
   
Sam Hocevar committed
573
dnl
574
dnl  Profiling
Sam Hocevar's avatar
   
Sam Hocevar committed
575
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
576
577
578
579
580
581
582
583
584
585
586
587
588
589
GPROF=0
AC_ARG_ENABLE(gprof,
[  --enable-gprof          Enable gprof profiling (default disabled)],
[ if test x$enableval = xyes; then GPROF=1; fi ])

CPROF=0
AC_ARG_ENABLE(cprof,
[  --enable-cprof          Enable cprof profiling (default disabled)],
[ if test x$enableval = xyes;
  then
    LIB="${LIB} -lcprof"
    CPROF=1
  fi
])
Sam Hocevar's avatar
   
Sam Hocevar committed
590

Sam Hocevar's avatar
   
Sam Hocevar committed
591
592
593
dnl
dnl  Enable/disable optimizations
dnl
594
AC_ARG_ENABLE(optimizations,
595
[  --disable-optimizations Disable compiler optimizations (default enabled)],
596
597
[ if test x$enableval = xno; then OPTIMS=0; fi ],
[ OPTIMS=1 ])
598

Sam Hocevar's avatar
   
Sam Hocevar committed
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
dnl
dnl  GNU portable threads
dnl
AC_ARG_ENABLE(pth,
  [  --enable-pth            Enable GNU Pth support (default disabled)],
  [ if test x$enableval = xyes; then
    AC_CHECK_LIB(pth,pth_init)
    AC_EGREP_HEADER(pth_init,pth.h,[
      AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
                Define if <pth.h> defines pth_init)
    THREAD_LIB="-lpth"
    fi])
])

LIB="${LIB} ${THREAD_LIB}"

dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
616
dnl  DVD module: check for installed libdvdcss or local libdvdcss
Sam Hocevar's avatar
   
Sam Hocevar committed
617
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
618
NEED_LIBDVDCSS=0
Sam Hocevar's avatar
   
Sam Hocevar committed
619
STATIC_LIBDVDCSS=0
Sam Hocevar's avatar
   
Sam Hocevar committed
620
DUMMY_LIBDVDCSS=0
Sam Hocevar's avatar
   
Sam Hocevar committed
621
AC_ARG_WITH(dvdcss,
622
623
624
625
  [  --with-dvdcss[=name]    way to use libdvdcss, either 'yes' or 'no',
                          or 'local-static', 'local-shared', or a path to
                          another libdvdcss such as '/usr/local'
                          (default 'local-static')],
Sam Hocevar's avatar
   
Sam Hocevar committed
626
627
628
629
630
  [ case "x${withval}" in
    xlocal-static|xyes)
      # local libdvdcss, statically linked
      if test x${CAN_BUILD_LIBDVDCSS} = x1
      then
Sam Hocevar's avatar
   
Sam Hocevar committed
631
        NEED_LIBDVDCSS=1
Sam Hocevar's avatar
   
Sam Hocevar committed
632
633
634
        STATIC_LIBDVDCSS=1
        BUILTINS="${BUILTINS} dvd"
        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
Sam Hocevar's avatar
   
Sam Hocevar committed
635
636
        LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
637
638
639
640
      fi
    ;;
    xlocal-shared)
      # local libdvdcss, dynamically linked
Sam Hocevar's avatar
   
Sam Hocevar committed
641
642
      if test x${CAN_BUILD_LIBDVDCSS} = x1
      then
Sam Hocevar's avatar
   
Sam Hocevar committed
643
        NEED_LIBDVDCSS=1
Sam Hocevar's avatar
   
Sam Hocevar committed
644
645
646
647
648
        BUILTINS="${BUILTINS} dvd"
        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
        LIB_DVD="${LIB_DVD} -Llib -ldvdcss"
        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L../../lib -ldvdcss"
      fi
Sam Hocevar's avatar
   
Sam Hocevar committed
649
    ;;
Sam Hocevar's avatar
   
Sam Hocevar committed
650
651
652
653
654
655
    xno)
      # don't use libdvdcss at all, build a DVD module that can dlopen() it
      DUMMY_LIBDVDCSS=1
      BUILTINS="${BUILTINS} dvd"
      OBJ_DVD="${OBJ_DVD} dummy_dvdcss.o"
      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
Sam Hocevar's avatar
   
Sam Hocevar committed
656
      CFLAGS_DVD="${CFLAGS_DVD} -DLIBDVDCSS_VERSION=\"${LIBDVDCSS_VERSION}\""
Sam Hocevar's avatar
   
Sam Hocevar committed
657
658
659
      LIB_DVD="${LIB_DVD} -ldl"
      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
    ;;
Sam Hocevar's avatar
   
Sam Hocevar committed
660
    *)
Sam Hocevar's avatar
   
Sam Hocevar committed
661
662
663
664
665
666
667
668
669
      # existing libdvdcss
      BUILTINS="${BUILTINS} dvd"
      if test "x$withval" != "xyes"
      then
        LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L"$withval"/lib"
        CFLAGS_DVD="${CFLAGS_DVD} -I"$withval"/include"
      fi
      LIB_DVD="${LIB_DVD} -ldvdcss"
      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldvdcss"
Sam Hocevar's avatar
   
Sam Hocevar committed
670
    esac ],
Sam Hocevar's avatar
   
Sam Hocevar committed
671
  # user didn't decide, we choose to use local libdvdcss and link statically
Sam Hocevar's avatar
   
Sam Hocevar committed
672
  # if libdvdcss is in the archive, or to use the dummy replacement otherwise.
Sam Hocevar's avatar
   
Sam Hocevar committed
673
674
  [ if test x${CAN_BUILD_LIBDVDCSS} = x1
    then
Sam Hocevar's avatar
   
Sam Hocevar committed
675
      NEED_LIBDVDCSS=1
Sam Hocevar's avatar
   
Sam Hocevar committed
676
677
678
      STATIC_LIBDVDCSS=1
      BUILTINS="${BUILTINS} dvd"
      CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
Sam Hocevar's avatar
   
Sam Hocevar committed
679
680
      LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}"
      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}"
Sam Hocevar's avatar
   
Sam Hocevar committed
681
682
683
684
685
686
687
688
    else
      # XXX: no check for libdl is done, don't try this at home !
      DUMMY_LIBDVDCSS=1
      BUILTINS="${BUILTINS} dvd"
      OBJ_DVD="${OBJ_DVD} dummy_dvdcss.o"
      CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA"
      LIB_DVD="${LIB_DVD} -ldl"
      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
Sam Hocevar's avatar
   
Sam Hocevar committed
689
    fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
690

Stéphane Borel's avatar
Stéphane Borel committed
691
692
693
694
dnl
dnl DVDREAD module: check for libdvdread plugin
dnl
AC_ARG_ENABLE(dvdread,
695
[  --enable-dvdread          Enable dvdread support (default disabled)],
Stéphane Borel's avatar
Stéphane Borel committed
696
697
698
699
700
701
702
[ if test x$enableval = xyes
  then
    NEED_LIBDVDCSS=1
    STATIC_LIBDVDCSS=1
    BUILTINS="${BUILTINS} dvdread" 
    CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread"
    LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a lib/libdvdcss.a"
703
  fi ])
Stéphane Borel's avatar
Stéphane Borel committed
704

705
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
706
dnl  VCD module
707
708
dnl
AC_ARG_ENABLE(vcd,
Sam Hocevar's avatar
   
Sam Hocevar committed
709
  [  --enable-vcd            VCD support for Linux (default enabled)])
710

Sam Hocevar's avatar
   
Sam Hocevar committed
711
712
713
714
715
716
if test x$enable_vcd != xno
then
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
    BUILTINS="${BUILTINS} vcd"
  ])
fi
717

718
719
720
721
722
if test x$enable_vcd != xno -a "${SYS}" = "bsdi"
then
  BUILTINS="${BUILTINS} vcd"
fi

Sam Hocevar's avatar
   
Sam Hocevar committed
723
724
725
726
727
dnl
dnl  dummy plugin
dnl
AC_ARG_ENABLE(dummy,
  [  --disable-dummy         dummy module (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
728
729
730
731
732

if test x$enable_dummy != xno
then
  BUILTINS="${BUILTINS} dummy"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
733
734
735
736
737
738

dnl
dnl  null plugin
dnl
AC_ARG_ENABLE(null,
  [  --disable-null          Null module (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
739
740
741
742
743

if test x$enable_null != xno
then
  BUILTINS="${BUILTINS} null"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
744
745
746
747
748
749

dnl
dnl  rc plugin
dnl
AC_ARG_ENABLE(rc,
  [  --disable-rc            rc module (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
750
751
752
753
754

if test x$enable_rc != xno
then
  BUILTINS="${BUILTINS} rc"
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
755

Sam Hocevar's avatar
   
Sam Hocevar committed
756
dnl special case for BeOS
Sam Hocevar's avatar
   
Sam Hocevar committed
757
758
if test x$SYS = xbeos
then
Sam Hocevar's avatar
   
Sam Hocevar committed
759
    BUILTINS="${BUILTINS} beos"
Sam Hocevar's avatar
   
Sam Hocevar committed
760
    LIB_BEOS="-lbe -lgame -lroot -ltracker"
Sam Hocevar's avatar
   
Sam Hocevar committed
761
    PLCFLAGS="${PLCFLAGS} -nostart"
762
763
764
765

dnl default case
else

Sam Hocevar's avatar
   
Sam Hocevar committed
766
767
dnl
dnl  OSS /dev/dsp module
768
dnl  (enabled by default except on win32)
Sam Hocevar's avatar
   
Sam Hocevar committed
769
dnl
770
AC_ARG_ENABLE(dsp,
771
  [  --disable-dsp           Linux /dev/dsp support (default enabled)])
Sam Hocevar's avatar
   
Sam Hocevar committed
772

773
774
if test x$enable_dsp != xno &&
  (test $SYS != mingw32 || test x$enable_dsp = xyes)
Sam Hocevar's avatar
   
Sam Hocevar committed
775
776
777
then
  if test -c /dev/dsp
  then
Sam Hocevar's avatar
   
Sam Hocevar committed
778
    PLUGINS="${PLUGINS} dsp"
779
780
  fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
781
782
783
784

dnl
dnl  Esound module
dnl
785
AC_ARG_ENABLE(esd,
786
  [  --enable-esd            Esound library support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
787
788
  [if test x$enable_esd = xyes
   then
Sam Hocevar's avatar
   
Sam Hocevar committed
789
     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
Sam Hocevar's avatar
   
Sam Hocevar committed
790
791
     if test x${ESD_CONFIG} != xno
     then
Sam Hocevar's avatar
   
Sam Hocevar committed
792
       PLUGINS="${PLUGINS} esd"
Sam Hocevar's avatar
   
Sam Hocevar committed
793
       CFLAGS_ESD="`${ESD_CONFIG} --cflags`"
Sam Hocevar's avatar
   
Sam Hocevar committed
794
795
       LIB_ESD="`${ESD_CONFIG} --libs`"
     fi
Sam Hocevar's avatar
   
Sam Hocevar committed
796
797
   fi])

Sam Hocevar's avatar
   
Sam Hocevar committed
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
dnl
dnl  aRts module
dnl
AC_ARG_ENABLE(arts,
  [  --enable-arts           aRts sound server (default disabled)],
  [if test x$enable_arts = xyes
   then
     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
     if test x${ARTS_CONFIG} != xno
     then
       PLUGINS="${PLUGINS} arts"
       CFLAGS_ARTS="`${ARTS_CONFIG} --cflags`"
       LIB_ARTS="`${ARTS_CONFIG} --libs `"
     fi
   fi])

Sam Hocevar's avatar
   
Sam Hocevar committed
814
815
816
dnl
dnl  MacOS X module
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
817
AC_ARG_ENABLE(macosx,
818
  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
Sam Hocevar's avatar
   
Sam Hocevar committed
819
820
  [if test x$enable_macosx = xyes
   then
821
822
823
     BUILTINS="${BUILTINS} macosx"
     LIB_MACOSX="-framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime"
     LIB="${LIB} -ObjC"
Sam Hocevar's avatar
   
Sam Hocevar committed
824
   fi],
825
826
827
828
  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
     BUILTINS="${BUILTINS} macosx"
     LIB_MACOSX="-framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime"
     LIB="${LIB} -ObjC"
Sam Hocevar's avatar
   
Sam Hocevar committed
829
830
   )])

831
832
833
834
dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
835
  [  --disable-qnx           QNX RTOS support (default enabled on QNX RTOS)])
Sam Hocevar's avatar
   
Sam Hocevar committed
836
837
    if test x$enable_qnx != xno
    then
838
839
840
841
842
843
      AC_CHECK_HEADERS(Ph.h, [
        PLUGINS="${PLUGINS} qnx"
        LIB_QNX="-lasound -lph"
      ])
    fi

Sam Hocevar's avatar
   
Sam Hocevar committed
844
845
846
dnl
dnl  Linux framebuffer module
dnl
847
848
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
849
850
851
852
  [ if test x$enable_fb = xyes
    then
      PLUGINS="${PLUGINS} fb"
    fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
853
854
855
856

dnl
dnl  GGI module
dnl
Christophe Massiot's avatar
Christophe Massiot committed
857
858
AC_ARG_WITH(ggi,
  [  --with-ggi[=name]       GGI support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
859
  [ if test "x$withval" != "xno"
Christophe Massiot's avatar
Christophe Massiot committed
860
    then
Sam Hocevar's avatar
   
Sam Hocevar committed
861
862
      PLUGINS="${PLUGINS} ggi"
      if test "x$withval" != "xyes"
Sam Hocevar's avatar
   
Sam Hocevar committed
863
864
865
866
867
      then
        LIB_GGI="-l"$withval
      else
        LIB_GGI="-lggi"
      fi
Christophe Massiot's avatar
Christophe Massiot committed
868
    fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
869
870
871
872

dnl
dnl  SDL module
dnl
873
874
AC_ARG_ENABLE(sdl,
  [  --disable-sdl           SDL support (default enabled)])
875
if test "x$enable_sdl" != "xno"
876
then
877
878
879
880
881
882
883
884
  SDL_PATH=$PATH
  AC_ARG_WITH(sdl-config-path,
    [  --with-sdl-config-path=path sdl-config path (default search in \$PATH)],
    [ if test "x$withval" != "xno"
      then
        SDL_PATH=$withval:$PATH
      fi ])
  AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, $SDL_PATH)
885
886
  SDL_CONFIG=${SDL12_CONFIG}
  SDL_HEADER="SDL12/SDL.h"
Sam Hocevar's avatar
   
Sam Hocevar committed
887
888
  if test x${SDL_CONFIG} = xno
  then
889
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, $SDL_PATH)
Sam Hocevar's avatar
   
Sam Hocevar committed
890
    SDL_CONFIG=${SDL11_CONFIG}
891
892
    SDL_HEADER="SDL11/SDL.h"
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
893
894
  if test x${SDL_CONFIG} = xno
  then
895
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, $SDL_PATH)
896
    SDL_HEADER="SDL/SDL.h"
897
  fi
Sam Hocevar's avatar
   
Sam Hocevar committed
898
899
  if test x${SDL_CONFIG} != xno
  then
900
901
902
    PLUGINS="${PLUGINS} sdl"
    CFLAGS_SDL="`${SDL_CONFIG} --cflags`"
    LIB_SDL="`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
Sam Hocevar's avatar
   
Sam Hocevar committed
903
904
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="$CPPFLAGS $CFLAGS_SDL"
905
906
    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),
907
908
909
910
      [ 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
911
    CPPFLAGS=$save_CPPFLAGS
Sam Hocevar's avatar
   
Sam Hocevar committed
912
    if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
Sam Hocevar's avatar
   
Sam Hocevar committed
913
    then
914
915
916
      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
917
    fi
918
  elif test "x$enable_sdl" =  "xyes"
Sam Hocevar's avatar
   
Sam Hocevar committed
919
  then
920
921
922
    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.
    ])
923
924
  fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
925

Sam Hocevar's avatar
   
Sam Hocevar committed
926
927
928
dnl
dnl  Windows DirectX module
dnl
929
AC_ARG_ENABLE(directx,
930
931
932
933
934
935
936
937
  [  --disable-directx       Windows DirectX support (default enabled on WIN32)])
if test "x$enableval" != "xno"
then
  if test $SYS = mingw32
  then
    AC_ARG_WITH(directx-path, 
    [  --with-directx-path=path Windows DirectX headers and libraries])
    if test "x$with_directx_path" = "x"
Sam Hocevar's avatar
   
Sam Hocevar committed
938
    then
939
940
941
942
943
944
      AC_CHECK_HEADERS(directx.h,
      [ PLUGINS="${PLUGINS} directx"
        LIB_DIRECTX="-lgdi32 -ldxguid" ])
    else
      AC_MSG_CHECKING(for directX headers in ${withval})
      if test -f ${withval}/include/directx.h
gbazin's avatar
   
gbazin committed
945
      then
946
947
948
949
        PLUGINS="${PLUGINS} directx"
        LIB_DIRECTX="-L${withval}/lib -lgdi32 -ldxguid"
        INCLUDE="${INCLUDE} -I${withval}/include"
        AC_MSG_RESULT(yes)
gbazin's avatar
   
gbazin committed
950
      else
951
952
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([Cannot find ${withval}/include/directx.h!])
gbazin's avatar
   
gbazin committed
953
      fi
954
955
956
    fi
  fi
fi
Sam Hocevar's avatar
   
Sam Hocevar committed
957

Sam Hocevar's avatar
   
Sam Hocevar committed
958
959
960
dnl
dnl  Glide module
dnl
Christophe Massiot's avatar
Christophe Massiot committed
961
962
AC_ARG_WITH(glide,
  [  --with-glide[=name]     Glide (3dfx) support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
963
  [ if test "x$withval" != "xno"
Christophe Massiot's avatar
Christophe Massiot committed
964
    then
Sam Hocevar's avatar
   
Sam Hocevar committed
965
966
      PLUGINS="${PLUGINS} glide"
      if test "x$withval" != "xyes"
Sam Hocevar's avatar
   
Sam Hocevar committed
967
      then
Sam Hocevar's avatar
   
Sam Hocevar committed
968
        LIB_GLIDE="-l"$withval" -lm"
Sam Hocevar's avatar
   
Sam Hocevar committed
969
      else
Sam Hocevar's avatar
   
Sam Hocevar committed
970
        LIB_GLIDE="-lglide2x -lm"
Sam Hocevar's avatar
   
Sam Hocevar committed
971
      fi
Christophe Massiot's avatar
Christophe Massiot committed
972
    fi ])
Sam Hocevar's avatar
   
Sam Hocevar committed
973
974
975
976

dnl
dnl  ncurses module
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
977
978
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
979
  [if test x$enable_ncurses = xyes; then
Sam Hocevar's avatar
   
Sam Hocevar committed
980
     PLUGINS="${PLUGINS} ncurses"
Sam Hocevar's avatar
   
Sam Hocevar committed
981
982
983
984
985
986
     LIB_NCURSES="-lncurses"
   fi])

dnl
dnl  Qt module
dnl
Sam Hocevar's avatar
   
Sam Hocevar committed
987
988
AC_ARG_ENABLE(qt,
  [  --enable-qt             Qt interface support (default disabled)],
Sam Hocevar's avatar
   
Sam Hocevar committed
989
  [if test x$enable_qt = xyes; then
Sam Hocevar's avatar
   
Sam Hocevar committed
990
991
     PLUGINS="${PLUGINS} qt"
     ALIASES="${ALIASES} qvlc"
Sam Hocevar's avatar
   
Sam Hocevar committed
992
     LIB_QT="-lqt -L${QTDIR}/lib"
Sam Hocevar's avatar
   
Sam Hocevar committed
993
     if test -x ${QTDIR}/bin/moc
Sam Hocevar's avatar
   
Sam Hocevar committed
994
995
996
997
998
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
Sam Hocevar's avatar
   
Sam Hocevar committed
999
1000
   fi])

For faster browsing, not all history is shown. View entire blame