configure.ac.in 95 KB
Newer Older
Sam Hocevar's avatar
 
Sam Hocevar committed
1
dnl Autoconf settings for vlc
2

3
AC_INIT(vlc,0.5.1-test1)
4

Sam Hocevar's avatar
Sam Hocevar committed
5 6
CONFIGURE_LINE="$0 $*"
CODENAME="Natalya"
7

8 9 10 11
AC_PREREQ(2.50)
AC_CONFIG_SRCDIR(src/libvlc.c)
AC_CANONICAL_SYSTEM

12 13
dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
dnl them. And we need the comma otherwize automake will choke on it.
14
AM_INIT_AUTOMAKE(vlc,0.5.1-test1)
15 16
AM_CONFIG_HEADER(config.h)

Sam Hocevar's avatar
Sam Hocevar committed
17 18 19
dnl
dnl  Save *FLAGS
dnl
20 21 22 23 24
CPPFLAGS_save="${CPPFLAGS}"
CFLAGS_save="${CFLAGS}"
CXXFLAGS_save="${CXXFLAGS}"
OBJCFLAGS_save="${OBJCFLAGS}"
LDFLAGS_save="${LDFLAGS}"
Sam Hocevar's avatar
 
Sam Hocevar committed
25

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

36 37
dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
dnl now otherwise it might be set in an obscure if statement.
38
AC_EGREP_CPP(foo,foo)
39

40 41 42 43 44 45 46 47 48 49 50 51
dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
AC_MSG_CHECKING(for an Objective-C compiler)
OBJC="${CXX}"
AC_SUBST(OBJC)
OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
AC_SUBST(OBJCFLAGS)
dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
#OBJCDEPMODE="depmode=gcc3"
#AC_SUBST(OBJCDEPMODE)
_AM_DEPENDENCIES(OBJC)
AC_MSG_RESULT(not implemented yet)

Gildas Bazin's avatar
 
Gildas Bazin committed
52 53
dnl Find the right ranlib, even when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, :)
Sam Hocevar's avatar
 
Sam Hocevar committed
54
AC_CHECK_TOOL(STRIP, strip, :)
Jean-Paul Saman's avatar
Jean-Paul Saman committed
55 56
AC_CHECK_TOOL(AR, ar, :)
AC_CHECK_TOOL(LD, ld, :)
Gildas Bazin's avatar
 
Gildas Bazin committed
57

58 59 60
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL

61 62 63 64
dnl Check for compiler properties
AC_C_CONST
AC_C_INLINE

Sam Hocevar's avatar
Sam Hocevar committed
65
dnl
66
dnl  Set default values
Sam Hocevar's avatar
Sam Hocevar committed
67
dnl
68 69
LDFLAGS_vlc="${LDFLAGS}"
LIBEXT=".so"
Sam Hocevar's avatar
Sam Hocevar committed
70

Gildas Bazin's avatar
 
Gildas Bazin committed
71 72 73
dnl
dnl  Check the operating system
dnl
74
case "x${target_os}" in
75 76 77 78 79 80 81 82 83 84
  x)
    SYS=unknown
    ;;
  xlinux*)
    SYS=linux
    ;;
  xbsdi*)
    SYS=bsdi
    CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
    LDFLAGS_dvd="${LDFLAGS_dvd} -ldvd"
Gildas Bazin's avatar
 
Gildas Bazin committed
85
    LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvd"
86 87 88 89 90 91 92 93
    LDFLAGS_vcd="${LDFLAGS_vcd} -ldvd"
    ;;
  x*bsd*)
    SYS="${target_os}"
    CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
    ;;
  xdarwin*)
    SYS=darwin
94 95 96
    CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
97
    LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
98
    LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -all_load"
99 100
    LIBEXT=".dylib"
    ;;
Gildas Bazin's avatar
 
Gildas Bazin committed
101
  x*mingw32* | x*cygwin*)
102 103
    AC_CHECK_TOOL(WINDRES, windres, :)
    LIBEXT=".dll"
Gildas Bazin's avatar
 
Gildas Bazin committed
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120

    case "x${target_os}" in
      x*mingw32*)
        SYS=mingw32
        ;;
      x*cygwin*)
        dnl Check if we are using the mno-cygwin mode in which case we are
        dnl actually dealing with a mingw32 compiler.
        AC_EGREP_CPP(yes,
            [#ifdef WIN32
             yes
             #endif],
            SYS=mingw32, SYS=cygwin)
        ;;
    esac

    if test "x$SYS" = "xmingw32"; then
121
        # add ws2_32 for closesocket, select, recv
122
        CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"
Gildas Bazin's avatar
 
Gildas Bazin committed
123 124 125 126
        CPPFLAGS="${CPPFLAGS_save}"
        LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
        LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
        LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
127 128 129
        LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32"
        LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32"
        LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32"
130
        LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lws2_32"
131
        LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
132
        LDFLAGS_rc="${LDFLAGS_rc} -lws2_32"
133
        LDFLAGS_sap="${LDFLAGS_sap} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
134
    fi
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
    ;;
  x*nto*)
    SYS=nto
    LDFLAGS_x11="${LDFLAGS_x11} -lsocket"
    LDFLAGS_xvideo="${LDFLAGS_xvideo} -lsocket"
    ;;
  xsolaris*)
    SYS=solaris
    ;;
  xhpux*)
    SYS=hpux
    LIBEXT=".sl"
    ;;
  xbeos)
    SYS=beos
    CFLAGS_save="${CFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}"
    LDFLAGS_vlc="${LDFLAGS_vlc} -lbe"
    LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
154
    LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation"
155 156 157 158 159
    dnl BONE or not BONE ?
    AC_CHECK_LIB( bind, inet_ntoa,
        [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind"
          LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"],
        [])
160 161 162 163
    ;;
  x*)
    SYS="${target_os}"
    ;;
Gildas Bazin's avatar
 
Gildas Bazin committed
164
esac
165 166 167 168
AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos")
AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin")
AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32")

169 170 171
dnl
dnl Gettext stuff
dnl
172
ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv"
173 174 175 176 177
AM_GNU_GETTEXT_VERSION(0.10.40)
AM_GNU_GETTEXT
if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
  INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl"
178
else
179
  AC_CHECK_FUNCS(textdomain,,[
180 181 182 183 184
    AC_CHECK_LIB(intl,textdomain,
      LDFLAGS_vlc="${LDFLAGS_vlc} -lintl"
      LDFLAGS_plugins="${LDFLAGS_plugins} -lintl"
    )
  ])
185 186 187 188
fi
AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
XGETTEXT="${XGETTEXT} --keyword=_NS"

189 190
AC_MSG_CHECKING(for suffix of libraries)
AC_MSG_RESULT(${LIBEXT})
Gildas Bazin's avatar
 
Gildas Bazin committed
191

Gildas Bazin's avatar
 
Gildas Bazin committed
192 193 194 195 196
dnl Check for the need to include the mingwex lib for mingw32
if test x$SYS = xmingw32
then
    AC_CHECK_LIB(mingwex,opendir,
        AC_CHECK_LIB(mingw32,opendir,LDFLAGS_vlc="${LDFLAGS_vlc}",
Gildas Bazin's avatar
 
Gildas Bazin committed
197 198
            [LDFLAGS_vlc="${LDFLAGS_vlc} -lmingwex"
             LDFLAGS_gtk="${LDFLAGS_gtk} -lmingwex"])
Gildas Bazin's avatar
 
Gildas Bazin committed
199 200 201
    )
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
202 203 204 205 206 207 208 209
dnl Check for fnative-struct or mms-bitfields support for mingw32
if test x$SYS = xmingw32
then
    AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
        [ac_cv_c_mms_bitfields],
        [CFLAGS="${CFLAGS_save} -mms-bitfields"
         AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
    if test x"$ac_cv_c_mms_bitfields" != x"no"; then
210 211
        CFLAGS_save="${CFLAGS_save} -mms-bitfields";
        CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
Gildas Bazin's avatar
 
Gildas Bazin committed
212
    else
213 214 215 216 217 218 219 220
        AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
            [ac_cv_c_fnative_struct],
            [CFLAGS="${CFLAGS_save} -fnative-struct"
             AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
        if test x"$ac_cv_c_fnative_struct" != x"no"; then
            CFLAGS_save="${CFLAGS_save} -fnative-struct";
            CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
        fi
Gildas Bazin's avatar
 
Gildas Bazin committed
221 222
    fi

Gildas Bazin's avatar
 
Gildas Bazin committed
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241
    CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
fi

dnl Check for fvtable-thunks support for mingw32
if test x$SYS = xmingw32
then
AC_LANG_PUSH(C++)
    AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
        [ac_cv_cxx_fvtable_thunks],
        [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
         AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
                        ac_cv_cxx_fvtable_thunks=no)])
    if test x"$ac_cv_cxx_fvtable_thunks" = x"yes"; then
        CXXFLAGS_mingw32_special="-fvtable-thunks"
    fi

    CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"
    CXXFLAGS="${CXXFLAGS_save}"
AC_LANG_POP(C++)
Gildas Bazin's avatar
 
Gildas Bazin committed
242 243
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
244
dnl Flags for plugin compilation
245 246
case "x${SYS}" in
  xmingw32|xcygwin)
Gildas Bazin's avatar
 
Gildas Bazin committed
247
    CFLAGS_pics="${CFLAGS_pics} ${CFLAGS_mingw32_special}"
Gildas Bazin's avatar
 
Gildas Bazin committed
248
    CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
Gildas Bazin's avatar
 
Gildas Bazin committed
249 250
    OBJCFLAGS_pics="${OBJCFLAGS_pics} ${CFLAGS_mingw32_special}"
    CFLAGS_plugins="${CFLAGS_plugins} ${CFLAGS_mingw32_special}"
Gildas Bazin's avatar
 
Gildas Bazin committed
251
    CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
Gildas Bazin's avatar
 
Gildas Bazin committed
252
    OBJCFLAGS_plugins="${OBJCFLAGS_plugins} ${CFLAGS_mingw32_special}"
253 254 255 256 257 258 259 260 261 262 263
    ;;
  x*)
    CFLAGS_pics="${CFLAGS_pics} -fPIC"
    CXXFLAGS_pics="${CXXFLAGS_pics} -fPIC"
    OBJCFLAGS_pics="${OBJCFLAGS_pics} -fPIC"
    CFLAGS_plugins="${CFLAGS_plugins} -fPIC"
    CXXFLAGS_plugins="${CXXFLAGS_plugins} -fPIC"
    OBJCFLAGS_plugins="${OBJCFLAGS_plugins} -fPIC"
    LDFLAGS_plugins="${LDFLAGS_plugins} -fPIC"
    ;;
esac
Sam Hocevar's avatar
 
Sam Hocevar committed
264 265

dnl The -DSYS_FOO flag
266
CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
267

268
dnl Check for system libs needed
269
need_libc=false
270

271 272 273
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll getenv putenv setenv)

dnl Check for usual libc functions
274
AC_CHECK_FUNCS(strdup strndup atof lseek)
275 276
AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
Sam Hocevar's avatar
 
Sam Hocevar committed
277

278
AC_CHECK_FUNCS(connect,,[
279 280 281
  AC_CHECK_LIB(socket,connect,
    LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket"
    LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket"
Sam Hocevar's avatar
 
Sam Hocevar committed
282
)])
283

284
AC_CHECK_FUNCS(send,,[
285
  AC_CHECK_LIB(socket,send,
Gildas Bazin's avatar
 
Gildas Bazin committed
286 287 288
    LDFLAGS_access_http="${LDFLAGS_access_http} -lsocket"
    LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket"
    LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket"
289
    LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lsocket"
290
    LDFLAGS_sap="${LDFLAGS_sap} -lsocket"
291
    LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lsocket"
Sam Hocevar's avatar
Sam Hocevar committed
292
)])
293

294
AC_CHECK_FUNCS(gethostbyname,,[
295 296
  AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl",[
    AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind")])
Sam Hocevar's avatar
 
Sam Hocevar committed
297
])
298 299

have_nanosleep=false
300
AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
301
  AC_CHECK_LIB(rt,nanosleep,
302
    [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:],
303
    [AC_CHECK_LIB(posix4,nanosleep,
304
        [LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])]
305
  )
Sam Hocevar's avatar
 
Sam Hocevar committed
306
])
307 308 309
if ${have_nanosleep}; then
  AC_DEFINE(HAVE_NANOSLEEP, 1,
            Define if nanosleep is available.)
310
fi
311 312 313 314 315 316 317 318 319 320 321 322 323 324 325

dnl Check for socklen_t
AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
  [AC_TRY_COMPILE(
     [#include <sys/types.h>
      #include <sys/socket.h>],
     [socklen_t len = 42; return len;],
     ac_cv_type_socklen_t=yes,
     ac_cv_type_socklen_t=no)])
if test x$ac_cv_type_socklen_t != xno; then
  AC_DEFINE(HAVE_SOCKLEN_T, 1,
            Define if <sys/socket.h> defines socklen_t.)
fi

dnl HP/UX port
326
AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"])
327

328
AC_CHECK_FUNCS(inet_aton,,[
329
  AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv")
330
])
Sam Hocevar's avatar
 
Sam Hocevar committed
331

Sam Hocevar's avatar
 
Sam Hocevar committed
332
dnl Check for getopt
333
need_getopt=false
334
AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
Sam Hocevar's avatar
 
Sam Hocevar committed
335
[ # FreeBSD has a gnugetopt library for this:
336 337 338 339
  AC_CHECK_LIB([gnugetopt],[getopt_long],
    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LDFLAGS_vlc="${LDFLAGS_vlc} -lgnugetopt"],
    [need_getopt=:])])
AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
Sam Hocevar's avatar
 
Sam Hocevar committed
340

341
AC_TYPE_SIGNAL
342
AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl")
Sam Hocevar's avatar
 
Sam Hocevar committed
343
AC_CHECK_LIB(m,cos,
344
  LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
345 346
  LDFLAGS_adjust="${LDFLAGS_adjust} -lm"
  LDFLAGS_distort="${LDFLAGS_distort} -lm"
347
  LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm")
Sam Hocevar's avatar
 
Sam Hocevar committed
348
AC_CHECK_LIB(m,pow,
349 350 351 352 353 354
  LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm"
  LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
  LDFLAGS_imdct3dn="${LDFLAGS_imdct3dn} -lm"
  LDFLAGS_imdctsse="${LDFLAGS_imdctsse} -lm"
  LDFLAGS_i420_rgb="${LDFLAGS_i420_rgb} -lm"
  LDFLAGS_faad="${LDFLAGS_faad} -lm"
Sam Hocevar's avatar
 
Sam Hocevar committed
355
)
Sam Hocevar's avatar
 
Sam Hocevar committed
356

Sam Hocevar's avatar
 
Sam Hocevar committed
357
dnl Check for pthreads - borrowed from XMMS
Sam Hocevar's avatar
 
Sam Hocevar committed
358
THREAD_LIB=error
359
if test "x${THREAD_LIB}" = "xerror"; then
360
  AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
Sam Hocevar's avatar
 
Sam Hocevar committed
361
fi
362
if test "x${THREAD_LIB}" = "xerror"; then
363
  AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
Sam Hocevar's avatar
 
Sam Hocevar committed
364
fi
365
if test "x${THREAD_LIB}" = "xerror"; then
366
  AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
Sam Hocevar's avatar
 
Sam Hocevar committed
367
fi
368
if test "x${THREAD_LIB}" = "xerror"; then
369
  AC_CHECK_FUNCS(pthread_mutex_lock)
370
  THREAD_LIB=""
Sam Hocevar's avatar
 
Sam Hocevar committed
371
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
372 373 374

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

Sam Hocevar's avatar
 
Sam Hocevar committed
376
dnl Check for misc headers
377
AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
378
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
379
  AC_MSG_RESULT(yes)
380
  AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
381 382 383 384
            Define if <pthread.h> defines pthread_cond_t.)],[
  AC_MSG_RESULT(no)])

AC_MSG_CHECKING(for pthread_once in pthread.h)
Sam Hocevar's avatar
Sam Hocevar committed
385
AC_EGREP_HEADER(pthread_once,pthread.h,[
386
  AC_MSG_RESULT(yes)
387
  AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
388 389 390 391
            Define if <pthread.h> defines pthread_once.)],[
  AC_MSG_RESULT(no)])

AC_MSG_CHECKING(for strncasecmp in strings.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
392
AC_EGREP_HEADER(strncasecmp,strings.h,[
393
  AC_MSG_RESULT(yes)
394
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
395 396
            Define if <strings.h> defines strncasecmp.)],[
  AC_MSG_RESULT(no)])
Sam Hocevar's avatar
 
Sam Hocevar committed
397

Sam Hocevar's avatar
 
Sam Hocevar committed
398
dnl Check for headers
399 400
AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.h)
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
401 402
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
403
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
404
AC_CHECK_HEADERS(linux/version.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
405

Sam Hocevar's avatar
 
Sam Hocevar committed
406 407
AC_HEADER_TIME

408 409
dnl Check for dirent
need_dirent=false
410
AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
411 412
AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})

413
dnl Mac OS X and other OSes don't have declaration for nanosleep
414
AC_MSG_CHECKING(for nanosleep in time.h)
415
AC_EGREP_HEADER(nanosleep,time.h,[
416
  AC_MSG_RESULT(yes)
417 418
  AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
            Define if <time.h> defines nanosleep.)
419 420
],[
  AC_MSG_RESULT(no)
421
])
422 423

dnl Make sure we have timespecs
424
AC_MSG_CHECKING(for timespec in sys/time.h)
425
AC_EGREP_HEADER(timespec,sys/time.h,[
426
  AC_MSG_RESULT(yes)
427 428
  AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
            Define if <sys/time.h> defines struct timespec.)
429 430
],[
  AC_MSG_RESULT(no)
431
])
432

Sam Hocevar's avatar
 
Sam Hocevar committed
433 434 435
dnl Check for threads library
AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)

436 437
dnl Default X headers and libraries
if test "x${x_includes}" = "xNONE"; then
438
  x_includes="/usr/X11R6/include"
439 440
fi
if test "x${x_libraries}" = "xNONE"; then
441
  x_libraries="/usr/X11R6/lib"
442 443
fi

444
dnl Build the gtk_main plugins?
445
NEED_GTK_MAIN=no
446
NEED_GNOME_MAIN=no
447

448 449 450
dnl build the qte plugin ?
NEED_QTE_MAIN=no

Sam Hocevar's avatar
 
Sam Hocevar committed
451
dnl Check for DPMS
452
if test "x${SYS}" != "xmingw32"
Sam Hocevar's avatar
 
Sam Hocevar committed
453
then
454 455
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
456
    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
457
    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
458
      AC_MSG_RESULT(yes)
459 460
      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
461 462
    ],[
      AC_MSG_RESULT(no)
463
    ])
464 465
  ],,[
    #include <X11/Xlib.h>
466 467
  ])
  CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
468 469
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
470
dnl Check for ntohl, etc.
471
AC_CACHE_CHECK([for ntohl in sys/param.h],
472 473 474 475 476
    [ac_cv_c_ntohl_sys_param_h],
    [CFLAGS="${CFLAGS_save} -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)])
477
if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
478
    AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
479
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
480

Sam Hocevar's avatar
 
Sam Hocevar committed
481
dnl Check for inline function size limit
482
AC_CACHE_CHECK([if \$CC accepts -finline-limit],
483 484 485
    [ac_cv_c_inline_limit],
    [CFLAGS="${CFLAGS_save} -finline-limit-30000"
     AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
486
if test "x${ac_cv_c_inline_limit}" != "xno"; then
487 488 489
    CFLAGS_save="${CFLAGS_save} -finline-limit-30000"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -finline-limit-30000"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="${OBJCFLAGS_save} -finline-limit-30000"; OBJCFLAGS="${OBJCFLAGS_save}"
490
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
491

492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
# XXX: do this with an M4 macro?
#dnl Check for various -W flags
#for flag in "" all unreachable-code conversion sign-compare disabled-optimization
#do
#    AC_CACHE_CHECK([if \$CC accepts -W${flag}],
#        [ac_cv_c_W${flag}],
#        [CFLAGS="-W${flag} ${CFLAGS_save}"
#         AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
#    if test "x${ac_cv_c_W${flag}}" != "xno"; then
#        CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
#        CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
#        OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
#    fi
#done

507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536
AC_CACHE_CHECK([if \$CC accepts -Wall],
    [ac_cv_c_Wall],
    [CFLAGS="-Wall ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])

AC_CACHE_CHECK([if \$CC accepts -Wconversion],
    [ac_cv_c_Wconversion],
    [CFLAGS="-Wconversion ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])

AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
    [ac_cv_c_Wunreachable_code],
    [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])

AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
    [ac_cv_c_Wsign_compare],
    [CFLAGS="-Wsign-compare ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])

AC_CACHE_CHECK([if \$CC accepts -Wdisabled-optimization],
    [ac_cv_c_Wdisabled_optimization],
    [CFLAGS="-Wdisabled-optimization ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Wdisabled_optimization=yes, ac_cv_c_Wdisabled_optimization=no)])

AC_CACHE_CHECK([if \$CC accepts -Winline],
    [ac_cv_c_Winline],
    [CFLAGS="-Winline ${CFLAGS_save}"
     AC_TRY_COMPILE([],,ac_cv_c_Winline=yes, ac_cv_c_Winline=no)])

537 538 539 540 541
if test "x${ac_cv_c_Wall}" != "xno"; then
    CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
542

543
if test "x${ac_cv_c_Wunreachable_code}" != "xno"; then
544 545 546
#    CFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
#    CXXFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
#    OBJCFLAGS_save="-Wunreachable-code ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
547

548 549
    dnl -Wunreachable-code means gcc-3.x, we can use -Wconversion and we can
    dnl activate -Winline for C++, it won't choke on system headers.
550 551 552 553 554
#    if test "x${ac_cv_c_Wconversion}" != "xno"; then
#        CFLAGS_save="-Wconversion ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
#        CXXFLAGS_save="-Wconversion ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
#        OBJCFLAGS_save="-Wconversion ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
#    fi
555 556 557 558
    if test "x${ac_cv_c_Winline}" != "xno"; then
        CXXFLAGS_save="-Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
    fi

559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575
fi

if test "x${ac_cv_c_Wsign_compare}" != "xno"; then
    CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi

if test "x${ac_cv_c_Wdisabled_optimization}" != "xno"; then
    CFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="-Wdisabled-optimization ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi

if test "x${ac_cv_c_Winline}" != "xno"; then
    CFLAGS_save="-Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
    OBJCFLAGS_save="-Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
576 577 578 579
fi

dnl Check for -pipe
AC_CACHE_CHECK([if \$CC accepts -pipe],
580 581 582
    [ac_cv_c_pipe],
    [CFLAGS="${CFLAGS_save} -pipe"
     AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
583
if test "x${ac_cv_c_pipe}" != "xno"; then
584 585 586
    CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
    OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
587 588 589 590
fi

dnl Check for various optimization flags
AC_CACHE_CHECK([if \$CC accepts -O3],
591 592 593
    [ac_cv_c_o3],
    [CFLAGS="${CFLAGS_save} -O3"
     AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
594
if test "x${ac_cv_c_o3}" != "xno"; then
595
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
596 597 598 599 600 601 602 603
fi

AC_CACHE_CHECK([if \$CC accepts -O2],
    [ac_cv_c_o2],
    [CFLAGS="${CFLAGS_save} -O2"
     AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
if test "x${ac_cv_c_o2}" != "xno"; then
    if test "x${ac_cv_c_o3}" = "xno"; then
604
        CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
605 606 607 608 609 610 611 612 613
    fi
    CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
else
    AC_CACHE_CHECK([if \$CC accepts -O],
        [ac_cv_c_o],
        [CFLAGS="${CFLAGS_save} -O"
         AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
    if test "x${ac_cv_c_o}" != "xno"; then
        if test "x${ac_cv_c_o3}" = "xno"; then
614
            CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
615 616
	fi
        CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
Sam Hocevar's avatar
 
Sam Hocevar committed
617 618 619 620 621
    fi
fi

dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
622 623 624
    [ac_cv_c_fast_math],
    [CFLAGS="${CFLAGS_save} -ffast-math"
     AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
625
if test "x${ac_cv_c_fast_math}" != "xno"; then
626
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
Sam Hocevar's avatar
 
Sam Hocevar committed
627 628 629 630
fi

dnl Check for -funroll-loops
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
631 632 633
    [ac_cv_c_unroll_loops],
    [CFLAGS="${CFLAGS_save} -funroll-loops"
     AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
634
if test "x${ac_cv_c_unroll_loops}" != "xno"; then
635
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
Sam Hocevar's avatar
 
Sam Hocevar committed
636 637 638 639
fi

dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
640 641 642
    [ac_cv_c_omit_frame_pointer],
    [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
     AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
643
if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
644 645 646
    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
    # this plugin does not compile without -fomit-frame-pointer, damn gcc!
    CFLAGS_i420_yuy2_mmx="${CFLAGS_i420_yuy2_mmx} -fomit-frame-pointer"
Sam Hocevar's avatar
 
Sam Hocevar committed
647 648
fi

649 650 651 652 653 654
dnl Check for -mdynamic-no-pic
AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
    [ac_cv_c_dynamic_no_pic],
    [CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
     AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
if test "x${ac_cv_c_dynamic_no_pic}" != "xno"; then
Christophe Massiot's avatar
Christophe Massiot committed
655 656
    CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic"
    CFLAGS_libvlc="${CFLAGS_libvlc} -mdynamic-no-pic"
657 658
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
659
dnl Check for Darwin plugin linking flags
Christophe Massiot's avatar
Christophe Massiot committed
660
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
661 662 663
    [ac_cv_ld_darwin],
    [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
     AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
664
if test "x${ac_cv_ld_darwin}" != "xno"; then
665
    LDFLAGS_plugins="${LDFLAGS_plugins} -bundle -undefined error -lcc_dynamic"
666
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
667 668

dnl Check for standard plugin linking flags
669
AC_CACHE_CHECK([if \$CC accepts -shared],
670 671 672
    [ac_cv_ld_plugins],
    [CFLAGS="${CFLAGS_save} -shared"
     AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
673
if test "x${ac_cv_ld_plugins}" != "xno"; then
674
    LDFLAGS_plugins="${LDFLAGS_plugins} -shared"
Sam Hocevar's avatar
 
Sam Hocevar committed
675
fi
676

677 678
dnl Check for variadic macros
AC_CACHE_CHECK([for variadic cpp macros],
679 680 681 682 683 684 685 686
    [ac_cv_cpp_variadic_macros],
    [CFLAGS="${CFLAGS_save}"
     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)])
687
if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
688
    AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
689 690
fi

691 692
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
693 694 695 696 697 698 699 700 701
    [ac_cv_c_attribute_aligned],
    [ac_cv_c_attribute_aligned=0
        CFLAGS="${CFLAGS_save} -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
        CFLAGS="${CFLAGS_save}"])
702
if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
703 704
    AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
        [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
705 706
fi

707 708 709 710 711 712 713 714 715 716 717 718 719
dnl Checks for __attribute__(format()) directive
AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
    [ac_cv_c_attribute_format],
    [ac_cv_c_attribute_format=no
        CFLAGS="${CFLAGS_save} -Werror"
        AC_TRY_COMPILE([],
        [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
        [ac_cv_c_attribute_format=yes])
        CFLAGS="${CFLAGS_save}"])
if test "x${ac_cv_c_attribute_format}" != "xno"; then
    AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
720 721 722
dnl
dnl  Check the CPU
dnl
723
case "x${target_cpu}" in
724 725 726 727 728 729 730 731 732 733 734 735
  x)
    ARCH=unknown
    ;;
  *)
    ARCH="${target_cpu}"
    ;;
esac

case "${ARCH}" in
  hppa64)
    CFLAGS_mpeg_video="${CFLAGS_mpeg_video} -ffunction-sections"
    ;;
Sam Hocevar's avatar
 
Sam Hocevar committed
736
esac
Sam Hocevar's avatar
 
Sam Hocevar committed
737

738 739 740 741 742 743 744 745 746 747
dnl
dnl  Enable profiling
dnl
AC_ARG_ENABLE(gprof,
[  --enable-gprof          gprof profiling (default disabled)])
AC_ARG_ENABLE(cprof,
[  --enable-cprof          cprof profiling (default disabled)])
AM_CONDITIONAL(GPROF, test "${enable_gprof}" = "yes")
AM_CONDITIONAL(CPROF, test "${enable_gprof}" = "yes")

Sam Hocevar's avatar
 
Sam Hocevar committed
748 749 750
dnl
dnl  default modules
dnl
751
PLUGINS="${PLUGINS} dummy rc logger gestures access_file memcpy"
752
PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts"
753
PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio"
754
#PLUGINS="${PLUGINS} a52old imdct downmix imdct3dn downmix3dn imdctsse downmixsse"
755
PLUGINS="${PLUGINS} lpcm a52"
756
PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur"
757
PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32"
758
PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler"
759
PLUGINS="${PLUGINS} trivial_channel_mixer headphone_channel_mixer"
Christophe Massiot's avatar
Christophe Massiot committed
760
PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer"
761 762 763
PLUGINS="${PLUGINS} aout_file"
#PLUGINS="${PLUGINS} scope"
PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
764
PLUGINS="${PLUGINS} id3 m3u"
765
PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys"
766
PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp"
767
PLUGINS="${PLUGINS} sap screensaver"
768

Sam Hocevar's avatar
 
Sam Hocevar committed
769 770 771
dnl
dnl  Accelerated modules
dnl
772
MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
773
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
774 775
THREEDNOW_MODULES="memcpy3dn"
SSE_MODULES=""
776
ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
777

778 779 780 781 782
if test "${enable_gprof}" != "yes"
then
  MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
fi

783 784
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
785
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
786
     AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
787
                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
788
if test "x${ac_cv_mmx_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
789
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
790
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
791

792 793
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
    [ac_cv_mmxext_inline],
794
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
795
     AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
796
                    ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
797
if test "x${ac_cv_mmxext_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
798
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
799
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
800

801 802
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
    [ac_cv_3dnow_inline],
803
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
804
     AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
805
                    ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
806
if test "x${ac_cv_3dnow_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
807
  AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
Sam Hocevar's avatar
 
Sam Hocevar committed
808
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
809
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
810

811 812
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
    [ac_cv_sse_inline],
813
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
814
     AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
815
                    ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
816
if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
817
  AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
Sam Hocevar's avatar
 
Sam Hocevar committed
818
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
819
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
820

Sam Hocevar's avatar
Sam Hocevar committed
821
# don't try to grok AltiVec with native mingw32 it doesn't work right now
Gildas Bazin's avatar
 
Gildas Bazin committed
822
# we should be able to remove this test with future versions of mingw32
823
if test "x${SYS}" != "xmingw32"; then
Sam Hocevar's avatar
Sam Hocevar committed
824
AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
825
    [ac_cv_altivec_inline],
826
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
827
     AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
828
         ac_cv_altivec_inline=yes,
829
         [CFLAGS="${CFLAGS_save} -Wa,-m7400"
Sam Hocevar's avatar
 
Sam Hocevar committed
830
          AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
831
            [ac_cv_altivec_inline="-Wa,-m7400"],
832
            ac_cv_altivec_inline=no)
833
         ])])
834
if test "x${ac_cv_altivec_inline}" != "xno"; then
Sam Hocevar's avatar
Sam Hocevar committed
835
  AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
836
  if test "x${ac_cv_altivec_inline}" != "xyes"; then
837 838 839 840
    CFLAGS_idctaltivec="${CFLAGS_idctaltivec} ${ac_cv_altivec_inline}"
    CFLAGS_motionaltivec="${CFLAGS_motionaltivec} ${ac_cv_altivec_inline}"
    CFLAGS_memcpyaltivec="${CFLAGS_memcpyaltivec} ${ac_cv_altivec_inline}"
    CFLAGS_vlc="${CFLAGS_vlc} ${ac_cv_altivec_inline}"
841
  fi
842
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
843
fi
844

Sam Hocevar's avatar
Sam Hocevar committed
845
AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
846
    [ac_cv_c_altivec],
847
    [CFLAGS="${CFLAGS_save} -faltivec"
848
     # Darwin test
Sam Hocevar's avatar
 
Sam Hocevar committed
849
     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
850 851
        ac_cv_c_altivec=-faltivec, [
        # Linux/PPC test
852
        CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
Sam Hocevar's avatar
 
Sam Hocevar committed
853
        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
854 855
            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
        ])
856
     CFLAGS="${CFLAGS_save}"])
857
if test "x${ac_cv_c_altivec}" != "xno"; then
Sam Hocevar's avatar
Sam Hocevar committed
858
  AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
859 860 861 862
  CFLAGS_idctaltivec="${CFLAGS_idctaltivec} ${ac_cv_c_altivec}"
  CFLAGS_motionaltivec="${CFLAGS_motionaltivec} ${ac_cv_c_altivec}"
  CFLAGS_memcpyaltivec="${CFLAGS_memcpyaltivec} ${ac_cv_c_altivec}"
  CFLAGS_vlc="${CFLAGS_vlc} ${ac_cv_c_altivec}"
863
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
864 865 866 867
fi

AC_CACHE_CHECK([if linker needs -framework vecLib],
    [ac_cv_ld_altivec],
868
    [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
869
     AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
870
     LDFLAGS="${LDFLAGS_save}"
871
    ])
872
if test "x${ac_cv_ld_altivec}" != "xno"; then
873 874 875 876
  LDFLAGS_idctaltivec="${LDFLAGS_idctaltivec} -framework vecLib"
  LDFLAGS_motionaltivec="${LDFLAGS_motionaltivec} -framework vecLib"
  LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib"
  LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib"
877
fi
Gildas Bazin's avatar
 
Gildas Bazin committed
878
fi # end if mingw32
879

Sam Hocevar's avatar
 
Sam Hocevar committed
880 881 882
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])

Sam Hocevar's avatar
 
Sam Hocevar committed
883
dnl
884
dnl  Special arch tuning
Sam Hocevar's avatar
 
Sam Hocevar committed
885
dnl
886
AC_ARG_WITH(tuning,
Sam Hocevar's avatar
 
Sam Hocevar committed
887
[  --with-tuning=ARCH      enable special tuning for an architecture
888
                          (default i686 on IA-32 and 750 on PPC)])
889
if test "x${with_tuning}" != "x"; then
890 891 892 893 894
    if test "x${target_cpu}" = "xpowerpc"; then
        CFLAGS_TUNING="-mtune=${with_tuning}"
    else
        CFLAGS_TUNING="-mcpu=${with_tuning}"
    fi
895
else
896
    if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then CFLAGS_TUNING="-mcpu=pentiumpro"
897
    else
898
        if test "x${target_cpu}" = "xpowerpc"; then CFLAGS_TUNING="-mtune=750"; fi
899 900
    fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
901 902

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
903
dnl  x86 accelerations
Sam Hocevar's avatar
 
Sam Hocevar committed
904
dnl
905
if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
Sam Hocevar's avatar
 
Sam Hocevar committed
906 907
then
    ARCH="${ARCH} mmx"
Sam Hocevar's avatar
Sam Hocevar committed
908
    PLUGINS="${PLUGINS} ${ACCEL_MODULES}"
Sam Hocevar's avatar
 
Sam Hocevar committed
909
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
910

Sam Hocevar's avatar
 
Sam Hocevar committed
911 912 913 914
dnl
dnl  Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
915 916
[  --disable-optimizations disable compiler optimizations (default enabled)])
AM_CONDITIONAL(OPTIM, test "x${enable_optimizations}" != "xno")
Sam Hocevar's avatar
 
Sam Hocevar committed
917

Sam Hocevar's avatar
 
Sam Hocevar committed
918 919 920
dnl
dnl  AltiVec acceleration
dnl
921
AC_ARG_ENABLE(altivec,
Sam Hocevar's avatar
Sam Hocevar committed
922
[  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
923
[ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
924
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
925
[ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
926
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
927 928 929 930

dnl
dnl  Debugging mode
dnl
931
AC_ARG_ENABLE(debug,
932 933
[  --enable-debug          debug mode (default disabled)])
AM_CONDITIONAL(DEBUG, test "x${enable_debug}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
934

Sam Hocevar's avatar
 
Sam Hocevar committed
935
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
936
dnl  Enable release-specific flags
Sam Hocevar's avatar
 
Sam Hocevar committed
937
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
938
AC_ARG_ENABLE(release,
939 940
[  --enable-release        activate extra optimizations (default disabled)])
AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
941

942 943 944 945 946 947 948 949
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
  [  --enable-sout           Stream output modules (default enabled)])
if test "x${enable_sout}" != "xno"
then
  PLUGINS="${PLUGINS} access_output_dummy access_output_udp access_output_file"
950
  PLUGINS="${PLUGINS} mux_ts mux_ps mux_avi mux_dummy"
951
  PLUGINS="${PLUGINS} packetizer_mpegaudio packetizer_mpegvideo packetizer_a52"
952 953
  PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio"
  PLUGINS="${PLUGINS} packetizer_copy"
954 955

  PLUGINS="${PLUGINS} vout_encoder"
956 957 958
fi


Sam Hocevar's avatar
 
Sam Hocevar committed
959
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
960
dnl  Input plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
961 962
dnl

Sam Hocevar's avatar
 
Sam Hocevar committed
963
AC_ARG_WITH(,[Input plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
964 965

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
966 967 968 969
dnl  DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[  --enable-dvd            DVD input module (default enabled)])
970
if test "x${enable_dvd}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
971
then
972
  AC_ARG_WITH(dvdcss,
Sam Hocevar's avatar
 
Sam Hocevar committed
973
  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
974
  AC_ARG_WITH(dvdcss-tree,
Sam Hocevar's avatar
 
Sam Hocevar committed
975
  [    --with-dvdcss-tree=PATH libdvdcss tree for static linking])
976
  case "x${with_dvdcss}" in
Sam Hocevar's avatar
 
Sam Hocevar committed
977
  x|xyes)
978
    if test "x${with_dvdcss_tree}" = x
Sam Hocevar's avatar
 
Sam Hocevar committed
979 980
    then
      AC_CHECK_HEADERS(dvdcss/dvdcss.h,
981
        [ PLUGINS="${PLUGINS} dvd"
982 983
          LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss"
          LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvdcss" ],
Sam Hocevar's avatar
 
Sam Hocevar committed
984 985 986 987 988
        [ 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`"
989
      if test "x${real_dvdcss_tree}" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
990 991 992 993 994 995 996 997 998
      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)
999
        BUILTINS="${BUILTINS} dvd"
1000 1001
        LDFLAGS_dvd="${LDFLAGS_dvd} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
        LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
1002
        CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src"
Sam Hocevar's avatar
 
Sam Hocevar committed
1003 1004 1005 1006 1007 1008
      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
1009 1010
  ;;
  xno)
Sam Hocevar's avatar
 
Sam Hocevar committed
1011
    dnl  Compile without dvdcss (dlopen version, works only under Linux)
1012 1013 1014
    PLUGINS="${PLUGINS} dvd"
    CPPFLAGS_dvd="${CPPFLAGS_dvd} -DGOD_DAMN_DMCA"
    LDFLAGS_dvd="${LDFLAGS_dvd} -ldl"
Sam Hocevar's avatar
 
Sam Hocevar committed
1015 1016
  ;;
  *)
Sam Hocevar's avatar
 
Sam Hocevar committed
1017 1018
    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
1019
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
1020
      dnl  Use ${with_dvdcss}/include/dvdcss/dvdcss.h
Sam Hocevar's avatar
 
Sam Hocevar committed
1021
      AC_MSG_RESULT(yes)
1022 1023
      PLUGINS="${PLUGINS} dvd"
      LDFLAGS_dvd="${LDFLAGS_dvd} -L${with_dvdcss}/lib -ldvdcss"
1024
      LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${with_dvdcss}/lib -ldvdcss"
1025
      CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${with_dvdcss}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
1026
    else
Sam Hocevar's avatar
 
Sam Hocevar committed
1027
      dnl  No libdvdcss could be found, sorry
Sam Hocevar's avatar
 
Sam Hocevar committed
1028
      AC_MSG_RESULT(no)
Sam Hocevar's avatar
 
Sam Hocevar committed
1029
      AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
Sam Hocevar's avatar
 
Sam Hocevar committed
1030 1031 1032 1033
    fi
  ;;
  esac
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1034

Stéphane Borel's avatar
Stéphane Borel committed
1035
dnl
1036
dnl dvdread module: check for libdvdread
Stéphane Borel's avatar
Stéphane Borel committed
1037
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1038 1039
AC_ARG_ENABLE(dvdread,
[  --enable-dvdread        dvdread input module (default disabled)])
1040
if test "x${enable_dvdread}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1041
then
1042
  AC_ARG_WITH(dvdread,
1043 1044 1045 1046
  [    --with-dvdread=PATH    libdvdread headers and libraries])
  AC_ARG_WITH(dvdread-tree,
  [    --with-dvdread-tree=PATH libdvdread tree for static linking])
  if test "x${with_dvdread}" = x
Sam Hocevar's avatar
 
Sam Hocevar committed
1047
  then
1048
    if test "x${with_dvdread_tree}" = x
1049
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
1050
      AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1051
        [ PLUGINS="${PLUGINS} dvdread"
Gildas Bazin's avatar
 
Gildas Bazin committed
1052
          LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread ${LDFLAGS_dvdcss}" ],
1053 1054 1055 1056 1057 1058 1059 1060 1061
        [ if test "x${enable_dvdread}" != "x"
          then
            AC_MSG_WARN([Please get libdvdread from http://www.dtek.chalmers.se/groups/dvd/downloads.shtml])
            AC_MSG_ERROR([cannot find libdvdread headers])
          fi ])
    else
      AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
      real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
      if test "x${real_dvdread_tree}" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
1062
      then
1063 1064 1065 1066
        dnl  The given directory can't be found
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
      fi
1067
      if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1068 1069 1070 1071
      then
        dnl  Use a custom libdvdread
        AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
        BUILTINS="${BUILTINS} dvdread"
1072
        LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}"
1073
        CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${real_dvdread_tree}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1074
      else
1075 1076 1077
        dnl  The given libdvdread wasn't built
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
Sam Hocevar's avatar
 
Sam Hocevar committed
1078
      fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1079
    fi
1080 1081
  else
    AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
Gildas Bazin's avatar
 
Gildas Bazin committed
1082
    if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1083
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
1084
      dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1085 1086
      AC_MSG_RESULT(yes)
      PLUGINS="${PLUGINS} dvdread"
Gildas Bazin's avatar
 
Gildas Bazin committed
1087
      LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}"
1088 1089 1090 1091
      CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${with_dvdread}/include"
    else
      dnl  No libdvdread could be found, sorry
      AC_MSG_RESULT(no)
Gildas Bazin's avatar
 
Gildas Bazin committed
1092
      AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1093 1094
    fi
  fi
1095 1096 1097 1098 1099 1100 1101
fi

dnl
dnl dvdplay module: check for libdvdplay
dnl
AC_ARG_ENABLE(dvdplay,
[  --enable-dvdplay        dvdplay input module (default disabled)])
1102
if test "x${enable_dvdplay}" != "xno"
1103
then
1104
  AC_ARG_WITH(dvdplay,
1105 1106 1107
  [    --with-dvdplay=PATH    libdvdplay headers and libraries])
  AC_ARG_WITH(dvdplay-tree,
  [    --with-dvdplay-tree=PATH libdvdplay tree for static linking])
1108
  if test "x${with_dvdplay}" = x
1109
  then
1110
    if test "x${with_dvdplay_tree}" = x
1111
    then
1112 1113
      AC_CHECK_HEADERS(dvdplay/dvdplay.h,
        [ PLUGINS="${PLUGINS} dvdplay"
Gildas Bazin's avatar
 
Gildas Bazin committed
1114
          LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1115
          CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread}" ],
1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129
        [ if test "x${enable_dvdplay}" != "x"
          then
            AC_MSG_WARN([Please get libdvdplay from http://www.videolan.org/.])
            AC_MSG_ERROR([cannot find libdvdplay headers])
          fi ])
    else
      AC_MSG_CHECKING(for libdvdplay.a in ${with_dvdplay_tree})
      real_dvdplay_tree="`cd ${with_dvdplay_tree} 2>/dev/null && pwd`"
      if test "x${real_dvdplay_tree}" = "x"
      then
        dnl  The given directory can't be found
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot cd to ${with_dvdplay_tree}])
      fi
1130
      if test -f "${real_dvdplay_tree}/src/.libs/libdvdplay.a"
1131
      then
1132 1133 1134
        dnl  Use a custom libdvdplay
        AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a)
        BUILTINS="${BUILTINS} dvdplay"
1135
        LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1136
        CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src"
1137
      else
1138 1139 1140
        dnl  The given libdvdplay wasn't built
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot find ${real_dvdplay_tree}/src/.libs/libdvdplay.a, make sure you compiled libdvdplay in ${with_dvdplay_tree}])
1141 1142
      fi
    fi
1143 1144 1145 1146 1147 1148 1149
  else
    AC_MSG_CHECKING(for dvdplay headers in ${with_dvdplay})
    if test -f ${with_dvdplay}/include/dvdplay/dvdplay.h
    then
      dnl  Use ${with_dvdplay}/include/dvdplay/dvdplay.h
      AC_MSG_RESULT(yes)
      PLUGINS="${PLUGINS} dvdplay"
Gildas Bazin's avatar
 
Gildas Bazin committed
1150
      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1151 1152 1153 1154 1155 1156 1157
      CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${with_dvdplay}/include"
    else
      dnl  No libdvdplay could be found, sorry
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${with_dvdplay}/include/dvdplay/dvdplay.h])
    fi
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1158
fi
Stéphane Borel's avatar
Stéphane Borel committed
1159

1160
dnl
1161
dnl  libdvbpsi ts demux/mux
1162 1163
dnl
AC_ARG_ENABLE(dvbpsi,
1164
[  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1165
if test "x${enable_dvbpsi}" != "xno"
1166
then
1167
  AC_ARG_WITH(dvbpsi,
1168
  [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1169 1170
  AC_ARG_WITH(dvbpsi,
  [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1171
  case "x${with_dvbpsi}" in
1172
  x|xyes)
1173
    if test "x${with_dvbpsi_tree}" = "x"
1174
    then
Sam Hocevar's avatar
Sam Hocevar committed
1175
      AC_CHECK_HEADERS(dvbpsi/dr.h,
1176
        [ PLUGINS="${PLUGINS} ts_dvbpsi"
1177 1178 1179
          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" 
          PLUGINS="${PLUGINS} mux_ts_dvbpsi"
          LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -ldvbpsi" ],
1180
        [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
Gildas Bazin's avatar
 
Gildas Bazin committed
1181 1182 1183 1184 1185
        [#include <stdint.h>
#include <dvbpsi/dvbpsi.h>
#include <dvbpsi/descriptor.h>
#include <dvbpsi/pat.h>
#include <dvbpsi/pmt.h>])
1186 1187 1188
    else
      AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
      real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1189
      if test "x${real_dvbpsi_tree}" = "x"
1190 1191 1192 1193 1194 1195 1196 1197 1198
      then
        dnl  The given directory can't be found
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
      fi
      if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
      then
        dnl  Use a custom libdvbpsi
        AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
1199
        BUILTINS="${BUILTINS} ts_dvbpsi"
1200
        LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
1201
        CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} -I${real_dvbpsi_tree}/src"
1202 1203

        BUILTINS="${BUILTINS} mux_ts_dvbpsi"
1204
        LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
1205 1206
        CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} -I${real_dvbpsi_tree}/src"

1207 1208 1209 1210 1211
      else
        dnl  The given libdvbpsi wasn't built
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
      fi
1212
    fi
1213 1214
  ;;
  xno)
1215
    dnl  Compile without dvbpsi
1216 1217 1218
  ;;
  *)
    AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1219
    if test "x${with_dvbpsi}" = "x"
1220
    then
1221 1222
      LDFLAGS_test=""
      CPPFLAGS_test=""
1223
    else
1224 1225
      LDFLAGS_test="-L${with_dvbpsi}/lib"
      CPPFLAGS_test="-I${with_dvbpsi}/include"
1226
    fi
1227
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1228
    AC_CHECK_HEADER([dvbpsi/dr.h],[
1229 1230 1231
      PLUGINS="${PLUGINS} ts_dvbpsi"
      LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi"
      CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} ${CPPFLAGS_test}"
1232 1233 1234 1235
      PLUGINS="${PLUGINS} mux_ts_dvbpsi"
      LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi"
      CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} ${CPPFLAGS_test}"

1236
      ],[
1237
      if test "x${enable_dvbpsi}" != "x"
1238 1239 1240 1241
      then
        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])
      fi
    ])
1242
    CPPFLAGS="${CPPFLAGS_save}"
1243 1244
  ;;
  esac
1245
fi
1246

1247 1248 1249 1250 1251 1252 1253 1254
dnl
dnl  Video4Linux plugin
dnl
AC_ARG_ENABLE(v4l,
  [  --enable-v4l            Video4Linux input support (default disabled)])
if test "x${enable_v4l}" = "xyes"
then
  AC_CHECK_HEADERS(libv4l/v4l.h, [
1255
    PLUGINS="${PLUGINS} v4l"
1256 1257 1258
   ],[])
fi

1259
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1260
dnl  VCD module
1261 1262
dnl
AC_ARG_ENABLE(vcd,
Gildas Bazin's avatar
 
Gildas Bazin committed
1263
  [  --enable-vcd            VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
1264

1265
if test "x${enable_vcd}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1266
then
1267
  AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
1268
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1269
    AC_MSG_RESULT(yes)
1270
    PLUGINS="${PLUGINS} vcd"
1271 1272
  ],[
    AC_MSG_RESULT(no)
Sam Hocevar's avatar
 
Sam Hocevar committed
1273
  ])
1274

1275
  AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1276
  AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1277
    AC_MSG_RESULT(yes)
1278 1279
    PLUGINS="${PLUGINS} vcd"
    AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1280 1281
  ],[
    AC_MSG_RESULT(no)
1282 1283
  ])

1284
  AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1285
  AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1286
    AC_MSG_RESULT(yes)
1287
    PLUGINS="${PLUGINS} vcd"
1288
    AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1289 1290
  ],[
    AC_MSG_RESULT(no)
1291
  ])
1292

Gildas Bazin's avatar
 
Gildas Bazin committed
1293
  if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32"
Sam Hocevar's avatar
 
Sam Hocevar committed
1294
  then
1295
    PLUGINS="${PLUGINS} vcd"
Sam Hocevar's avatar
 
Sam Hocevar committed
1296
  fi
1297

Sam Hocevar's avatar
 
Sam Hocevar committed
1298 1299
  if test "x${SYS}" = "xdarwin"
  then
1300
    PLUGINS="${PLUGINS} vcd"
1301
    LDFLAGS_vcd="${LDFLAGS_vcd} -framework IOKit -framework CoreFoundation"
Sam Hocevar's avatar
 
Sam Hocevar committed
1302
  fi
1303 1304
fi

Johan Bilien's avatar
Johan Bilien committed
1305 1306 1307 1308
dnl
dnl  Satellite input module
dnl
AC_ARG_ENABLE(satellite,
Sam Hocevar's avatar
 
Sam Hocevar committed
1309
  [  --enable-satellite      satellite card support (default disabled)],
1310
  [ if test "x${enable_satellite}" = "xyes"
Johan Bilien's avatar
Johan Bilien committed
1311
    then
1312
      PLUGINS="${PLUGINS} satellite"
Johan Bilien's avatar
Johan Bilien committed
1313 1314
    fi])

1315
dnl
1316
dnl  ipv6 plugin - not for QNX yet
1317
dnl
1318
if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
1319
then
1320
  have_ipv6=false
1321
  AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
1322
    AC_CHECK_LIB(resolv,inet_pton,
1323 1324
      [have_ipv6=:
       LDFLAGS_ipv6="${LDFLAGS_ipv6} -lresolv"])
1325
  ])
1326 1327
  AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
  AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1328 1329 1330
    [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=false])
  if ${have_ipv6}; then
    PLUGINS="${PLUGINS} ipv6"
1331
  fi
1332
fi
1333
if test "x${SYS}" = "xmingw32"
Gildas Bazin's avatar
 
Gildas Bazin committed
1334 1335 1336
then
  AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
  AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1337
    PLUGINS="${PLUGINS} ipv6"],[AC_MSG_RESULT(no)])
Gildas Bazin's avatar
 
Gildas Bazin committed
1338
fi
1339

1340 1341 1342 1343 1344
dnl
dnl  AVI demux plugin
dnl
AC_ARG_ENABLE(avi,
  [  --enable-avi            AVI demux module (default enabled)])
1345
if test "x${enable_avi}" != "xno"
1346
then
1347
  PLUGINS="${PLUGINS} avi"
1348 1349
fi

1350 1351 1352 1353 1354 1355 1356 1357 1358 1359
dnl
dnl  ASF demux plugin
dnl
AC_ARG_ENABLE(asf,
  [  --enable-asf            ASF demux module (default enabled)])
if test "x${enable_asf}" != "xno"
then
  PLUGINS="${PLUGINS} asf"
fi

1360 1361 1362 1363 1364 1365 1366
dnl
dnl  AAC demux plugin
dnl
AC_ARG_ENABLE(aac,
  [  --enable-aac            AAC demux module (default enabled)])
if test "x${enable_aac}" != "xno"
then
1367
  PLUGINS="${PLUGINS} aac"
1368 1369
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1370 1371 1372 1373 1374 1375 1376 1377
dnl
dnl  ogg plugin
dnl
AC_ARG_ENABLE(ogg,
  [  --enable-ogg            Ogg demux support (default enabled)])
if test "x${enable_ogg}" != "xno"
then
  AC_CHECK_HEADERS(ogg/ogg.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
1378 1379 1380 1381 1382
    AC_CHECK_LIB( ogg, oggpack_read, [
      PLUGINS="${PLUGINS} ogg"
      LDFLAGS_ogg="${LDFLAGS_ogg} -logg"
      AC_CHECK_LIB( ogg, oggpackB_read, [
        CPPFLAGS_ogg="${CPPFLAGS_ogg} -DHAVE_OGGPACKB"])])
Gildas Bazin's avatar
 
Gildas Bazin committed
1383 1384 1385
   ],[])
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1386 1387 1388 1389 1390 1391 1392 1393 1394 1395
dnl
dnl  raw dv demux plugin
dnl
AC_ARG_ENABLE(rawdv,
  [  --enable-rawdv          raw dv demux module (default enabled)])
if test "x${enable_rawdv}" != "xno"
then
  PLUGINS="${PLUGINS} rawdv"
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
1396
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1397
dnl  Codec plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1398
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1399

Sam Hocevar's avatar
 
Sam Hocevar committed
1400
AC_ARG_WITH(,[Codec plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1401

1402
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1403
dnl  mad plugin
1404
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1405 1406
AC_ARG_ENABLE(mad,
  [  --enable-mad            libmad module (default disabled)])
1407
if test "x${enable_mad}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1408 1409
then
  AC_ARG_WITH(mad,
Gildas Bazin's avatar
 
Gildas Bazin committed
1410
    [    --with-mad=PATH       path to libmad],[],[])
1411
  if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1412
  then
1413 1414
    CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${with_mad}/include"
    LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${with_mad}/lib"
Gildas Bazin's avatar
 
Gildas Bazin committed
1415 1416 1417 1418
  fi

  AC_ARG_WITH(mad-tree,
    [    --with-mad-tree=PATH  mad tree for static linking],[],[])
1419
  if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1420 1421
  then
    real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
1422
    if test "x${real_mad_tree}" = "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1423 1424 1425 1426 1427 1428 1429 1430 1431 1432
    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)
1433 1434
      CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${real_mad_tree}/libmad"
      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${real_mad_tree}/libmad/.libs"
1435
      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1436
      AC_CHECK_LIB(mad, mad_bit_init, [
1437 1438
        BUILTINS="${BUILTINS} mpgatofixed32"
        LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad"
Gildas Bazin's avatar
 
Gildas Bazin committed
1439 1440
        ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
      ],[])
1441
      LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1442 1443 1444 1445 1446
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have mad.h])
    fi
  else
1447 1448
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1449 1450
    AC_CHECK_HEADERS(mad.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1451
    AC_CHECK_LIB(mad, mad_bit_init, [
1452 1453
      PLUGINS="${PLUGINS} mpgatofixed32"
      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ],
Gildas Bazin's avatar
 
Gildas Bazin committed
1454
      [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1455 1456
    CPPFLAGS="${CPPFLAGS_save}"
    LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1457
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1458
fi
1459

1460 1461 1462
dnl
dnl   libid3tag support
dnl
1463
AC_CHECK_HEADERS(id3tag.h, [
1464 1465 1466
  LDFLAGS_id3tag="${LDFLAGS_id3tag} -lz -lid3tag"
  PLUGINS="${PLUGINS} id3tag"])

1467 1468 1469 1470 1471
dnl
dnl  ffmpeg decoder plugin
dnl
AC_ARG_ENABLE(ffmpeg,
[  --enable-ffmpeg         ffmpeg codec (default disabled)])
1472
if test "x${enable_ffmpeg}" = "xyes"
1473
then
1474 1475
  AC_ARG_WITH(ffmpeg,
    [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
1476
  if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1477
  then
1478
    CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg"
1479
    LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib"
1480 1481
  fi

1482
  dnl Add postprocessing modules
1483
  PLUGINS="${PLUGINS} postprocessing_c"
1484
  if test "x${ac_cv_mmx_inline}" != "xno"; then
1485
    PLUGINS="${PLUGINS} postprocessing_mmx"
1486 1487 1488
  fi

  if test "x${ac_cv_mmxext_inline}" != "xno"; then
1489
    PLUGINS="${PLUGINS} postprocessing_mmxext"
1490 1491
  fi

1492
  AC_ARG_WITH(ffmpeg-tree,
1493
  [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1494
  if test "x${with_ffmpeg_tree}" != "x"
1495 1496 1497
  then
    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1498
    if test "x${real_ffmpeg_tree}" = x
1499 1500 1501 1502 1503 1504 1505 1506 1507
    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)
1508
      BUILTINS="${BUILTINS} ffmpeg"
1509
      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec"
1510
      CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec"
1511 1512 1513 1514 1515
    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
1516
  else
1517 1518
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
1519
    AC_CHECK_LIB(avcodec, avcodec_init, [
1520 1521
      BUILTINS="${BUILTINS} ffmpeg"
      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" ],
1522
      [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1523 1524
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
1525 1526 1527
  fi
fi

1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538
dnl
dnl  faad decoder plugin
dnl
AC_ARG_ENABLE(faad,
[  --enable-faad           faad codec (default disabled)])
if test "x${enable_faad}" = "xyes"
then
  AC_ARG_WITH(faad,
    [    --with-faad=PATH      path to faad installation],[],[])
  if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
  then
1539 1540
    CPPFLAGS_faad="${CPPFLAGS_faad} -I${with_faad}/include"
    LDFLAGS_faad="${LDFLAGS_faad} -L${with_faad}/lib"
1541
  fi
1542
  LDFLAGS_faad="${LDFLAGS_faad}"
1543

1544
  AC_ARG_WITH(faad-tree,
1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
  [    --with-faad-tree=PATH faad tree for static linking])
  if test "x${with_faad_tree}" != "x"
  then
    AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
    real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
    if test "x${real_faad_tree}" = x
    then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
    fi
    if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
    then
      dnl  Use a custom faad
      AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
1560
      BUILTINS="${BUILTINS} faad"
1561
      LDFLAGS_faad="${LDFLAGS_faad} -L${real_faad_tree}/libfaad/.libs -lfaad"
1562
      CPPFLAGS_faad="${CPPFLAGS_faad} -I${real_faad_tree}/include"
1563 1564 1565
    else
      dnl  The given libfaad wasn't built
      AC_MSG_RESULT(no)
1566
      AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1567 1568
    fi
  else
1569 1570
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
1571 1572 1573
    AC_CHECK_HEADERS(faad.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
    AC_CHECK_LIB(faad, faacDecOpen, [
1574 1575
      PLUGINS="${PLUGINS} faad"
      LDFLAGS_faad="${LDFLAGS_faad} -lfaad" ],
1576
      [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1577 1578
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
1579 1580 1581 1582
  fi
fi


1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610
dnl
dnl  xvid decoder plugin
dnl
AC_ARG_ENABLE(xvid,
[  --enable-xvid           xvid codec (default disabled)])
if test "x${enable_xvid}" = "xyes"
then
  AC_ARG_WITH(xvid,
    [    --with-xvid=PATH      path to xvid installation],[],[])
  if test "x${with_xvid}" != "xno" -a "x${with_xvid}" != "x"
  then
    CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${with_xvid}/include"
    LDFLAGS_xvid="${LDFLAGS_xvid} -L${with_xvid}/lib"
  fi
  LDFLAGS_xvid="${LDFLAGS_xvid}"

  AC_ARG_WITH(xvid-tree,
  [    --with-xvid-tree=PATH xvid tree for static linking])
  if test "x${with_xvid_tree}" != "x"
  then
    AC_MSG_CHECKING(for libxvidcore.a in ${with_xvid_tree})
    real_xvid_tree="`cd ${with_xvid_tree} 2>/dev/null && pwd`"
    if test "x${real_xvid_tree}" = x
    then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot cd to ${with_xvid_tree}])
    fi
1611
    if test -f "${real_xvid_tree}/build/generic/libxvidcore.a"
1612 1613 1614 1615
    then
      dnl  Use a custom xvid
      AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a)
      BUILTINS="${BUILTINS} xvid"
1616
      LDFLAGS_xvid="${LDFLAGS_xvid} -L${real_xvid_tree}/build/generic -lxvidcore"
1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637
      CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${real_xvid_tree}/src"
    else
      dnl  The given libxvidcore wasn't built
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${real_xvid_tree}/build/generic/libxvidcore.a, make sure you compiled libxvidcore in ${with_xvid_tree}])
    fi
  else
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xvid}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}"
    AC_CHECK_HEADERS(xvid.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ])
    AC_CHECK_LIB(xvid, xvid_init, [
      PLUGINS="${PLUGINS} xvid"
      LDFLAGS_xvid="${LDFLAGS_xvid} -lxvid" ],
      [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ])
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
  fi
fi


1638

1639 1640 1641
dnl
dnl MP4 module
dnl
1642
AC_ARG_ENABLE(mp4,
1643 1644
  [  --enable-mp4            MP4 demux module (default enabled)])
if test "x${enable_mp4}" != "xno"
1645
then
1646

1647
    PLUGINS="${PLUGINS} mp4"
1648
    AC_CHECK_HEADERS(zlib.h,
1649
              [ LDFLAGS_mp4="${LDFLAGS_mp4} -lz" ] )
1650
fi
1651

Gildas Bazin's avatar
 
Gildas Bazin committed
1652
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1653
dnl  a52 AC3 decoder plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
1654
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1655
AC_ARG_ENABLE(a52,
1656
  [  --enable-a52            A/52 support with liba52 (default enabled)])
1657
if test "x${enable_a52}" != "xno"
Gildas Bazin's avatar
 
Gildas Bazin committed
1658
then
1659
  AC_ARG_WITH(a52,
1660
    [    --with-a52=PATH       a52 headers and libraries])
Gildas Bazin's avatar
 
Gildas Bazin committed
1661 1662
  AC_ARG_WITH(a52-tree,
    [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
1663
  if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1664
  then
Gildas Bazin's avatar
 
Gildas Bazin committed
1665
    real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1666
    if test "x${real_a52_tree}" = "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1667 1668 1669 1670 1671 1672 1673 1674 1675 1676
    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)
1677 1678 1679
      CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -I${real_a52_tree}"
      LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -L${real_a52_tree}/liba52/.libs"
      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1680
      AC_CHECK_LIB(a52, a52_free, [
1681
        BUILTINS="${BUILTINS} a52tofloat32"
1682
        LDFLAGS_a52tofloat32="-la52 ${LDFLAGS_a52tofloat32}"
1683
        CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -DUSE_A52DEC_TREE"
Gildas Bazin's avatar
 
Gildas Bazin committed
1684 1685 1686
        ],[
        if test -f ${real_a52_tree}/liba52/.libs/liba52.a
        then
1687
          AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
Gildas Bazin's avatar
 
Gildas Bazin committed
1688 1689 1690
        else
          AC_MSG_ERROR([the specified tree hasn't been compiled])
        fi
1691
      ])
1692
      LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1693 1694 1695 1696
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have a52.h])
    fi
1697 1698 1699
  else
    if test "x${with_a52}" = "x"
    then
1700 1701
      LDFLAGS_test=""
      CPPFLAGS_test=""
1702
    else
1703 1704
      LDFLAGS_test="-L${with_a52}/lib"
      CPPFLAGS_test="-I${with_a52}/include"
1705
    fi
1706 1707
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
1708
    AC_CHECK_HEADERS(a52dec/a52.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
1709
      AC_CHECK_LIB(a52, a52_free, [
1710
        PLUGINS="${PLUGINS} a52tofloat32"
1711
        LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}"
1712
        CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}"
1713
      ],[
1714
        AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
1715
      ])
Gildas Bazin's avatar
 
Gildas Bazin committed
1716
    ])
1717 1718
    CPPFLAGS="${CPPFLAGS_save}"
    LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1719
  fi
Gildas Bazin's avatar
 
Gildas Bazin committed
1720 1721
fi

1722 1723 1724 1725 1726 1727 1728
dnl
dnl  cinepak plugin
dnl
AC_ARG_ENABLE(cinepak,
  [  --enable-cinepak        Cinepak decoder (default enabled)])
if test "x${enable_cinepak}" != "xno"
then
1729
  PLUGINS="${PLUGINS} cinepak"
1730 1731
fi

1732 1733
dnl
dnl  DV plugin
1734
dnl
1735 1736 1737 1738 1739
AC_ARG_ENABLE(dv,
  [  --enable-dv             DV decoder support (default disabled)])
if test "x${enable_dv}" = "xyes"
then
  AC_CHECK_HEADERS(libdv/dv.h, [
1740 1741
    PLUGINS="${PLUGINS} dv"
    LDFLAGS_dv="${LDFLAGS_dv} -ldv"
1742
   ],[])
1743
fi
1744

Gildas Bazin's avatar
 
Gildas Bazin committed
1745 1746 1747 1748
dnl
dnl  Vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
Gildas Bazin's avatar
 
Gildas Bazin committed
1749
  [  --enable-vorbis         Vorbis decoder support (default enabled)])
Gildas Bazin's avatar
 
Gildas Bazin committed
1750 1751 1752 1753
if test "x${enable_vorbis}" != "xno"
then
  AC_CHECK_HEADERS(vorbis/codec.h, [
    PLUGINS="${PLUGINS} vorbis"
Gildas Bazin's avatar
 
Gildas Bazin committed
1754
    LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg"
Gildas Bazin's avatar
 
Gildas Bazin committed
1755 1756 1757
   ],[])
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770
dnl
dnl  Tremor plugin
dnl
AC_ARG_ENABLE(tremor,
  [  --enable-tremor         Tremor decoder support (default disabled)])
if test "x${enable_tremor}" = "xyes"
then
  AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [
    PLUGINS="${PLUGINS} tremor"
    LDFLAGS_tremor="${LDFLAGS_tremor} -lvorbisidec -logg"
   ],[])
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788
dnl
dnl  tarkin decoder plugin
dnl
AC_ARG_ENABLE(tarkin,
[  --enable-tarkin         experimental tarkin codec (default disabled)])
if test "x${enable_tarkin}" = "xyes"
then
  AC_ARG_WITH(tarkin-tree,
  [    --with-tarkin-tree=PATH tarkin tree for static linking])
  if test "x${with_tarkin_tree}" != "x"
  then
    AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree})
    real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`"
    if test -f "${real_tarkin_tree}/tarkin.o"
    then
      BUILTINS="${BUILTINS} tarkin"
      CPPFLAGS_tarkin="${CPPFLAGS_tarkin} -I${real_tarkin_tree}"
      LDFLAGS_tarkin="${LDFLAGS_tarkin} ${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg"
Gildas Bazin's avatar
 
Gildas Bazin committed
1789
      AC_MSG_RESULT(yes)
Gildas Bazin's avatar
 
Gildas Bazin committed
1790 1791 1792 1793 1794 1795 1796 1797 1798
    else
      dnl  The given tarkin tree wasn't built
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o,
                    make sure you compiled tarkin in ${with_tarkin_tree}])
    fi
  fi
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1799 1800 1801 1802 1803 1804 1805 1806 1807 1808
dnl
dnl  theora decoder plugin
dnl
AC_ARG_ENABLE(theora,
[  --enable-theora         experimental theora codec (default disabled)])
if test "x${enable_theora}" = "xyes"
then
  AC_CHECK_HEADERS(theora/theora.h, [
    AC_CHECK_LIB(theora, theora_granule_time, [
      BUILTINS="${BUILTINS} theora"
Gildas Bazin's avatar
 
Gildas Bazin committed
1809
      LDFLAGS_theora="${LDFLAGS_theora} -ltheora -logg" ],[
Gildas Bazin's avatar
 
Gildas Bazin committed
1810 1811 1812 1813 1814 1815
      AC_MSG_ERROR([libtheora doesn't appear to be installed on you system.
You also need to check that you have a libogg posterior to the 1.0 release.])],
      [-logg])
  ])
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
1816
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1817
dnl  Video plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1818 1819
dnl

Sam Hocevar's avatar
 
Sam Hocevar committed
1820
AC_ARG_WITH(,[Video plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1821

Sam Hocevar's avatar
 
Sam Hocevar committed
1822
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1823 1824
dnl  X11 module
dnl  (enabled by default except on win32)
Sam Hocevar's avatar
 
Sam Hocevar committed
1825
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1826
AC_ARG_ENABLE(x11,
Sam Hocevar's avatar
 
Sam Hocevar committed
1827
  [  --enable-x11            X11 support (default enabled)])
1828 1829
if test "x${enable_x11}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1830
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1831
  AC_CHECK_HEADERS(X11/Xlib.h, [
1832 1833 1834
    PLUGINS="${PLUGINS} x11"
    LDFLAGS_x11="${LDFLAGS_x11} -L${x_libraries} -lX11 -lXext"
    CPPFLAGS_x11="${CPPFLAGS_x11} -I${x_includes}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1835
  ])
1836
  CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1837 1838 1839 1840 1841 1842 1843
fi

dnl
dnl  XVideo module
dnl  (enabled by default except on win32)
dnl
AC_ARG_ENABLE(xvideo,
Sam Hocevar's avatar
 
Sam Hocevar committed
1844
  [  --enable-xvideo         XVideo support (default enabled)])
1845 1846
if test "x${enable_xvideo}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1847
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1848
  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1849
    CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
1850
    AC_CHECK_LIB(Xv_pic,XvPutImage,
Sam Hocevar's avatar
 
Sam Hocevar committed
1851
      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1852 1853 1854
      PLUGINS="${PLUGINS} xvideo"
      LDFLAGS_xvideo="${LDFLAGS_xvideo} -L${x_libraries} -lX11 -lXext -lXv_pic"
      CPPFLAGS_xvideo="${CPPFLAGS_xvideo} -I${x_includes}",
1855 1856
      AC_CHECK_LIB(Xv,XvPutImage,
        # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1857 1858 1859
        PLUGINS="${PLUGINS} xvideo"
        LDFLAGS_xvideo="${LDFLAGS_xvideo} -L${x_libraries} -lX11 -lXext -lXv"
        CPPFLAGS_xvideo="${CPPFLAGS_xvideo} -I${x_includes}",
1860
        # Otherwise... well, do nothing.
1861
        :
1862 1863
      )
    )
1864
    CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1865
  ]
1866
  CPPFLAGS="${CPPFLAGS_save}")
Sam Hocevar's avatar
 
Sam Hocevar committed
1867
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1868 1869 1870 1871

dnl
dnl  SDL module
dnl
1872
AC_ARG_ENABLE(sdl,
Sam Hocevar's avatar
 
Sam Hocevar committed
1873
  [  --enable-sdl            SDL support (default enabled)])
1874
if test "x${enable_sdl}" != "xno"
1875
then
1876
  SDL_PATH="${PATH}"
1877
  AC_ARG_WITH(sdl-config-path,
Sam Hocevar's avatar
 
Sam Hocevar committed
1878
    [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1879
    [ if test "x${with_sdl_config_path}" != "xno"
1880
      then
1881
        SDL_PATH="${with_sdl_config_path}:${PATH}"
1882
      fi ])
1883 1884
  AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
  SDL_CONFIG="${SDL12_CONFIG}"
1885
  SDL_HEADER="SDL12/SDL.h"
1886
  if test "x${SDL_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1887
  then
1888
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
1889
    SDL_CONFIG=${SDL11_CONFIG}
1890 1891
    SDL_HEADER="SDL11/SDL.h"
  fi
1892
  if test "x${SDL_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1893
  then
1894
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1895
    SDL_HEADER="SDL/SDL.h"
1896
  fi
1897 1898 1899 1900 1901 1902 1903 1904 1905 1906
  # check for cross-compiling
  SDL_PREFIX=
  AC_ARG_WITH(sdl-prefix,
    [    --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
                               e.g use as:
                               --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
  if test "x${with_sdl_prefix}" != "xno" -a "x${with_sdl_prefix}" != "x"
  then
    SDL_PREFIX="--prefix=${with_sdl_prefix}"
  fi
1907
  if test "x${SDL_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1908
  then
1909
    PLUGINS="${PLUGINS} vout_sdl aout_sdl"
1910 1911 1912 1913
    CFLAGS_vout_sdl="${CFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`"
    LDFLAGS_vout_sdl="${LDFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`"
    CFLAGS_aout_sdl="${CFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`"
    LDFLAGS_aout_sdl="${LDFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`"
1914
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
1915 1916
    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),
1917 1918
      [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
          As a last resort we also test for SDL.h presence),
1919 1920
      [ AC_MSG_ERROR([The development package for SDL is not installed.
Please install it and try again. Alternatively you can also configure with
1921
--disable-sdl.])
1922
      ])])
1923
    CPPFLAGS="${CPPFLAGS_save}"
1924
    if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
Sam Hocevar's avatar
 
Sam Hocevar committed
1925
    then
1926 1927 1928
      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
1929
    fi
1930
  elif test "x${enable_sdl}" =  "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
1931
  then
1932 1933 1934
    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.
    ])
1935 1936
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1937

1938
dnl
1939
dnl  Qt Embedded module
1940 1941 1942 1943
dnl  (disabled by default)
dnl
AC_ARG_ENABLE(qte,
  [  --enable-qte            QT Embedded support (default disabled)])
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1944
if test "x${enable_qte}" = "xyes"
1945 1946
then
  AC_ARG_WITH(qte,
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1947 1948
  [    --with-qte=PATH       Qt Embedded headers and libraries])
  if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
1949
  then
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1950
    LDFLAGS_qte="${LDFLAGS_qte} -L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
1951
    CPPFLAGS_qte="${CPPFLAGS_qte} -I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
1952
  else
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1953
    LDFLAGS_qte="${LDFLAGS_qte} -L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
1954
    CPPFLAGS_qte="${CPPFLAGS_qte} -I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1955 1956
  fi
  PLUGINS="${PLUGINS} qte"
1957
  NEED_QTE_MAIN=yes
1958
  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1959 1960 1961
  AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
    AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
  ] )
1962
  CPPFLAGS="${CPPFLAGS_save}"
1963 1964
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
1965 1966 1967
dnl
dnl  Windows DirectX module
dnl
1968
AC_ARG_ENABLE(directx,
Sam Hocevar's avatar
 
Sam Hocevar committed
1969
  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
1970
if test "x${enable_directx}" != "xno"
1971
then
Gildas Bazin's avatar
 
Gildas Bazin committed
1972
  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"
1973
  then
1974
    AC_ARG_WITH(directx,
Gildas Bazin's avatar
 
Gildas Bazin committed
1975
    [    --with-directx=PATH   Win32 DirectX headers])
1976
    if test "x${with_directx}" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
1977
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
1978
      AC_CHECK_HEADERS(ddraw.h,
Gildas Bazin's avatar
 
Gildas Bazin committed
1979 1980
      [ PLUGINS="${PLUGINS} vout_directx aout_directx"
        LDFLAGS_vout_directx="${LDFLAGS_directx} -lgdi32" ])
1981
    else
1982 1983
      AC_MSG_CHECKING(for directX headers in ${with_directx})
      if test -f ${with_directx}/ddraw.h
Gildas Bazin's avatar
 
Gildas Bazin committed
1984
      then
Gildas Bazin's avatar
 
Gildas Bazin committed
1985 1986 1987 1988
        PLUGINS="${PLUGINS} vout_directx aout_directx"
        LDFLAGS_vout_directx="${LDFLAGS_directx} -lgdi32"
        CPPFLAGS_vout_directx="${CPPFLAGS_vout_directx} -I${with_directx}"
        CPPFLAGS_aout_directx="${CPPFLAGS_aout_directx} -I${with_directx}"
1989
        AC_MSG_RESULT(yes)
Gildas Bazin's avatar
 
Gildas Bazin committed
1990
      else
1991
        AC_MSG_RESULT(no)
1992
        AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
Gildas Bazin's avatar
 
Gildas Bazin committed
1993
      fi
1994 1995 1996
    fi
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1997

Gildas Bazin's avatar
 
Gildas Bazin committed
1998
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1999
dnl  Linux framebuffer module
Gildas Bazin's avatar
 
Gildas Bazin committed
2000
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2001 2002
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
2003
    if test "x${enable_fb}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2004 2005
    then
      AC_CHECK_HEADERS(linux/fb.h, [
2006
        PLUGINS="${PLUGINS} fb"
Sam Hocevar's avatar
 
Sam Hocevar committed
2007 2008
      ])
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2009

Sam Hocevar's avatar
 
Sam Hocevar committed
2010
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2011
dnl  Linux MGA module
Sam Hocevar's avatar
 
Sam Hocevar committed
2012
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2013 2014
AC_ARG_ENABLE(mga,
  [  --enable-mga            Linux kernel Matrox support (default disabled)],
2015
  [ if test "x${enable_mga}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2016
    then
2017
      PLUGINS="${PLUGINS} mga xmga"
Sam Hocevar's avatar
 
Sam Hocevar committed
2018
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2019

2020 2021 2022 2023 2024 2025 2026
dnl
dnl  SVGAlib module
dnl
AC_ARG_ENABLE(svgalib,
  [  --enable-svgalib        SVGAlib support (default disabled)])
if test "x${enable_svgalib}" = "xyes"
then
2027 2028
  PLUGINS="${PLUGINS} svgalib"
  LDFLAGS_svgalib="${LDFLAGS_svgalib} -lvgagl -lvga"
2029 2030
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2031 2032 2033 2034 2035
dnl
dnl  GGI module
dnl
AC_ARG_ENABLE(ggi,
  [  --enable-ggi            GGI support (default disabled)])
2036
if test "x${enable_ggi}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2037
then
2038 2039
  PLUGINS="${PLUGINS} ggi"
  LDFLAGS_ggi="${LDFLAGS_ggi} -lggi"
Sam Hocevar's avatar
 
Sam Hocevar committed
2040 2041
  AC_ARG_WITH(ggi,
    [    --with-ggi=PATH       path to libggi],
2042
    [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
2043
      then
2044 2045
        CPPFLAGS_ggi="${CPPFLAGS_ggi} -I${with_ggi}/include"
        LDFLAGS_ggi="${LDFLAGS_ggi} -L${with_ggi}/lib"
Sam Hocevar's avatar
 
Sam Hocevar committed
2046 2047 2048
      fi ])
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2049 2050 2051
dnl
dnl  Glide module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2052 2053
AC_ARG_ENABLE(glide,
  [  --enable-glide          Glide (3dfx) support (default disabled)])
2054
if test "x${enable_glide}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2055
then
2056 2057 2058
  PLUGINS="${PLUGINS} glide"
  LDFLAGS_glide="${LDFLAGS_glide} -lglide2x -lm"
  CPPFLAGS_glide="${CPPFLAGS_glide} -I/usr/include/glide"
Sam Hocevar's avatar
 
Sam Hocevar committed
2059 2060
  AC_ARG_WITH(glide,
    [    --with-glide=PATH     path to libglide],
2061
    [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
2062
      then
2063 2064
        CPPFLAGS_glide="${CPPFLAGS_glide} -I${with_glide}/include"
        LDFLAGS_glide="${LDFLAGS_glide} -L${with_glide}/lib"
Sam Hocevar's avatar
 
Sam Hocevar committed
2065 2066
      fi ])
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2067

Sam Hocevar's avatar
 
Sam Hocevar committed
2068 2069 2070 2071 2072
dnl
dnl  AA plugin
dnl
AC_ARG_ENABLE(aa,
  [  --enable-aa             aalib output (default disabled)])
2073
if test "x${enable_aa}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2074 2075
then
  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
2076
  if test "x${have_aa}" = "xtrue"
Sam Hocevar's avatar
 
Sam Hocevar committed
2077
  then
2078 2079
    PLUGINS="${PLUGINS} aa"
    LDFLAGS_aa="${LDFLAGS_aa} -laa"
Sam Hocevar's avatar
 
Sam Hocevar committed
2080 2081 2082
  fi
fi

2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094
dnl
dnl  win32 GDI plugin
dnl
AC_ARG_ENABLE(wingdi,
  [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
if test "x${enable_wingdi}" != "xno"; then
  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
    PLUGINS="${PLUGINS} wingdi"
    LDFLAGS_wingdi="${LDFLAGS_wingdi} -lgdi32"
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2095
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2096
dnl  Audio plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
2097
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2098 2099 2100 2101 2102 2103

AC_ARG_WITH(,[Audio plugins:])

dnl
dnl  OSS /dev/dsp module (enabled by default except on win32)
dnl
2104 2105
AC_ARG_ENABLE(oss,
  [  --enable-oss            Linux OSS /dev/dsp support (enabled on Linux)])
Sam Hocevar's avatar
 
Sam Hocevar committed
2106

2107 2108
if test "x${enable_oss}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
2109 2110
then
  AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
2111
    PLUGINS="${PLUGINS} oss"
2112
    AC_CHECK_LIB(ossaudio,main,LDFLAGS_oss="${LDFLAGS_oss} -lossaudio")
Sam Hocevar's avatar
 
Sam Hocevar committed
2113 2114 2115 2116 2117 2118 2119 2120
  ])
fi

dnl
dnl  Esound module
dnl
AC_ARG_ENABLE(esd,
  [  --enable-esd            Esound library support (default disabled)],
2121
  [if test "x${enable_esd}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2122 2123
   then
     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
2124
     if test "x${ESD_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2125
     then
Gildas Bazin's avatar
 
Gildas Bazin committed
2126
       PLUGINS="${PLUGINS} esd"
2127 2128
       CFLAGS_esd="${CFLAGS_esd} `${ESD_CONFIG} --cflags`"
       LDFLAGS_esd="${LDFLAGS_esd} `${ESD_CONFIG} --libs`"
Sam Hocevar's avatar
 
Sam Hocevar committed
2129
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2130 2131 2132
   fi])

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2133
dnl  aRts module
Sam Hocevar's avatar
 
Sam Hocevar committed
2134
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2135 2136
AC_ARG_ENABLE(arts,
  [  --enable-arts           aRts sound server (default disabled)],
2137
  [if test "x${enable_arts}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2138 2139
   then
     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
2140
     if test "x${ARTS_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2141
     then
Gildas Bazin's avatar
 
Gildas Bazin committed
2142
       PLUGINS="${PLUGINS} arts"
2143 2144
       CFLAGS_arts="${CFLAGS_arts} `${ARTS_CONFIG} --cflags`"
       LDFLAGS_arts="${LDFLAGS_arts} `${ARTS_CONFIG} --libs `"
Sam Hocevar's avatar
 
Sam Hocevar committed
2145
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2146 2147 2148
   fi])

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2149 2150 2151 2152
dnl  ALSA module
dnl
AC_ARG_ENABLE(alsa,
  [  --enable-alsa           ALSA sound support for Linux (default disabled)],
2153
  [if test "x${enable_alsa}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2154 2155
   then
     AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
2156
     if test "x${have_alsa}" = "xtrue"
2157
     then
2158 2159 2160 2161 2162
       AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
                       #define ALSA_PCM_NEW_SW_PARAMS_API
                       #include <alsa/asoundlib.h>],
          [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
           AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
2163
       PLUGINS="${PLUGINS} alsa"
2164
       LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl"
2165 2166
     else
       AC_MSG_ERROR([Could not find ALSA development headers])
2167
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2168
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2169 2170

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2171
dnl  win32 waveOut plugin
Sam Hocevar's avatar
 
Sam Hocevar committed
2172
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2173 2174
AC_ARG_ENABLE(waveout,
  [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
Gildas Bazin's avatar
 
Gildas Bazin committed
2175 2176
if test "x${enable_waveout}" != "xno"; then
  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
Gildas Bazin's avatar
 
Gildas Bazin committed
2177
    PLUGINS="${PLUGINS} waveout"
2178
    LDFLAGS_waveout="-lwinmm"
Gildas Bazin's avatar
 
Gildas Bazin committed
2179
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2180 2181 2182 2183 2184 2185 2186
fi

dnl
dnl  Interface plugins
dnl

AC_ARG_WITH(,[Interface plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
2187

2188 2189 2190
dnl special case for BeOS
if test "x${SYS}" = "xbeos"
then
2191
    PLUGINS="${PLUGINS} beos"
2192 2193
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2194 2195 2196
dnl
dnl  Gtk+ module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2197
AC_ARG_ENABLE(gtk,
Sam Hocevar's avatar
 
Sam Hocevar committed
2198
  [  --enable-gtk            Gtk+ support (default enabled)])
2199
if test "x${enable_gtk}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2200
then
2201
  GTK_PATH="${PATH}"
2202
  AC_ARG_WITH(gtk-config-path,
Sam Hocevar's avatar
 
Sam Hocevar committed
2203
    [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
2204
    [ if test "x${with_gtk_config_path}" != "xno"
2205
      then
2206
        GTK_PATH="${with_gtk_config_path}:${PATH}"
2207
      fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2208
  # look for gtk-config
2209
  AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
2210
  GTK_CONFIG=${GTK12_CONFIG}
2211
  if test "x${GTK_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2212
  then
2213
    AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
2214
  fi
2215
  if test "x${GTK_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2216
  then
2217
    if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
Sam Hocevar's avatar
 
Sam Hocevar committed
2218 2219 2220
    then
      AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.])
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2221 2222 2223 2224 2225 2226 2227
    if test "x${SYS}" != "xmingw32"; then
      CFLAGS_gtk="${CFLAGS_gtk} `${GTK_CONFIG} --cflags gtk gthread`"
      LDFLAGS_gtk="${LDFLAGS_gtk} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`"
    else
      CFLAGS_gtk="${CFLAGS_gtk} `${GTK_CONFIG} --cflags gtk`"
      LDFLAGS_gtk="${LDFLAGS_gtk} `${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`"
    fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2228
    # now look for the gtk.h header
2229
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2230 2231 2232 2233 2234
    ac_cv_gtk_headers=yes
    AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
      ac_cv_gtk_headers=no
      echo "Cannot find gtk development headers."
    ])
2235
    if test "x${ac_cv_gtk_headers}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2236
    then
2237
      PLUGINS="${PLUGINS} gtk"
Gildas Bazin's avatar
 
Gildas Bazin committed
2238 2239 2240
      if test "x${SYS}" != "xmingw32"; then
        NEED_GTK_MAIN=yes
      fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2241 2242
      ALIASES="${ALIASES} gvlc"
    fi
2243
    CPPFLAGS="${CPPFLAGS_save}"
2244 2245
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2246

2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267
dnl
dnl  Familiar module uses Gtk+ library
dnl
AC_ARG_ENABLE(familiar,
  [  --enable-familiar       Familiar Gtk+ support (default disabled)])
if test "x${enable_familiar}" = "xyes"
then
  GTK_PATH="${PATH}"
  AC_ARG_WITH(gtk-config-path,
    [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
    [ if test "x${with_gtk_config_path}" != "xno"
      then
        GTK_PATH="${with_gtk_config_path}:${PATH}"
      fi ])
  # look for gtk-config
  AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
  GTK_CONFIG=${GTK12_CONFIG}
  if test "x${GTK_CONFIG}" = "xno"
  then
    AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
  fi
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2268 2269 2270 2271 2272 2273
  # check for cross-compiling
  GTK_PREFIX=
  AC_ARG_WITH(gtk-prefix,
    [    --with-gtk-prefix=PATH path to libgtk (needed for cross-compiling),
                          e.g use as:
                          --with-gtk-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[])
2274
  if test "x${with_gtk_prefix}" != "xno" -a "x${with_gtk_prefix}" != "x"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2275 2276 2277
  then
    GTK_PREFIX="--prefix=$with_gtk_prefix"
  fi
2278 2279 2280 2281 2282 2283
  if test "x${GTK_CONFIG}" != "xno"
  then
    if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
    then
      AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-familiar.])
    fi
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2284 2285
    CFLAGS_familiar="${CFLAGS_familiar} `${GTK_CONFIG} ${GTK_PREFIX} --cflags gtk gthread`"
    LDFLAGS_familiar="${LDFLAGS_familiar} `${GTK_CONFIG} ${GTK_PREFIX} --libs gtk gthread | sed 's,-rdynamic,,'`"
2286
    # now look for the gtk.h header
2287
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar}"
2288 2289 2290 2291 2292
    ac_cv_gtk_headers=yes
    AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [
      ac_cv_gtk_headers=no
      echo "Cannot find gtk development headers."
    ])
2293 2294 2295 2296 2297
    if test "x${ac_cv_gtk_headers}" = "xyes"
    then
      PLUGINS="${PLUGINS} familiar"
    fi
    CPPFLAGS="${CPPFLAGS_save}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322

    # now look for gpe support
    AC_ARG_WITH(gpe-prefix,
    [    --with-gpe-prefix=PATH gpe installation path prefix (default search in \$PATH)],[],[])
    if test "x$with_gpe_prefix" != "xno"  -a "x$with_gpe_prefix" != "x"
    then
      CFLAGS_gpe="-I$with_gpe_prefix/include"
      LDFLAGS_gpe="-lXi -lgdk_pixbuf -L$with_gpe_prefix/lib -lgpewidget"
      # now look for gpe/init.h header file
      CFLAGS_save=$CFLAGS
      LDFLAGS_save=$LDFLAGS
      CFLAGS="${CFLAGS_familiar} ${CFLAGS_gpe}"
      LDFLAGS="${LDFLAGS_familiar} ${LDFLAGS_gpe}"
      CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar} ${CFLAGS_gpe}"
      ac_cv_gpe_headers=yes
      AC_CHECK_HEADERS(gpe/init.h, ,
        [ ac_cv_gpe_headers=no
          AC_MSG_ERROR([Cannot find development headers for libgpewidget...]) ])
      CFLAGS=$CFLAGS_save
      LDFLAGS=$LDFLAG_save
      if test "x${ac_cv_gpe_headers}" = "xyes"
      then
        CFLAGS_familiar="${CFLAGS_familiar} ${CFLAGS_gpe}"
        LDFLAGS_familiar="${LDFLAGS_familiar} ${LDFLAGS_gpe}"
      fi
2323
    else
2324
	  NEED_GTK_MAIN=yes
2325 2326
    fi # end gpe support
  fi # end gtk+ support
2327 2328
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2329
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2330
dnl  Gnome module
Sam Hocevar's avatar
 
Sam Hocevar committed
2331
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2332 2333
AC_ARG_ENABLE(gnome,
  [  --enable-gnome          Gnome interface support (default disabled)],
2334
  [if test "x${enable_gnome}" = "xyes"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
2335 2336 2337 2338
    # look for gnome-config
    AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
    if test -x ${GNOME_CONFIG}
    then
2339 2340
       CFLAGS_gnome="${CFLAGS_gnome} `${GNOME_CONFIG} --cflags gtk gnomeui`"
       LDFLAGS_gnome="${LDFLAGS_gnome} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`"
Sam Hocevar's avatar
 
Sam Hocevar committed
2341 2342
    fi
    # now look for the gnome.h header
2343
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2344
    AC_CHECK_HEADERS(gnome.h, [
2345
      PLUGINS="${PLUGINS} gnome"
2346
      NEED_GTK_MAIN=yes
2347
      NEED_GNOME_MAIN=yes
Sam Hocevar's avatar
 
Sam Hocevar committed
2348
      ALIASES="${ALIASES} gnome-vlc"
2349 2350 2351 2352 2353 2354 2355
      dnl We need this because of some moronic gnomesupport.h flavours
      AC_MSG_CHECKING(for strndup in gnome.h)
      AC_EGREP_HEADER(strndup,gnome.h,[
        AC_MSG_RESULT(yes)
        AC_DEFINE(STRNDUP_IN_GNOME_H, 1,
                  Define if <gnome.h> defines strndup.)],[
        AC_MSG_RESULT(no)])
Sam Hocevar's avatar
 
Sam Hocevar committed
2356 2357
     ],[
      AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
Sam Hocevar's avatar
 
Sam Hocevar committed
2358
developement tools or remove the --enable-gnome option])
Sam Hocevar's avatar
 
Sam Hocevar committed
2359
     ])
2360
    CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2361
  fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2362

Gildas Bazin's avatar
 
Gildas Bazin committed
2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384
dnl
dnl  wxWindows module
dnl
AC_ARG_ENABLE(wxwindows,
  [  --enable-wxwindows      wxWindows support (default enabled)])
if test "x${enable_wxwindows}" != "xno"
then
  WXWINDOWS_PATH="${PATH}"
  AC_ARG_WITH(wx-config-path,
    [    --with-wx-config-path=PATH wx-config path (default search in \$PATH)],
    [ if test "x${with_wx_config_path}" != "xno"
      then
        WXWINDOWS_PATH="${with_wx_config_path}:${PATH}"
      fi ])
  # look for wx-config
  AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH})
  if test "x${WX_CONFIG}" != "xno"
  then
    if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null
    then
      AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.])
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2385
    CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cxxflags`"
Gildas Bazin's avatar
 
Gildas Bazin committed
2386
    LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`"
Gildas Bazin's avatar
 
Gildas Bazin committed
2387
    # now look for the wxprec.h header
Gildas Bazin's avatar
 
Gildas Bazin committed
2388
    CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
Gildas Bazin's avatar
 
Gildas Bazin committed
2389
    ac_cv_wx_headers=yes
Gildas Bazin's avatar
 
Gildas Bazin committed
2390
    AC_CHECK_HEADERS(wx/wxprec.h, , [
Gildas Bazin's avatar
 
Gildas Bazin committed
2391 2392 2393 2394 2395 2396 2397 2398
      ac_cv_wx_headers=no
      echo "Cannot find wxWindows development headers."
    ])
    if test "x${ac_cv_wx_headers}" = "xyes"
    then
      PLUGINS="${PLUGINS} wxwindows"
      ALIASES="${ALIASES} wxvlc"
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2399
    CPPFLAGS="${CPPFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
2400 2401 2402
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2403
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2404
dnl  Qt module
Sam Hocevar's avatar
 
Sam Hocevar committed
2405
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2406 2407
AC_ARG_ENABLE(qt,
  [  --enable-qt             Qt interface support (default disabled)],
2408
  [if test "x${enable_qt}" = "xyes"; then
2409
     PLUGINS="${PLUGINS} qt"
Sam Hocevar's avatar
 
Sam Hocevar committed
2410
     ALIASES="${ALIASES} qvlc"
2411 2412
     LDFLAGS_qt="${LDFLAGS_qt} -lqt -L${QTDIR}/lib"
     CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2413 2414 2415 2416 2417 2418 2419 2420
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2421
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2422 2423 2424 2425
dnl  KDE module
dnl
AC_ARG_ENABLE(kde,
  [  --enable-kde            KDE interface support (default disabled)],
2426
  [if test "x${enable_kde}" = "xyes"; then
2427
     PLUGINS="${PLUGINS} kde"
Sam Hocevar's avatar
 
Sam Hocevar committed
2428
     ALIASES="${ALIASES} kvlc"
2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443
     LDFLAGS_kde="${LDFLAGS_kde} -L${KDEDIR}/lib"
     dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
     AC_CHECK_LIB(kfile,main,[
       LDFLAGS_kde="${LDFLAGS_kde} -lkfile"
     ])
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
     AC_CHECK_LIB(kdeui,main,[
       LDFLAGS_kde="${LDFLAGS_kde} -lkdeui"
     ])
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
     AC_CHECK_LIB(kio,main,[
       LDFLAGS_kde="${LDFLAGS_kde} -lkio"
     ])
     LDFLAGS="${LDFLAGS_save}"
2444 2445
     CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt"
     CPPFLAGS_kde="${CPPFLAGS_kde} -I${KDEDIR}/include -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2446 2447 2448 2449 2450 2451 2452 2453
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2454
dnl
2455
dnl  Opie QT embedded module
2456
dnl
2457 2458 2459 2460
AC_ARG_ENABLE(opie,
  [  --enable-opie           Qt embedded interface support (default disabled)],
  [if test "x${enable_opie}" = "xyes"; then
     AC_ARG_WITH(qte,
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2461 2462
     [    --with-qte=PATH       Qt Embedded headers and libraries])
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2463
     then
2464 2465
       LDFLAGS_qte="-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
       CPPFLAGS_qte="-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
2466
     else
2467 2468
       LDFLAGS_qte="-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`"
       CPPFLAGS_qte="-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2469
     fi
2470
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2471 2472 2473 2474
     AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
       AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
     ] )
     CPPFLAGS="${CPPFLAGS_save}"
2475

2476
     PLUGINS="${PLUGINS} opie"
2477
     NEED_QTE_MAIN=yes
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2478 2479
     LDFLAGS_opie="${LDFLAGS_opie} -lqpe ${LDFLAGS_qte}"
     CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_qte}"
2480
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2481
     then
2482
       MOC=${with_qte}/bin/moc
2483
     else
2484
       MOC=${QTDIR}/bin/moc
2485 2486 2487
     fi
   fi])

Sam Hocevar's avatar
 
Sam Hocevar committed
2488 2489 2490 2491 2492
dnl
dnl  MacOS X module
dnl
AC_ARG_ENABLE(macosx,
  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
2493
  [if test "x${enable_macosx}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2494
   then
2495
     BUILTINS="${BUILTINS} macosx"
2496
     LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC"
Sam Hocevar's avatar
 
Sam Hocevar committed
2497 2498
   fi],
  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
2499
     BUILTINS="${BUILTINS} macosx"
2500
     LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC"
Sam Hocevar's avatar
 
Sam Hocevar committed
2501 2502 2503 2504 2505 2506 2507
   )])

dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
  [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
2508
    if test "x${enable_qnx}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2509 2510
    then
      AC_CHECK_HEADERS(Ph.h, [
2511 2512
        PLUGINS="${PLUGINS} qnx"
        LDFLAGS_qnx="${LDFLAGS_qnx} -lasound -lph"
Sam Hocevar's avatar
 
Sam Hocevar committed
2513 2514 2515 2516
      ])
    fi

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2517
dnl  Windows native interface module, built with Borland C++ Builder
Sam Hocevar's avatar
 
Sam Hocevar committed
2518
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2519 2520
AC_ARG_ENABLE(intfwin,
[  --enable-intfwin        Win32 interface support (default disabled)],
2521
[ if test "x${enable_intfwin}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2522
  then
2523 2524
    AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found))
    AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found))
2525
    PLUGINS="${PLUGINS} win32"
Sam Hocevar's avatar
 
Sam Hocevar committed
2526
  fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2527 2528 2529 2530 2531 2532

dnl
dnl  ncurses module
dnl
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
2533
  [if test "x${enable_ncurses}" = "xyes"; then
2534 2535
     PLUGINS="${PLUGINS} ncurses"
     LDFLAGS_ncurses="${LDFLAGS_ncurses} -lncurses"
Sam Hocevar's avatar
 
Sam Hocevar committed
2536
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2537

2538 2539 2540 2541
dnl
dnl  XOSD plugin
dnl
AC_ARG_ENABLE(xosd,
2542
  [  --enable-xosd           xosd interface support (default disabled)])
2543
if test "x${enable_xosd}" = "xyes"
2544
then
2545
  AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
2546 2547 2548 2549 2550 2551 2552
  AC_CHECK_LIB(xosd,xosd_set_offset,
      AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if <xosd.h> is 1.0.x),
    AC_CHECK_LIB(xosd,xosd_set_horizontal_offset,
        AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if <xosd.h> is 2.0.x),
      AC_TRY_COMPILE([#include <xosd.h>],
         [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],,
          AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if <xosd.h> is pre-1.0.0))))
2553
  if test "x${have_xosd}" = "xtrue"
2554
  then
2555 2556
    PLUGINS="${PLUGINS} xosd"
    LDFLAGS_xosd="${LDFLAGS_xosd} -lxosd"
2557 2558 2559
  fi
fi

2560 2561 2562 2563
dnl
dnl  SLP access plugin
dnl
AC_ARG_ENABLE(slp,
Loïc Minier's avatar
Loïc Minier committed
2564 2565
  [  --enable-slp            SLP service discovery support (default enabled)])
if test "x${enable_slp}" != "xno"
2566
then
Loïc Minier's avatar
Loïc Minier committed
2567 2568 2569
  AC_ARG_WITH(slp,
  [    --with-slp=PATH       libslp headers and libraries])
  if test "x${with_slp}" = x
2570
  then
Loïc Minier's avatar
Loïc Minier committed
2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590
    AC_CHECK_HEADER(slp.h, have_slp="true", have_slp="false")
    if test "x${have_slp}" = "xtrue"
    then
      PLUGINS="${PLUGINS} slp"
      LDFLAGS_slp="${LDFLAGS_slp} -lslp"
    fi
  else
    AC_MSG_CHECKING(for slp headers in ${with_slp})
    if test -f ${with_slp}/slp.h
    then
      dnl  Use ${with_slp}/libslp/slp.h
      AC_MSG_RESULT(yes)
      PLUGINS="${PLUGINS} slp"
      LDFLAGS_slp="${LDFLAGS_slp} -L${with_slp} -lslp"
      CPPFLAGS_slp="${CPPFLAGS_slp} -I${with_slp}"
    else
      dnl  No libslp could be found, sorry
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
    fi
2591 2592 2593
  fi
fi

2594 2595 2596 2597 2598
dnl
dnl  Lirc plugin
dnl
AC_ARG_ENABLE(lirc,
  [  --enable-lirc           lirc support (default disabled)])
2599
if test "x${enable_lirc}" = "xyes"
2600 2601
then
  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
2602
  if test "x${have_lirc}" = "xtrue"
2603
  then
2604 2605
    PLUGINS="${PLUGINS} lirc"
    LDFLAGS_lirc="${LDFLAGS_lirc} -llirc_client"
2606 2607 2608
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2609 2610
AC_ARG_WITH(,[Misc options:])

2611
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2612
dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
2613
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2614 2615 2616 2617 2618
dnl  We give the user the opportunity to specify
dnl  --with-words=big or --with-words=little ; otherwise, try to guess
dnl
AC_ARG_WITH(words,
  [  --with-words=endianness set endianness (big or little)])
2619
  case "x${with_words}" in
Sam Hocevar's avatar
 
Sam Hocevar committed
2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630
    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_CACHE_CHECK([whether the byte order is big-endian],
        [ac_cv_c_bigendian],
2631
        [ac_cv_c_bigendian="unknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642
        [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
2643 2644
        then
          if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
Sam Hocevar's avatar
 
Sam Hocevar committed
2645 2646 2647 2648
              && test -f conftest.o
          then
            if test "`strings conftest.o | grep BIGenDianSyS`"
            then
2649
              ac_cv_c_bigendian="yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2650 2651 2652
            fi
            if test "`strings conftest.o | grep LiTTleEnDian`"
            then
2653
              ac_cv_c_bigendian="no"
Sam Hocevar's avatar
 
Sam Hocevar committed
2654 2655 2656 2657
            fi
          fi
        fi
      ])
2658
      if test "x${ac_cv_c_bigendian}" = "xunknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2659 2660 2661 2662 2663 2664
      then
        AC_MSG_ERROR([Could not guess endianness, please use --with-words])
      fi
      ;;
  esac
dnl  Now we know what to use for endianness, just put it in the header
2665
if test "${ac_cv_c_bigendian}" = "yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2666 2667 2668
then
  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
fi
2669

Sam Hocevar's avatar
 
Sam Hocevar committed
2670 2671 2672 2673 2674
dnl
dnl  GNU portable threads
dnl
AC_ARG_ENABLE(pth,
  [  --enable-pth            GNU Pth support (default disabled)],
2675
  [ if test "x${enable_pth}" = "xyes"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
2676
    AC_CHECK_LIB(pth,pth_init)
2677
    AC_MSG_CHECKING(for pth_init in pth.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
2678
    AC_EGREP_HEADER(pth_init,pth.h,[
2679
      AC_MSG_RESULT(yes)
Sam Hocevar's avatar
 
Sam Hocevar committed
2680 2681
      AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
                Define if <pth.h> defines pth_init)
2682 2683 2684 2685 2686
      THREAD_LIB="-lpth"
    ],[
      AC_MSG_RESULT(no)
    ])
    fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2687 2688 2689 2690 2691 2692 2693
])

dnl
dnl  State Threads
dnl
AC_ARG_ENABLE(st,
  [  --enable-st             State Threads (default disabled)],
2694
  [ if test "x${enable_st}" = "xyes"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
2695
    AC_CHECK_LIB(st,st_init)
2696
    AC_MSG_CHECKING(for st_init in st.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
2697
    AC_EGREP_HEADER(st_init,st.h,[
2698
      AC_MSG_RESULT(yes)
Sam Hocevar's avatar
 
Sam Hocevar committed
2699 2700
      AC_DEFINE(ST_INIT_IN_ST_H, 1,
                Define if <st.h> defines st_init)
2701 2702 2703 2704 2705
      THREAD_LIB="-lst"
    ],[
      AC_MSG_RESULT(yes)
    ])
    fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2706 2707
])

Gildas Bazin's avatar
 
Gildas Bazin committed
2708 2709 2710 2711
if test "x${SYS}" != "xmingw32"; then
  LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}"
  LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}"
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2712

2713 2714 2715
dnl
dnl  Mozilla plugin
dnl
2716
mozilla=false
2717 2718
AC_ARG_ENABLE(mozilla,
  [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
2719
if test "x${enable_mozilla}" = "xyes"
2720 2721
then
  AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
2722
  if test "x${MOZILLA_CONFIG}" != "xno"
2723
  then
2724
    if test "x${SYS}" != "xmingw32"; then
2725
      LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
2726
      AC_CHECK_LIB(Xt,XtStrings,[
2727
        LDFLAGS_mozilla="${LDFLAGS_mozilla} -L${x_libraries} -lXt"
2728
      ])
2729
      LDFLAGS="${LDFLAGS_save}"
2730
    fi
2731
    mozilla=:
2732
    dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
2733 2734 2735 2736 2737 2738 2739 2740
    [CPPFLAGS_mozilla="${CPPFLAGS_mozilla} `${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`"]
    #[CPPFLAGS_mozilla="${CPPFLAGS_mozilla} `${MOZILLA_CONFIG} --cflags plugin xpcom java --defines | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`"]
    LDFLAGS_mozilla="${LDFLAGS_mozilla} `${MOZILLA_CONFIG} --libs plugin xpcom`"
    dnl Not necessarily in ${PATH}
    if test "x${XPIDL}" = "x" -o ! -x "${XPIDL}"
    then
      XPIDL="/usr/lib/mozilla/xpidl"
    fi
2741 2742
  fi
fi
2743
AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
2744

2745 2746 2747 2748 2749 2750 2751
dnl
dnl  test plugins
dnl
AC_ARG_ENABLE(testsuite,
  [  --enable-testsuite      build test modules (default disabled)])
if test "x${enable_testsuite}" = "xyes"
then
2752 2753
  TESTS="test1 test2 test3 test4"

2754 2755 2756 2757 2758
  dnl  we define those so that bootstrap sets the right linker
  CXXFLAGS_test2="${CXXFLAGS_test2}"
  OBJCFLAGS_test3="${OBJCFLAGS_test3}"
  dnl  this one is needed until automake knows what to do
  LDFLAGS_test3="${LDFLAGS_test3} -lobjc"
2759

2760
  PLUGINS="${PLUGINS} ${TESTS}"
Sam Hocevar's avatar
Sam Hocevar committed
2761
  #BUILTINS="${BUILTINS} ${TESTS}"
2762 2763
fi

2764 2765 2766 2767 2768
dnl
dnl  gtk_main plugin
dnl
if test "x${NEED_GTK_MAIN}" != "xno"
then
2769
    PLUGINS="${PLUGINS} gtk_main"
2770
    CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN"
2771
	CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN"
2772 2773 2774 2775 2776 2777 2778 2779 2780
    CFLAGS_gtk_main="${CFLAGS_gtk_main} ${CFLAGS_gtk} ${CFLAGS_familiar}"
    LDFLAGS_gtk_main="${LDFLAGS_gtk_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar}"
fi

if test "x${NEED_GNOME_MAIN}" != "xno"
then
    PLUGINS="${PLUGINS} gnome_main"
    CFLAGS_gnome_main="${CFLAGS_gnome_main} ${CFLAGS_gtk} ${CFLAGS_familiar} ${CFLAGS_gnome}"
    LDFLAGS_gnome_main="${LDFLAGS_gnome_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_gnome}"
2781 2782
fi

2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795
dnl
dnl  qte_main plugin
dnl
if test "x${NEED_QTE_MAIN}" != "xno"
then
    PLUGINS="${PLUGINS} qte_main"
    CPPFLAGS_qte="${CPPFLAGS_qte} -DNEED_QTE_MAIN"
	CPPFLAGS_opie="${CPPFLAGS_opie} -DNEED_QTE_MAIN"
    CPPFLAGS_qte_main="${CFLAGS_qte_main} ${CPPFLAGS_qte}"
    LDFLAGS_qte_main="${LDFLAGS_qte_main} ${LDFLAGS_qte}"
fi


Sam Hocevar's avatar
 
Sam Hocevar committed
2796
dnl
2797
dnl  Plugin and builtin checks
Sam Hocevar's avatar
 
Sam Hocevar committed
2798
dnl
2799 2800 2801 2802
builtin_support=false
plugin_support=:

dnl Support for plugins - this must be AT THE END
Sam Hocevar's avatar
 
Sam Hocevar committed
2803
AC_ARG_ENABLE(plugins,
2804
  [  --disable-plugins       make all plugins built-in (default plugins enabled)],
2805
  [if test "x${enable_plugins}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2806
   then
2807
     plugin_support=false
Sam Hocevar's avatar
 
Sam Hocevar committed
2808 2809
   fi])

2810 2811 2812
dnl Automagically disable plugins if there is no system support for
dnl dynamically loadable files (.so, .dll, .dylib).
dnl don't forget vlc-win32 still can load .dll as plugins
2813
if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2814
then
2815 2816 2817 2818 2819 2820 2821 2822 2823 2824
  echo "*** Your system doesn't have plugin support. All plugins will be built"
  echo "statically."
  plugin_support=false
fi

dnl Export automake variables
if ${plugin_support}
then
  for plugin in `echo ${PLUGINS}`
  do
2825
    eval "${plugin}_plugin=yes"
2826 2827
  done
else
2828 2829 2830
  BUILTINS="${BUILTINS} ${PLUGINS}"
  PLUGINS=
fi
2831 2832 2833 2834 2835 2836 2837
AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})

[if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
then
  builtin_support=:
  for builtin in `echo ${BUILTINS}`
  do
2838
    eval "${builtin}_builtin=yes"
2839 2840 2841 2842 2843 2844
  done
fi]
AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})

dnl do not touch this line (bootstrap needs it)

2845

Sam Hocevar's avatar
 
Sam Hocevar committed
2846 2847 2848
dnl
dnl  Stuff used by the program
dnl
Sam Hocevar's avatar
Sam Hocevar committed
2849
AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
2850
AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2003 VideoLAN", [Copyright string])
2851
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
Sam Hocevar's avatar
 
Sam Hocevar committed
2852

2853
VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-/__/'`"
2854
AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
2855
AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
2856
AC_DEFINE_UNQUOTED(LIBEXT, "${LIBEXT}", [Dynamic object extension])
Sam Hocevar's avatar
 
Sam Hocevar committed
2857 2858 2859 2860 2861 2862

DATA_PATH="${ac_tool_prefix}/share/videolan"
AC_SUBST(DATA_PATH)
PLUGIN_PATH="${ac_tool_prefix}/share/videolan"
AC_SUBST(PLUGIN_PATH)

Sam Hocevar's avatar
Sam Hocevar committed
2863 2864 2865
dnl
dnl  Restore *FLAGS
dnl
2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876
CPPFLAGS="${CPPFLAGS_save}"
CFLAGS="${CFLAGS_save}"
CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS="${OBJCFLAGS_save}"
LDFLAGS="${LDFLAGS_save}"

dnl
dnl  Fool automake (see Makefile.am)
dnl
AUTOMAKE_SUCKS="\$(L_builtin) \$(LDFLAGS_builtin)"
AC_SUBST(AUTOMAKE_SUCKS)
Sam Hocevar's avatar
Sam Hocevar committed
2877

2878 2879 2880
dnl
dnl  Create the vlc-config script
dnl
2881 2882
LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtins}"
for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
2883

2884
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2885 2886
dnl  Configuration is finished
dnl
2887 2888
AC_SUBST(SYS)
AC_SUBST(ARCH)
2889
AC_SUBST(PLUGINS)
Sam Hocevar's avatar
 
Sam Hocevar committed
2890
AC_SUBST(BUILTINS)
2891
AC_SUBST(ALIASES)
Sam Hocevar's avatar
 
Sam Hocevar committed
2892
AC_SUBST(ASM)
Sam Hocevar's avatar
 
Sam Hocevar committed
2893
AC_SUBST(MOC)
Sam Hocevar's avatar
 
Sam Hocevar committed
2894
AC_SUBST(WINDRES)
2895 2896
AC_SUBST(XPIDL)
AC_SUBST(LIBEXT)
2897
AC_SUBST(INCLUDES)
Sam Hocevar's avatar
 
Sam Hocevar committed
2898

2899
AC_SUBST(CFLAGS_TUNING)
Sam Hocevar's avatar
 
Sam Hocevar committed
2900 2901
AC_SUBST(CFLAGS_OPTIM)
AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2902
AC_SUBST(CFLAGS_NOOPTIM)
Sam Hocevar's avatar
 
Sam Hocevar committed
2903
AC_SUBST(LDFLAGS)
Sam Hocevar's avatar
 
Sam Hocevar committed
2904

2905 2906
AC_SUBST(CFLAGS_vlc)
AC_SUBST(CFLAGS_pics)
Gildas Bazin's avatar
 
Gildas Bazin committed
2907
AC_SUBST(CXXFLAGS_pics)
2908
AC_SUBST(CFLAGS_plugins)
Gildas Bazin's avatar
 
Gildas Bazin committed
2909
AC_SUBST(CXXFLAGS_plugins)
2910 2911 2912 2913 2914 2915 2916 2917 2918
AC_SUBST(CFLAGS_builtins)
AC_SUBST(CPPFLAGS_mozilla)

AC_SUBST(LDFLAGS_vlc)
AC_SUBST(LDFLAGS_libvlc)
AC_SUBST(LDFLAGS_plugins)
AC_SUBST(LDFLAGS_builtins)
AC_SUBST(LDFLAGS_mozilla)

2919 2920
AC_OUTPUT([
  Makefile
2921 2922
  debian/Makefile
  doc/Makefile
2923
  intl/Makefile
2924 2925 2926 2927
  ipkg/Makefile
  lib/Makefile
  m4/Makefile
  modules/Makefile
2928
  po/Makefile.in
2929 2930
  share/Makefile
  src/Makefile
2931 2932 2933 2934
  vlc-config
],[
  chmod a+x vlc-config
])
2935

2936
printf "
Sam Hocevar's avatar
 
Sam Hocevar committed
2937
vlc configuration
Sam Hocevar's avatar
 
Sam Hocevar committed
2938
--------------------
Sam Hocevar's avatar
 
Sam Hocevar committed
2939
vlc version           : ${VERSION}
Sam Hocevar's avatar
 
Sam Hocevar committed
2940 2941
system                : ${SYS}
architecture          : ${ARCH}
2942 2943 2944 2945 2946 2947 2948
build flavour         : "
test "x${DEBUG_TRUE}" = "x" && printf "debug "
test "x${CPROF_TRUE}" = "x" && printf "cprof "
test "x${GPROF_TRUE}" = "x" && printf "gprof "
test "x${OPTIM_TRUE}" = "x" && printf "optim "
test "x${RELEASE_TRUE}" = "x" && printf "release " || printf "devel "
echo "
Sam Hocevar's avatar
 
Sam Hocevar committed
2949
vlc aliases           :${ALIASES}
Sam Hocevar's avatar
 
Sam Hocevar committed
2950

2951
To build vlc and its plugins, type \`make'.
Sam Hocevar's avatar
 
Sam Hocevar committed
2952
"
2953