configure.in 26.8 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 6
AC_CANONICAL_HOST

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.83
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=0.0.3
Sam Hocevar's avatar
 
Sam Hocevar committed
20 21
  AC_SUBST(LIBDVDCSS_VERSION)
fi
22

Sam Hocevar's avatar
 
Sam Hocevar committed
23
dnl Save CFLAGS and LDFLAGS
Sam Hocevar's avatar
 
Sam Hocevar committed
24
save_CFLAGS="${CFLAGS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
25
save_LDFLAGS="${LDFLAGS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
26

27 28
dnl Check for tools
AC_PROG_MAKE_SET
Sam Hocevar's avatar
 
Sam Hocevar committed
29 30
AC_PROG_CC
AC_PROG_CPP
Sam Hocevar's avatar
 
Sam Hocevar committed
31
AC_PROG_RANLIB
32 33 34 35

dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL

Sam Hocevar's avatar
 
Sam Hocevar committed
36 37 38 39
dnl Check for endianness if not cross-compiling
if test x${cross_compiling} != xyes; then
  AC_C_BIGENDIAN
fi
40 41 42 43

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
44 45 46 47 48 49 50 51 52 53 54
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")
  ])
])
55
AC_CHECK_FUNCS(usleep)
Sam Hocevar's avatar
 
Sam Hocevar committed
56 57 58
AC_CHECK_FUNC(inet_aton,,[
  AC_CHECK_LIB(resolv,inet_aton,LIB="${LIB} -lresolv")
])
Sam Hocevar's avatar
 
Sam Hocevar committed
59
AC_CHECK_FUNCS(vasprintf)
Sam Hocevar's avatar
 
Sam Hocevar committed
60
AC_CHECK_FUNCS(swab)
Sam Hocevar's avatar
 
Sam Hocevar committed
61

Sam Hocevar's avatar
 
Sam Hocevar committed
62 63
AC_CHECK_FUNCS(sigrelse)

Sam Hocevar's avatar
 
Sam Hocevar committed
64
dnl Check for getopt
Sam Hocevar's avatar
 
Sam Hocevar committed
65
NEED_GETOPT=0
Sam Hocevar's avatar
 
Sam Hocevar committed
66 67 68
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
69
    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB="${LIB} -lgnugetopt"],
Sam Hocevar's avatar
 
Sam Hocevar committed
70
    [NEED_GETOPT=1])])
Sam Hocevar's avatar
 
Sam Hocevar committed
71

72 73
AC_FUNC_MMAP
AC_TYPE_SIGNAL
Sam Hocevar's avatar
 
Sam Hocevar committed
74 75
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
76

Sam Hocevar's avatar
 
Sam Hocevar committed
77
dnl Check for pthreads - borrowed from XMMS
Sam Hocevar's avatar
 
Sam Hocevar committed
78 79 80 81 82 83 84 85 86 87 88 89 90 91
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
92 93 94

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

Sam Hocevar's avatar
 
Sam Hocevar committed
96 97 98
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
99
            Define if <pthread.h> defines pthread_cond_t.)])
Sam Hocevar's avatar
 
Sam Hocevar committed
100 101
AC_EGREP_HEADER(strncasecmp,strings.h,[
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Sam Hocevar's avatar
 
Sam Hocevar committed
102
            Define if <strings.h> defines strncasecmp.)])
Sam Hocevar's avatar
 
Sam Hocevar committed
103

Sam Hocevar's avatar
 
Sam Hocevar committed
104 105
dnl Check for headers
AC_CHECK_HEADERS(stddef.h getopt.h strings.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
106
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
107 108 109 110 111 112 113 114
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
115
dnl Check for ntohl, etc.
Sam Hocevar's avatar
 
Sam Hocevar committed
116
CFLAGS="${save_CFLAGS} -Wall -Werror"
Christophe Massiot's avatar
Christophe Massiot committed
117 118 119
AC_MSG_CHECKING([for ntohl in sys/param.h])
AC_TRY_COMPILE([#include <sys/param.h>
void foo() { int meuh; ntohl(meuh); }],,
Sam Hocevar's avatar
 
Sam Hocevar committed
120
 AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
Sam Hocevar's avatar
 
Sam Hocevar committed
121 122
 AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
123
dnl Check for inline function size limit
124
CFLAGS="${save_CFLAGS} -finline-limit-20000"
Sam Hocevar's avatar
 
Sam Hocevar committed
125 126
AC_MSG_CHECKING([if \$CC accepts -finline-limit])
AC_TRY_COMPILE([],,
127
 save_CFLAGS="${save_CFLAGS} -finline-limit-20000"; AC_MSG_RESULT(yes),
Sam Hocevar's avatar
 
Sam Hocevar committed
128 129
 AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
130 131
dnl Check for Darwin plugin linking flags
CFLAGS="${save_CFLAGS} -bundle -undefined suppress"
Sam Hocevar's avatar
 
Sam Hocevar committed
132
AC_MSG_CHECKING([if \$CC accepts -bundle -undefined suppress])
Sam Hocevar's avatar
 
Sam Hocevar committed
133 134 135 136 137 138
AC_TRY_COMPILE([],,
 PLCFLAGS="${PLCFLAGS} -bundle -undefined suppress"; AC_MSG_RESULT(yes),
 AC_MSG_RESULT(no))

dnl Check for standard plugin linking flags
CFLAGS="${save_CFLAGS} -shared"
Sam Hocevar's avatar
 
Sam Hocevar committed
139
AC_MSG_CHECKING([if \$CC accepts -shared])
Sam Hocevar's avatar
 
Sam Hocevar committed
140 141 142 143
AC_TRY_COMPILE([],,
 PLCFLAGS="${PLCFLAGS} -shared"; AC_MSG_RESULT(yes),
 AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
dnl Check for standard soname setting
if test x"${SOFLAGS}" = x; then
  try_SOFLAGS="-Wl,-soname -Wl,"
  LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
  AC_MSG_CHECKING([if linker accepts ${try_SOFLAGS}foo.so.0])
  AC_TRY_LINK([],,
   SOFLAGS="${try_SOFLAGS}"; AC_MSG_RESULT(yes),
   AC_MSG_RESULT(no))
fi

dnl Check for SunOS soname setting
if test x"${SOFLAGS}" = x; then
  try_SOFLAGS="-Wl,-h -Wl,"
  LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0"
  AC_MSG_CHECKING([if linker accepts ${try_SOFLAGS}foo.so.0])
  AC_TRY_LINK([],,
   SOFLAGS="${try_SOFLAGS}"; AC_MSG_RESULT(yes),
   AC_MSG_RESULT(no))
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
164
dnl End of the bizarre compilation tests
Sam Hocevar's avatar
 
Sam Hocevar committed
165
CFLAGS="${save_CFLAGS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
166
LDFLAGS="${save_LDFLAGS}"
Christophe Massiot's avatar
Christophe Massiot committed
167

168
dnl Check for boolean_t
Sam Hocevar's avatar
 
Sam Hocevar committed
169 170 171 172 173
AC_MSG_CHECKING([for boolean_t in sys/types.h])
AC_TRY_COMPILE([#include <sys/types.h>
void quux() { boolean_t foo; }],,
 AC_DEFINE(BOOLEAN_T_IN_SYS_TYPES_H, 1, Define if <sys/types.h> defines boolean_t.)
 AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
174 175 176 177 178
AC_MSG_CHECKING([for boolean_t in pthread.h])
AC_TRY_COMPILE([#include <pthread.h>
void quux() { boolean_t foo; }],,
 AC_DEFINE(BOOLEAN_T_IN_PTHREAD_H, 1, Define if <pthread.h> defines boolean_t.)
 AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
Sam Hocevar's avatar
 
Sam Hocevar committed
179 180 181 182 183
AC_MSG_CHECKING([for boolean_t in cthreads.h])
AC_TRY_COMPILE([#include <cthreads.h>
void quux() { boolean_t foo; }],,
 AC_DEFINE(BOOLEAN_T_IN_CTHREADS_H, 1, Define if <cthreads.h> defines boolean_t.)
 AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
Sam Hocevar's avatar
 
Sam Hocevar committed
184

185 186 187 188 189
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_HEADER_TIME

190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
    [ac_cv_c_attribute_aligned],
    [ac_cv_c_attribute_aligned=0
    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
206 207 208 209 210
ARCH=${host_cpu}

dnl
dnl  default modules
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
211 212
BUILTINS="${BUILTINS} es ps ts yuv idct idctclassic motion imdct downmix"
PLUGINS="${PLUGINS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
213 214 215 216

dnl
dnl  Accelerated modules
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
217
MMX_MODULES="yuvmmx idctmmx motionmmx"
Sam Hocevar's avatar
 
Sam Hocevar committed
218 219 220
MMXEXT_MODULES="idctmmxext motionmmxext"
THREEDNOW_MODULES="imdct3dn downmix3dn"
SSE_MODULES="imdctsse downmixsse"
221

Sam Hocevar's avatar
 
Sam Hocevar committed
222 223
AC_MSG_CHECKING([if \$CC groks MMX inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("packuswb %%mm1,%%mm2"::"r"(p));}],,
Sam Hocevar's avatar
 
Sam Hocevar committed
224
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
Sam Hocevar's avatar
 
Sam Hocevar committed
225 226
  AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
227
AC_MSG_CHECKING([if \$CC groks MMX EXT inline assembly])
Sam Hocevar's avatar
 
Sam Hocevar committed
228
AC_TRY_COMPILE([void quux(){void *p;asm("maskmovq %%mm1,%%mm2"::"r"(p));}],,
Sam Hocevar's avatar
 
Sam Hocevar committed
229
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
Sam Hocevar's avatar
 
Sam Hocevar committed
230 231
  AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
232 233 234 235 236 237 238 239 240 241
AC_MSG_CHECKING([if \$CC groks 3D Now! inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("pfadd %%mm1,%%mm2"::"r"(p));}],,
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
  AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

AC_MSG_CHECKING([if \$CC groks SSE inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("xorps %%xmm1,%%xmm2"::"r"(p));}],,
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
  AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

242 243 244 245 246
AC_MSG_CHECKING([if \$CC groks Altivec inline assembly])
AC_TRY_COMPILE([void quux(){void *p;asm("mtspr 256,%0"::"r"(-1));}],,
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
  AC_MSG_RESULT(yes), AC_MSG_RESULT(no))

Sam Hocevar's avatar
 
Sam Hocevar committed
247
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
248
dnl  libdvdcss: check for DVD ioctls
Sam Hocevar's avatar
 
Sam Hocevar committed
249
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
250

Sam Hocevar's avatar
 
Sam Hocevar committed
251 252 253
dnl  default is no
CAN_BUILD_LIBDVDCSS=0

Sam Hocevar's avatar
 
Sam Hocevar committed
254 255
dnl  for windoze
AC_CHECK_HEADERS(winioctl.h,[
Sam Hocevar's avatar
 
Sam Hocevar committed
256
  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
257 258
])

Sam Hocevar's avatar
 
Sam Hocevar committed
259
dnl  for Un*x and BeOS
Sam Hocevar's avatar
 
Sam Hocevar committed
260
AC_CHECK_HEADERS(sys/ioctl.h,[
Sam Hocevar's avatar
 
Sam Hocevar committed
261
  CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
262
  AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
263
  BSD_DVD_STRUCT=0
Sam Hocevar's avatar
 
Sam Hocevar committed
264
  LINUX_DVD_STRUCT=0
Sam Hocevar's avatar
 
Sam Hocevar committed
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
  dnl
  dnl Old FreeBSD: sys/cdio.h
  dnl
  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.)
    BSD_DVD_STRUCT=1
  ])
  dnl
  dnl Newer FreeBSD: sys/dvdio.h
  dnl
  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.)
    BSD_DVD_STRUCT=1
  ])
  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
287 288 289 290 291
    LINUX_DVD_STRUCT=1
  ])
  dnl
  dnl BSDI: dvd.h
  dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
292
  NEED_BSDI_LIBDVD=0
Sam Hocevar's avatar
 
Sam Hocevar committed
293 294 295
  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
296
    LIB_LIBDVDCSS="${LIB_LIBDVDCSS} -ldvd"
Sam Hocevar's avatar
 
Sam Hocevar committed
297
    LINUX_DVD_STRUCT=1
Sam Hocevar's avatar
 
Sam Hocevar committed
298 299 300 301 302 303
  ],[
    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
304 305
      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
306
      OBJ_LIBDVDCSS="${OBJ_LIBDVDCSS} bsdi_dvdioctl.o"
Sam Hocevar's avatar
 
Sam Hocevar committed
307 308
      LINUX_DVD_STRUCT=1
    ])
Sam Hocevar's avatar
 
Sam Hocevar committed
309
  ])
Sam Hocevar's avatar
 
Sam Hocevar committed
310
  dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
311
  dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h
Sam Hocevar's avatar
 
Sam Hocevar committed
312
  dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
313
  AC_CHECK_HEADER(sys/scsi/scsi_types.h,[
Sam Hocevar's avatar
 
Sam Hocevar committed
314 315 316 317 318
    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
319 320 321 322 323 324 325 326 327 328 329
  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.)
  else
    if test x$BSD_DVD_STRUCT = x1; then
      AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1,
                Define if BSD-like dvd_struct is defined.)
    fi
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
330 331
])

Sam Hocevar's avatar
 
Sam Hocevar committed
332

Sam Hocevar's avatar
 
Sam Hocevar committed
333 334 335 336
dnl
dnl  Check the operating system
dnl
case ${host_os} in
Sam Hocevar's avatar
 
Sam Hocevar committed
337 338 339
  bsdi*)
    SYS=bsdi
    ;;
Sam Hocevar's avatar
 
Sam Hocevar committed
340 341 342 343 344 345 346 347
  darwin*)
    SYS=darwin
    ;;
  *)
    SYS=${host_os}
    ;;
esac

Sam Hocevar's avatar
 
Sam Hocevar committed
348 349 350
dnl
dnl  PentiumPro acceleration
dnl
351
AC_ARG_ENABLE(ppro,
Sam Hocevar's avatar
 
Sam Hocevar committed
352
  [  --disable-ppro          Disable PentiumPro optimizations (default enabled for x86)],
Sam Hocevar's avatar
 
Sam Hocevar committed
353 354
[ if test x$enableval = xyes; then ARCH="${ARCH} ppro"; fi ],
[ if test x${host_cpu} = xi686; then ARCH="${ARCH} ppro"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
355 356 357 358

dnl
dnl  MMX acceleration
dnl
359
AC_ARG_ENABLE(mmx,
Christophe Massiot's avatar
Christophe Massiot committed
360
[  --disable-mmx           Disable MMX optimizations (default enabled for x86)],
Sam Hocevar's avatar
 
Sam Hocevar committed
361
[ if test x$enableval = xyes; then ARCH="${ARCH} mmx";
362
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
Sam Hocevar's avatar
 
Sam Hocevar committed
363
[ if test x${host_cpu} = xi686 -o x${host_cpu} = xi586 -o x${host_cpu} = xx86 -o x${host_cpu} = xi386; then ARCH="${ARCH} mmx";
364
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
365 366 367 368

dnl
dnl  AltiVec acceleration
dnl
369
AC_ARG_ENABLE(altivec,
370 371 372 373 374
[  --disable-altivec       Disable altivec optimizations (default enabled on PPC)],
[ if test x$enableval = xyes; then ARCH="${ARCH} altivec";
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
[ if test x${host_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
375 376 377 378

dnl
dnl  Debugging mode
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
379
DEBUG=0
380
AC_ARG_ENABLE(debug,
381
[  --enable-debug          Enable debug mode (default disabled)],
382
[ if test x$enableval = xyes; then DEBUG=1; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
383 384 385 386

dnl
dnl  Enable/disable statistics
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
387
STATS=0
388
AC_ARG_ENABLE(stats,
389
[  --enable-stats          Enable printing of statistics (default disabled)],
390
[ if test x$enableval = xyes; then STATS=1; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
391

392 393 394
dnl
dnl  Trace mode
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
395
TRACE=0
396 397 398 399
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
400
dnl
401
dnl  Profiling
Sam Hocevar's avatar
 
Sam Hocevar committed
402
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
403 404 405 406 407 408 409 410 411 412 413 414 415 416
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
417

Sam Hocevar's avatar
 
Sam Hocevar committed
418 419 420
dnl
dnl  Enable/disable optimizations
dnl
421
AC_ARG_ENABLE(optimizations,
422
[  --disable-optimizations Disable compiler optimizations (default enabled)],
423 424
[ if test x$enableval = xno; then OPTIMS=0; fi ],
[ OPTIMS=1 ])
425

Sam Hocevar's avatar
 
Sam Hocevar committed
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442
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
443
dnl  DVD module: check for installed libdvdcss or local libdvdcss
Sam Hocevar's avatar
 
Sam Hocevar committed
444
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
445
NEED_LIBDVDCSS=0
Sam Hocevar's avatar
 
Sam Hocevar committed
446
STATIC_LIBDVDCSS=0
Sam Hocevar's avatar
 
Sam Hocevar committed
447
DUMMY_LIBDVDCSS=0
Sam Hocevar's avatar
 
Sam Hocevar committed
448
AC_ARG_WITH(dvdcss,
Sam Hocevar's avatar
 
Sam Hocevar committed
449
  [  --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
450 451 452 453 454
  [ 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
455
        NEED_LIBDVDCSS=1
Sam Hocevar's avatar
 
Sam Hocevar committed
456 457 458
        STATIC_LIBDVDCSS=1
        BUILTINS="${BUILTINS} dvd"
        CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
Sam Hocevar's avatar
 
Sam Hocevar committed
459 460
        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
461 462 463 464
      fi
    ;;
    xlocal-shared)
      # local libdvdcss, dynamically linked
Sam Hocevar's avatar
 
Sam Hocevar committed
465 466
      if test x${CAN_BUILD_LIBDVDCSS} = x1
      then
Sam Hocevar's avatar
 
Sam Hocevar committed
467
        NEED_LIBDVDCSS=1
Sam Hocevar's avatar
 
Sam Hocevar committed
468 469 470 471 472
        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
473
    ;;
Sam Hocevar's avatar
 
Sam Hocevar committed
474 475 476 477 478 479
    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
480
      CFLAGS_DVD="${CFLAGS_DVD} -DLIBDVDCSS_VERSION=\"${LIBDVDCSS_VERSION}\""
Sam Hocevar's avatar
 
Sam Hocevar committed
481 482 483
      LIB_DVD="${LIB_DVD} -ldl"
      LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl"
    ;;
Sam Hocevar's avatar
 
Sam Hocevar committed
484
    *)
Sam Hocevar's avatar
 
Sam Hocevar committed
485 486 487 488 489 490 491 492 493
      # 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
494
    esac ],
Sam Hocevar's avatar
 
Sam Hocevar committed
495
  # user didn't decide, we choose to use local libdvdcss and link statically
Sam Hocevar's avatar
 
Sam Hocevar committed
496
  # if libdvdcss is in the archive, or to use the dummy replacement otherwise.
Sam Hocevar's avatar
 
Sam Hocevar committed
497 498
  [ if test x${CAN_BUILD_LIBDVDCSS} = x1
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
499
      NEED_LIBDVDCSS=1
Sam Hocevar's avatar
 
Sam Hocevar committed
500 501 502
      STATIC_LIBDVDCSS=1
      BUILTINS="${BUILTINS} dvd"
      CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss"
Sam Hocevar's avatar
 
Sam Hocevar committed
503 504
      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
505 506 507 508 509 510 511 512
    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
513
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
514

Sam Hocevar's avatar
 
Sam Hocevar committed
515 516 517 518 519
dnl
dnl  dummy plugin
dnl
AC_ARG_ENABLE(dummy,
  [  --disable-dummy         dummy module (default enabled)])
Sam Hocevar's avatar
 
Sam Hocevar committed
520 521 522 523 524

if test x$enable_dummy != xno
then
  BUILTINS="${BUILTINS} dummy"
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
525 526 527 528 529 530

dnl
dnl  null plugin
dnl
AC_ARG_ENABLE(null,
  [  --disable-null          Null module (default enabled)])
Sam Hocevar's avatar
 
Sam Hocevar committed
531 532 533 534 535

if test x$enable_null != xno
then
  BUILTINS="${BUILTINS} null"
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
536 537 538 539 540 541

dnl
dnl  rc plugin
dnl
AC_ARG_ENABLE(rc,
  [  --disable-rc            rc module (default enabled)])
Sam Hocevar's avatar
 
Sam Hocevar committed
542 543 544 545 546

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

Sam Hocevar's avatar
 
Sam Hocevar committed
548
dnl special case for BeOS
Sam Hocevar's avatar
 
Sam Hocevar committed
549 550
if test x$SYS = xbeos
then
Sam Hocevar's avatar
 
Sam Hocevar committed
551
    BUILTINS="${BUILTINS} beos"
Sam Hocevar's avatar
 
Sam Hocevar committed
552
    LIB_BEOS="-lbe -lgame -lroot -ltracker"
Sam Hocevar's avatar
 
Sam Hocevar committed
553
    PLCFLAGS="${PLCFLAGS} -nostart"
554 555 556 557

dnl default case
else

Sam Hocevar's avatar
 
Sam Hocevar committed
558 559 560
dnl
dnl  OSS /dev/dsp module
dnl
561
AC_ARG_ENABLE(dsp,
562
  [  --disable-dsp           Linux /dev/dsp support (default enabled)])
Sam Hocevar's avatar
 
Sam Hocevar committed
563 564 565 566 567

if test x$enable_dsp != xno
then
  if test -c /dev/dsp
  then
Sam Hocevar's avatar
 
Sam Hocevar committed
568
    PLUGINS="${PLUGINS} dsp"
569 570
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
571 572 573 574

dnl
dnl  Esound module
dnl
575
AC_ARG_ENABLE(esd,
576
  [  --enable-esd            Esound library support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
577 578
  [if test x$enable_esd = xyes
   then
Sam Hocevar's avatar
 
Sam Hocevar committed
579
     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
Sam Hocevar's avatar
 
Sam Hocevar committed
580 581
     if test x${ESD_CONFIG} != xno
     then
Sam Hocevar's avatar
 
Sam Hocevar committed
582
       PLUGINS="${PLUGINS} esd"
Sam Hocevar's avatar
 
Sam Hocevar committed
583 584
       LIB_ESD="`${ESD_CONFIG} --libs`"
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
585 586 587 588 589
   fi])

dnl
dnl  Darwin module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
590 591
AC_ARG_ENABLE(darwin,
  [  --enable-darwin         Darwin sound support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
592
  [if test x$enable_darwin = xyes; then
Sam Hocevar's avatar
 
Sam Hocevar committed
593
     PLUGINS="${PLUGINS} darwin"
Sam Hocevar's avatar
 
Sam Hocevar committed
594 595 596 597 598 599
     LIB_DARWIN="-framework CoreAudio"
   fi])

dnl
dnl  MacOS X module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
600
AC_ARG_ENABLE(macosx,
601
  [  --enable-macosx         Mac OS X interface support (default enabled in Mac OS X)],
Sam Hocevar's avatar
 
Sam Hocevar committed
602 603
  [if test x$enable_macosx = xyes
   then
Sam Hocevar's avatar
 
Sam Hocevar committed
604
     BUILTINS="${BUILTINS} macosx"
Sam Hocevar's avatar
 
Sam Hocevar committed
605
     LIB_MACOSX="-framework CoreAudio -framework Carbon -framework AGL"
Sam Hocevar's avatar
 
Sam Hocevar committed
606 607
     LIB_TS="${LIB_TS} -framework AGL -framework Carbon"
     LIB_SDL="${LIB_SDL} -framework AGL -framework Carbon"
608
	 LIB_ALTIVEC="-framework vecLib"
Sam Hocevar's avatar
 
Sam Hocevar committed
609 610
   fi],
  [AC_CHECK_HEADERS(Carbon/Carbon.h,
Sam Hocevar's avatar
 
Sam Hocevar committed
611
     BUILTINS="${BUILTINS} macosx"
Sam Hocevar's avatar
 
Sam Hocevar committed
612
     LIB_MACOSX="-framework CoreAudio -framework Carbon -framework AGL"
Sam Hocevar's avatar
 
Sam Hocevar committed
613 614
     LIB_TS="${LIB_TS} -framework AGL -framework Carbon"
     LIB_SDL="${LIB_SDL} -framework AGL -framework Carbon"
615
	 LIB_ALTIVEC="-framework vecLib"
Sam Hocevar's avatar
 
Sam Hocevar committed
616 617
   )])

618 619 620 621
dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
Sam Hocevar's avatar
 
Sam Hocevar committed
622 623 624
  [  --disable-qnx           QNX RTOS support (default enabled in QNX RTOS)])
    if test x$enable_qnx != xno
    then
625 626 627 628 629 630
      AC_CHECK_HEADERS(Ph.h, [
        PLUGINS="${PLUGINS} qnx"
        LIB_QNX="-lasound -lph"
      ])
    fi

Sam Hocevar's avatar
 
Sam Hocevar committed
631 632 633
dnl
dnl  Linux framebuffer module
dnl
634 635
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
636 637 638 639
  [ if test x$enable_fb = xyes
    then
      PLUGINS="${PLUGINS} fb"
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
640 641 642 643

dnl
dnl  GGI module
dnl
Christophe Massiot's avatar
Christophe Massiot committed
644 645
AC_ARG_WITH(ggi,
  [  --with-ggi[=name]       GGI support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
646
  [ if test "x$withval" != "xno"
Christophe Massiot's avatar
Christophe Massiot committed
647
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
648 649
      PLUGINS="${PLUGINS} ggi"
      if test "x$withval" != "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
650 651 652 653 654
      then
        LIB_GGI="-l"$withval
      else
        LIB_GGI="-lggi"
      fi
Christophe Massiot's avatar
Christophe Massiot committed
655
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
656 657 658 659

dnl
dnl  SDL module
dnl
660 661
AC_ARG_ENABLE(sdl,
  [  --disable-sdl           SDL support (default enabled)])
662
if test "x$enable_sdl" != "xno"
663
then
664 665 666 667 668 669 670 671
  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)
672 673
  SDL_CONFIG=${SDL12_CONFIG}
  SDL_HEADER="SDL12/SDL.h"
Sam Hocevar's avatar
 
Sam Hocevar committed
674 675
  if test x${SDL_CONFIG} = xno
  then
676
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, $SDL_PATH)
Sam Hocevar's avatar
 
Sam Hocevar committed
677
    SDL_CONFIG=${SDL11_CONFIG}
678 679
    SDL_HEADER="SDL11/SDL.h"
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
680 681
  if test x${SDL_CONFIG} = xno
  then
682
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, $SDL_PATH)
683
    SDL_HEADER="SDL/SDL.h"
684
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
685 686
  if test x${SDL_CONFIG} != xno
  then
687 688 689
    PLUGINS="${PLUGINS} sdl"
    CFLAGS_SDL="`${SDL_CONFIG} --cflags`"
    LIB_SDL="`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
Sam Hocevar's avatar
 
Sam Hocevar committed
690 691
    save_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="$CPPFLAGS $CFLAGS_SDL"
692 693
    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),
694 695 696 697
      [ 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
698
    CPPFLAGS=$save_CPPFLAGS
Sam Hocevar's avatar
 
Sam Hocevar committed
699
    if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
Sam Hocevar's avatar
 
Sam Hocevar committed
700
    then
701 702 703
      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
704
    fi
705
  elif test "x$enable_sdl" =  "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
706
  then
707 708 709
    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.
    ])
710 711
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
712

Sam Hocevar's avatar
 
Sam Hocevar committed
713 714 715 716 717
dnl
dnl  Windows DirectX module
dnl
AC_ARG_WITH(directx,
  [  --with-directx[=name]   Windows DirectX support (default enabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
718
  [ if test "x$withval" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
719
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
720 721
      PLUGINS="${PLUGINS} directx"
      if test "x$withval" != "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
722
      then
Sam Hocevar's avatar
 
Sam Hocevar committed
723
        LIB_DIRECTX="${LIB_DIRECTX} -L"$withval"/lib -lgdi32 -ldxguid"
Sam Hocevar's avatar
 
Sam Hocevar committed
724 725
        INCLUDE="${INCLUDE} -I"$withval"/include"
      else
726 727 728
        AC_CHECK_HEADERS(directx.h, , 
	  AC_MSG_ERROR([Cannot find DirectX headers !])
	)
Sam Hocevar's avatar
 
Sam Hocevar committed
729
        LIB_DIRECTX="${LIB_DIRECTX} -L/usr/lib -lgdi32 -ldxguid"
Sam Hocevar's avatar
 
Sam Hocevar committed
730 731
      fi
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
732
    if test "x$withval" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
733 734 735
    then
      AC_CHECK_HEADERS(directx.h,
      [PLUGINS="${PLUGINS} directx"
Sam Hocevar's avatar
 
Sam Hocevar committed
736
       LIB_DIRECTX="${LIB_DIRECTX} -L/usr/lib -lgdi32 -ldxguid"])
Sam Hocevar's avatar
 
Sam Hocevar committed
737 738
    fi

Sam Hocevar's avatar
 
Sam Hocevar committed
739 740 741
dnl
dnl  Glide module
dnl
Christophe Massiot's avatar
Christophe Massiot committed
742 743
AC_ARG_WITH(glide,
  [  --with-glide[=name]     Glide (3dfx) support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
744
  [ if test "x$withval" != "xno"
Christophe Massiot's avatar
Christophe Massiot committed
745
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
746 747
      PLUGINS="${PLUGINS} glide"
      if test "x$withval" != "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
748
      then
Sam Hocevar's avatar
 
Sam Hocevar committed
749
        LIB_GLIDE="-l"$withval" -lm"
Sam Hocevar's avatar
 
Sam Hocevar committed
750
      else
Sam Hocevar's avatar
 
Sam Hocevar committed
751
        LIB_GLIDE="-lglide2x -lm"
Sam Hocevar's avatar
 
Sam Hocevar committed
752
      fi
Christophe Massiot's avatar
Christophe Massiot committed
753
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
754 755 756 757

dnl
dnl  ncurses module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
758 759
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
760
  [if test x$enable_ncurses = xyes; then
Sam Hocevar's avatar
 
Sam Hocevar committed
761
     PLUGINS="${PLUGINS} ncurses"
Sam Hocevar's avatar
 
Sam Hocevar committed
762 763 764 765 766 767
     LIB_NCURSES="-lncurses"
   fi])

dnl
dnl  Qt module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
768 769
AC_ARG_ENABLE(qt,
  [  --enable-qt             Qt interface support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
770
  [if test x$enable_qt = xyes; then
Sam Hocevar's avatar
 
Sam Hocevar committed
771 772
     PLUGINS="${PLUGINS} qt"
     ALIASES="${ALIASES} qvlc"
Sam Hocevar's avatar
 
Sam Hocevar committed
773
     LIB_QT="-lqt -L${QTDIR}/lib"
Sam Hocevar's avatar
 
Sam Hocevar committed
774
     if test -x ${QTDIR}/bin/moc
Sam Hocevar's avatar
 
Sam Hocevar committed
775 776 777 778 779
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
780 781 782 783 784
   fi])

dnl 
dnl  KDE module
dnl
785 786
AC_ARG_ENABLE(kde,
  [  --enable-kde            KDE interface support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
787
  [if test x$enable_kde = xyes; then
Sam Hocevar's avatar
 
Sam Hocevar committed
788 789
     PLUGINS="${PLUGINS} kde"
     ALIASES="${ALIASES} kvlc"
790 791 792 793 794 795 796
     LIB_KDE="-L${KDEDIR}/lib -lkfile"
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
797
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
798 799 800 801

dnl
dnl  Gnome module
dnl
802
AC_ARG_ENABLE(gnome,
Sam Hocevar's avatar
 
Sam Hocevar committed
803
  [  --enable-gnome          Gnome interface support (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
804
  [if test x$enable_gnome = xyes; then
805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824
    # look for gnome-config
    AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
    if test -x ${GNOME_CONFIG}
    then
       CFLAGS_GNOME="`${GNOME_CONFIG} --cflags gnomeui`"
       LIB_GNOME="`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
    fi
    # now look for the gnome.h header
    saved_CPPFLAGS=$CPPFLAGS
    CPPFLAGS="$CPPFLAGS $CFLAGS_GNOME"
    AC_CHECK_HEADERS(gnome.h, [
      PLUGINS="${PLUGINS} gnome"
      ALIASES="${ALIASES} gnome-vlc"
     ],[
      AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
developement librairie or remove the --enable-gnome option])
     ])
  
    CPPFLAGS=$saved_CPPFLAGS
  fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
825 826 827 828

dnl
dnl  Gtk+ module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
829 830
AC_ARG_ENABLE(gtk,
  [  --disable-gtk           Gtk+ support (default enabled)])
Sam Hocevar's avatar
 
Sam Hocevar committed
831 832 833
if test x$enable_gtk != xno
then
  # look for gtk-config
Sam Hocevar's avatar
 
Sam Hocevar committed
834
  AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
Sam Hocevar's avatar
 
Sam Hocevar committed
835 836
  if test -x ${GTK_CONFIG}
  then
Sam Hocevar's avatar
 
Sam Hocevar committed
837 838
    CFLAGS_GTK="`${GTK_CONFIG} --cflags gtk`"
    LIB_GTK="`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
839
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
840 841 842 843 844 845 846 847
  # now look for the gtk.h header
  saved_CPPFLAGS=$CPPFLAGS
  CPPFLAGS="$CPPFLAGS $CFLAGS_GTK"
  AC_CHECK_HEADERS(gtk/gtk.h, [
    PLUGINS="${PLUGINS} gtk"
    ALIASES="${ALIASES} gvlc"
  ])
  CPPFLAGS=$saved_CPPFLAGS
848
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
849 850 851 852

dnl
dnl  X11 module
dnl
853
AC_ARG_ENABLE(x11,
Sam Hocevar's avatar
 
Sam Hocevar committed
854
  [  --disable-x11           X11 support (default enabled)])
855
if test x$enable_x11 != xno; then
Sam Hocevar's avatar
 
Sam Hocevar committed
856 857 858 859 860 861 862 863
  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
  saved_CPPFLAGS=$CPPFLAGS
  CPPFLAGS="$CPPFLAGS -I$x_includes"
Sam Hocevar's avatar
 
Sam Hocevar committed
864
  AC_CHECK_HEADERS(X11/Xlib.h, [
Sam Hocevar's avatar
 
Sam Hocevar committed
865
    PLUGINS="${PLUGINS} x11"
Sam Hocevar's avatar
 
Sam Hocevar committed
866 867 868 869
    LIB_X11="-L$x_libraries -lX11 -lXext"
    CFLAGS_X11="-I$x_includes"
  ]
  CPPFLAGS=$saved_CPPFLAGS)
870
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
871 872 873 874

dnl
dnl  XVideo module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
875
AC_ARG_ENABLE(xvideo,
Sam Hocevar's avatar
 
Sam Hocevar committed
876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
  [  --disable-xvideo        XVideo support (default enabled)])
if test x$enable_xvideo != xno; 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
  saved_CPPFLAGS=$CPPFLAGS
  CPPFLAGS="$CPPFLAGS -I$x_includes"
  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
    PLUGINS="${PLUGINS} xvideo"
    LIB_XVIDEO="-L$x_libraries -lX11 -lXext -lXv"
    CFLAGS_X11="-I$x_includes"
  ]
  CPPFLAGS=$saved_CPPFLAGS)
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
893 894 895 896

dnl
dnl  ALSA module
dnl
Henri Fallon's avatar
 
Henri Fallon committed
897
AC_ARG_ENABLE(alsa,
898
  [  --enable-alsa           Alsa sound drivers support (Only for linux) (default disabled)],
Sam Hocevar's avatar
 
Sam Hocevar committed
899 900 901 902 903 904 905 906 907
  [if test x$enable_alsa = xyes
   then
     AC_CHECK_HEADER(sys/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
     if test x$have_alsa = xtrue
     then
       PLUGINS="${PLUGINS} alsa"
       LIB_ALSA="-lasound"
     fi
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
908

Sam Hocevar's avatar
 
Sam Hocevar committed
909
dnl  end of non-BeOS stuff
910 911
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
912 913 914
dnl 
dnl  Configuration is finished
dnl
915 916
AC_SUBST(SYS)
AC_SUBST(ARCH)
917
AC_SUBST(PLUGINS)
Sam Hocevar's avatar
 
Sam Hocevar committed
918
AC_SUBST(BUILTINS)
919
AC_SUBST(ALIASES)
Sam Hocevar's avatar
 
Sam Hocevar committed
920
AC_SUBST(DEFINE)
Sam Hocevar's avatar
 
Sam Hocevar committed
921
AC_SUBST(INCLUDE)
922 923
AC_SUBST(DEBUG)
AC_SUBST(STATS)
Sam Hocevar's avatar
 
Sam Hocevar committed
924
AC_SUBST(ASM)
925
AC_SUBST(TRACE)
Sam Hocevar's avatar
 
Sam Hocevar committed
926 927
AC_SUBST(CPROF)
AC_SUBST(GPROF)
928
AC_SUBST(OPTIMS)
Sam Hocevar's avatar
 
Sam Hocevar committed
929
AC_SUBST(NEED_GETOPT)
Sam Hocevar's avatar
 
Sam Hocevar committed
930
AC_SUBST(MOC)
Sam Hocevar's avatar
 
Sam Hocevar committed
931
AC_SUBST(WINDRES)
Sam Hocevar's avatar
 
Sam Hocevar committed
932 933

AC_SUBST(LCFLAGS)
Sam Hocevar's avatar
 
Sam Hocevar committed
934
AC_SUBST(PLCFLAGS)
Sam Hocevar's avatar
 
Sam Hocevar committed
935
AC_SUBST(SOFLAGS)
Sam Hocevar's avatar
 
Sam Hocevar committed
936

Sam Hocevar's avatar
 
Sam Hocevar committed
937
AC_SUBST(LIB)
Sam Hocevar's avatar
 
Sam Hocevar committed
938 939 940
AC_SUBST(LIB_ALSA)
AC_SUBST(LIB_BEOS)
AC_SUBST(LIB_DARWIN)
Sam Hocevar's avatar
 
Sam Hocevar committed
941
AC_SUBST(LIB_DVD)
Sam Hocevar's avatar
 
Sam Hocevar committed
942
AC_SUBST(LIB_DVD_PLUGIN)
Sam Hocevar's avatar
 
Sam Hocevar committed
943
AC_SUBST(LIB_ESD)
Christophe Massiot's avatar
Christophe Massiot committed
944
AC_SUBST(LIB_GGI)
Sam Hocevar's avatar
 
Sam Hocevar committed
945 946 947
AC_SUBST(LIB_GLIDE)
AC_SUBST(LIB_GNOME)
AC_SUBST(LIB_GTK)
948
AC_SUBST(LIB_ALTIVEC)
Sam Hocevar's avatar
 
Sam Hocevar committed
949
AC_SUBST(LIB_LIBDVDCSS)
Sam Hocevar's avatar
 
Sam Hocevar committed
950
AC_SUBST(LIB_KDE)
Sam Hocevar's avatar
 
Sam Hocevar committed
951
AC_SUBST(LIB_MACOSX)
952
AC_SUBST(LIB_QNX)
Sam Hocevar's avatar
 
Sam Hocevar committed
953 954 955 956
AC_SUBST(LIB_NCURSES)
AC_SUBST(LIB_QT)
AC_SUBST(LIB_TS)
AC_SUBST(LIB_SDL)
Sam Hocevar's avatar
 
Sam Hocevar committed
957
AC_SUBST(LIB_DIRECTX)
Sam Hocevar's avatar
 
Sam Hocevar committed
958 959 960
AC_SUBST(LIB_X11)
AC_SUBST(LIB_XVIDEO)
AC_SUBST(LIB_YUV)
961

Sam Hocevar's avatar
 
Sam Hocevar committed
962
AC_SUBST(CFLAGS_VLC)
Sam Hocevar's avatar
 
Sam Hocevar committed
963
AC_SUBST(CFLAGS_DVD)
Sam Hocevar's avatar
 
Sam Hocevar committed
964
AC_SUBST(CFLAGS_LIBDVDCSS)
Sam Hocevar's avatar
 
Sam Hocevar committed
965
AC_SUBST(CFLAGS_GTK)
Sam Hocevar's avatar
 
Sam Hocevar committed
966
AC_SUBST(CFLAGS_SDL)
Sam Hocevar's avatar
 
Sam Hocevar committed
967 968
AC_SUBST(CFLAGS_X11)

Sam Hocevar's avatar
 
Sam Hocevar committed
969
AC_SUBST(OBJ_DVD)
Sam Hocevar's avatar
 
Sam Hocevar committed
970
AC_SUBST(OBJ_LIBDVDCSS)
Sam Hocevar's avatar
 
Sam Hocevar committed
971

Sam Hocevar's avatar
 
Sam Hocevar committed
972
AC_SUBST(NEED_LIBDVDCSS)
Sam Hocevar's avatar
 
Sam Hocevar committed
973

Sam Hocevar's avatar
 
Sam Hocevar committed
974
AC_OUTPUT([Makefile.opts include/config.h])
975

976
echo "
Sam Hocevar's avatar
 
Sam Hocevar committed
977 978 979 980
global configuration
--------------------
system                : ${SYS}
architecture          : ${ARCH}
Sam Hocevar's avatar
 
Sam Hocevar committed
981
optimizations         : ${OPTIMS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
982

Sam Hocevar's avatar
 
Sam Hocevar committed
983 984 985
if test x${HAVE_VLC} = x1
then
  echo "
986 987 988
vlc configuration
-----------------
vlc version           : ${VLC_VERSION}
989 990
debug mode            : ${DEBUG}
statistics            : ${STATS}
991
trace mode            : ${TRACE}
Sam Hocevar's avatar
 
Sam Hocevar committed
992
cprof/gprof support   : ${CPROF}/${GPROF}
Sam Hocevar's avatar
 
Sam Hocevar committed
993
need builtin getopt   : ${NEED_GETOPT}
Sam Hocevar's avatar
 
Sam Hocevar committed
994
built-in modules      :${BUILTINS}
Sam Hocevar's avatar
 
Sam Hocevar committed
995
plugin modules        :${PLUGINS}
Sam Hocevar's avatar
 
Sam Hocevar committed
996 997
vlc aliases           :${ALIASES}"
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
998

Sam Hocevar's avatar
 
Sam Hocevar committed
999
echo "
Sam Hocevar's avatar
 
Sam Hocevar committed
1000 1001
libdvdcss configuration
-----------------------
Sam Hocevar's avatar
 
Sam Hocevar committed
1002
can be built          : ${CAN_BUILD_LIBDVDCSS}
Sam Hocevar's avatar
 
Sam Hocevar committed
1003 1004
will be built         : ${NEED_LIBDVDCSS}"
if test x${NEED_LIBDVDCSS} = x1
Sam Hocevar's avatar
 
Sam Hocevar committed
1005
then
Sam Hocevar's avatar
 
Sam Hocevar committed
1006
  echo "need BSDI libdvd      : ${NEED_BSDI_LIBDVD}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1007 1008 1009
  echo "link statically       : ${STATIC_LIBDVDCSS}"
else
  echo "use dummy replacement : ${DUMMY_LIBDVDCSS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1010 1011 1012
fi

echo "
Sam Hocevar's avatar
 
Sam Hocevar committed
1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024
You may now tune Makefile.opts at your convenience, for instance to choose
which modules get compiled as plugins.
"
if test x${HAVE_VLC} = x1
then
  echo "To build vlc and its plugins, type \`make vlc'."
fi
if test x${HAVE_LIBDVDCSS} = x1
then
  echo "To build libdvdcss only, type \`make libdvdcss'."
fi
echo ""
1025