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

3
AC_INIT(vlc,0.5.2)
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.2)
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"
132
        LDFLAGS_sap="${LDFLAGS_sap} -lws2_32"
133
        LDFLAGS_slp="${LDFLAGS_slp} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
134
        LDFLAGS_httpd="${LDFLAGS_httpd} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
135
    fi
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
    ;;
  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"
155
    LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation"
156 157 158
    dnl BONE or not BONE ?
    AC_CHECK_LIB( bind, inet_ntoa,
        [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind"
159
          LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"
160
          LDFLAGS_httpd="${LDFLAGS_httpd} -lbind"],
161
        [])
162 163 164 165
    ;;
  x*)
    SYS="${target_os}"
    ;;
Gildas Bazin's avatar
 
Gildas Bazin committed
166
esac
167 168 169 170
AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos")
AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin")
AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32")

171 172 173
dnl
dnl Gettext stuff
dnl
174
ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv"
Gildas Bazin's avatar
 
Gildas Bazin committed
175
AM_GNU_GETTEXT_VERSION(0.10.40)
176 177 178 179
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"
180
else
181
  AC_CHECK_FUNCS(textdomain,,[
182 183 184 185 186
    AC_CHECK_LIB(intl,textdomain,
      LDFLAGS_vlc="${LDFLAGS_vlc} -lintl"
      LDFLAGS_plugins="${LDFLAGS_plugins} -lintl"
    )
  ])
187 188
fi
AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
Derk-Jan Hartman's avatar
ALL:  
Derk-Jan Hartman committed
189
XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
190

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

Gildas Bazin's avatar
 
Gildas Bazin committed
194 195 196 197 198
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
199 200
            [LDFLAGS_vlc="${LDFLAGS_vlc} -lmingwex"
             LDFLAGS_gtk="${LDFLAGS_gtk} -lmingwex"])
Gildas Bazin's avatar
 
Gildas Bazin committed
201 202 203
    )
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
204 205 206 207 208 209 210 211
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
212 213
        CFLAGS_save="${CFLAGS_save} -mms-bitfields";
        CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
Gildas Bazin's avatar
 
Gildas Bazin committed
214
    else
215 216 217 218 219 220 221 222
        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
223 224
    fi

Gildas Bazin's avatar
 
Gildas Bazin committed
225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243
    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
244 245
fi

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

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

270
dnl Check for system libs needed
271
need_libc=false
272

273 274 275
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
276
AC_CHECK_FUNCS(strdup strndup atof lseek)
277 278
AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
Sam Hocevar's avatar
 
Sam Hocevar committed
279

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

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

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

301 302 303 304 305 306 307 308 309 310 311 312 313
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

314
AC_CHECK_FUNCS(inet_aton,,[
315
  AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv" LDFLAGS_httpd="${LDFLAGS_httpd} -lresolv")
316
])
Sam Hocevar's avatar
 
Sam Hocevar committed
317

Sam Hocevar's avatar
 
Sam Hocevar committed
318
dnl Check for getopt
319
need_getopt=false
320
AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
Sam Hocevar's avatar
 
Sam Hocevar committed
321
[ # FreeBSD has a gnugetopt library for this:
322 323 324 325
  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
326

327
AC_TYPE_SIGNAL
328
AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl")
Sam Hocevar's avatar
 
Sam Hocevar committed
329
AC_CHECK_LIB(m,cos,
330
  LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
331 332
  LDFLAGS_adjust="${LDFLAGS_adjust} -lm"
  LDFLAGS_distort="${LDFLAGS_distort} -lm"
333
  LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm")
Sam Hocevar's avatar
 
Sam Hocevar committed
334
AC_CHECK_LIB(m,pow,
335 336 337 338 339 340
  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
341
)
342 343 344
AC_CHECK_LIB(m,sqrt,
  LDFLAGS_headphone_channel_mixer="${LDFLAGS_headphone_channel_mixer} -lm"
)
Sam Hocevar's avatar
 
Sam Hocevar committed
345

Sam Hocevar's avatar
 
Sam Hocevar committed
346
dnl Check for pthreads - borrowed from XMMS
Sam Hocevar's avatar
 
Sam Hocevar committed
347
THREAD_LIB=error
348
if test "x${THREAD_LIB}" = "xerror"; then
349
  AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
Sam Hocevar's avatar
 
Sam Hocevar committed
350
fi
351
if test "x${THREAD_LIB}" = "xerror"; then
352
  AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
Sam Hocevar's avatar
 
Sam Hocevar committed
353
fi
354
if test "x${THREAD_LIB}" = "xerror"; then
355
  AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
Sam Hocevar's avatar
 
Sam Hocevar committed
356
fi
357
if test "x${THREAD_LIB}" = "xerror"; then
358
  AC_CHECK_FUNCS(pthread_mutex_lock)
359
  THREAD_LIB=""
Sam Hocevar's avatar
 
Sam Hocevar committed
360
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
361 362 363

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

Gildas Bazin's avatar
 
Gildas Bazin committed
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
dnl
dnl  GNU portable threads
dnl
AC_ARG_ENABLE(pth,
  [  --enable-pth            GNU Pth support (default disabled)],
  [ if test "x${enable_pth}" = "xyes"; then
    AC_CHECK_LIB(pth,pth_init)
    AC_MSG_CHECKING(for pth_init in pth.h)
    AC_EGREP_HEADER(pth_init,pth.h,[
      AC_MSG_RESULT(yes)
      AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
                Define if <pth.h> defines pth_init)
      THREAD_LIB="-lpth"
    ],[
      AC_MSG_RESULT(no)
    ])
    fi
])

dnl
dnl  State Threads
dnl
AC_ARG_ENABLE(st,
  [  --enable-st             State Threads (default disabled)],
  [ if test "x${enable_st}" = "xyes"; then
    AC_CHECK_LIB(st,st_init)
    AC_MSG_CHECKING(for st_init in st.h)
    AC_EGREP_HEADER(st_init,st.h,[
      AC_MSG_RESULT(yes)
      AC_DEFINE(ST_INIT_IN_ST_H, 1,
                Define if <st.h> defines st_init)
      THREAD_LIB="-lst"
    ],[
      AC_MSG_RESULT(yes)
    ])
    fi
])

if test "x${SYS}" != "xmingw32"; then
  LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}"
  LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}"
fi

dnl Don't link with rt when using GNU-pth
if test "x${THREAD_LIB}" != "x-lpth" && test "x${THREAD_LIB}" != "x-lst"; then
  dnl HP/UX port
  AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"])

  have_nanosleep=false
  AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
    AC_CHECK_LIB(rt,nanosleep,
      [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:],
      [AC_CHECK_LIB(posix4,nanosleep,
          [LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])]
    )
  ])
  if ${have_nanosleep}; then
    AC_DEFINE(HAVE_NANOSLEEP, 1,
              Define if nanosleep is available.)
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
427
dnl Check for misc headers
428
AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
429
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
430
  AC_MSG_RESULT(yes)
431
  AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
432 433 434 435
            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
436
AC_EGREP_HEADER(pthread_once,pthread.h,[
437
  AC_MSG_RESULT(yes)
438
  AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
439 440 441 442
            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
443
AC_EGREP_HEADER(strncasecmp,strings.h,[
444
  AC_MSG_RESULT(yes)
445
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
446 447
            Define if <strings.h> defines strncasecmp.)],[
  AC_MSG_RESULT(no)])
Sam Hocevar's avatar
 
Sam Hocevar committed
448

Sam Hocevar's avatar
 
Sam Hocevar committed
449
dnl Check for headers
450 451
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
452 453
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
454
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
455
AC_CHECK_HEADERS(linux/version.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
456

Sam Hocevar's avatar
 
Sam Hocevar committed
457 458
AC_HEADER_TIME

459 460
dnl Check for dirent
need_dirent=false
461
AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
462 463
AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})

464
dnl Mac OS X and other OSes don't have declaration for nanosleep
465
AC_MSG_CHECKING(for nanosleep in time.h)
466
AC_EGREP_HEADER(nanosleep,time.h,[
467
  AC_MSG_RESULT(yes)
468 469
  AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
            Define if <time.h> defines nanosleep.)
470 471
],[
  AC_MSG_RESULT(no)
472
])
473 474

dnl Make sure we have timespecs
475
AC_MSG_CHECKING(for timespec in sys/time.h)
476
AC_EGREP_HEADER(timespec,sys/time.h,[
477
  AC_MSG_RESULT(yes)
478 479
  AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
            Define if <sys/time.h> defines struct timespec.)
480 481
],[
  AC_MSG_RESULT(no)
482
])
483

Sam Hocevar's avatar
 
Sam Hocevar committed
484 485 486
dnl Check for threads library
AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)

487 488
dnl Default X headers and libraries
if test "x${x_includes}" = "xNONE"; then
489
  x_includes="/usr/X11R6/include"
490 491
fi
if test "x${x_libraries}" = "xNONE"; then
492
  x_libraries="/usr/X11R6/lib"
493 494
fi

495
dnl Build the gtk_main plugins?
496
NEED_GTK_MAIN=no
497
NEED_GNOME_MAIN=no
498

499 500 501
dnl build the qte plugin ?
NEED_QTE_MAIN=no

Sam Hocevar's avatar
 
Sam Hocevar committed
502
dnl Check for DPMS
503
if test "x${SYS}" != "xmingw32"
Sam Hocevar's avatar
 
Sam Hocevar committed
504
then
505 506
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
507
    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
508
    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
509
      AC_MSG_RESULT(yes)
510 511
      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
512 513
    ],[
      AC_MSG_RESULT(no)
514
    ])
515 516
  ],,[
    #include <X11/Xlib.h>
517 518
  ])
  CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
519 520
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
521
dnl Check for ntohl, etc.
522
AC_CACHE_CHECK([for ntohl in sys/param.h],
523 524 525 526 527
    [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)])
528
if test "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; then
529
    AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
530
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
531

Sam Hocevar's avatar
 
Sam Hocevar committed
532
dnl Check for inline function size limit
533
AC_CACHE_CHECK([if \$CC accepts -finline-limit],
534 535 536
    [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)])
537
if test "x${ac_cv_c_inline_limit}" != "xno"; then
538 539 540
    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}"
541
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
542

543 544 545 546 547 548 549 550 551 552 553 554 555 556 557
# 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

558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587
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)])

588 589 590 591 592
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
593

594
if test "x${ac_cv_c_Wunreachable_code}" != "xno"; then
595 596 597
#    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}"
598

599 600
    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.
601 602 603 604 605
#    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
606 607 608 609
    if test "x${ac_cv_c_Winline}" != "xno"; then
        CXXFLAGS_save="-Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
    fi

610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626
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
627 628 629 630
fi

dnl Check for -pipe
AC_CACHE_CHECK([if \$CC accepts -pipe],
631 632 633
    [ac_cv_c_pipe],
    [CFLAGS="${CFLAGS_save} -pipe"
     AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
634
if test "x${ac_cv_c_pipe}" != "xno"; then
635 636 637
    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
638 639 640 641
fi

dnl Check for various optimization flags
AC_CACHE_CHECK([if \$CC accepts -O3],
642 643 644
    [ac_cv_c_o3],
    [CFLAGS="${CFLAGS_save} -O3"
     AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
645
if test "x${ac_cv_c_o3}" != "xno"; then
646
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
647 648 649 650 651 652 653 654
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
655
        CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
656 657 658 659 660 661 662 663 664
    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
665
            CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
666 667
	fi
        CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
Sam Hocevar's avatar
 
Sam Hocevar committed
668 669 670 671 672
    fi
fi

dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
673 674 675
    [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)])
676
if test "x${ac_cv_c_fast_math}" != "xno"; then
677
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
Sam Hocevar's avatar
 
Sam Hocevar committed
678 679 680 681
fi

dnl Check for -funroll-loops
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
682 683 684
    [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)])
685
if test "x${ac_cv_c_unroll_loops}" != "xno"; then
686
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
Sam Hocevar's avatar
 
Sam Hocevar committed
687 688 689 690
fi

dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
691 692 693
    [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)])
694
if test "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
695 696 697
    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
698 699
fi

700 701 702 703 704 705
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
706 707
    CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic"
    CFLAGS_libvlc="${CFLAGS_libvlc} -mdynamic-no-pic"
708 709
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
710
dnl Check for Darwin plugin linking flags
Christophe Massiot's avatar
Christophe Massiot committed
711
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
712 713 714
    [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)])
715
if test "x${ac_cv_ld_darwin}" != "xno"; then
716
    LDFLAGS_plugins="${LDFLAGS_plugins} -bundle -undefined error -lcc_dynamic"
717
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
718 719

dnl Check for standard plugin linking flags
720
AC_CACHE_CHECK([if \$CC accepts -shared],
721 722 723
    [ac_cv_ld_plugins],
    [CFLAGS="${CFLAGS_save} -shared"
     AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
724
if test "x${ac_cv_ld_plugins}" != "xno"; then
725
    LDFLAGS_plugins="${LDFLAGS_plugins} -shared"
Sam Hocevar's avatar
 
Sam Hocevar committed
726
fi
727

728 729
dnl Check for variadic macros
AC_CACHE_CHECK([for variadic cpp macros],
730 731 732 733 734 735 736 737
    [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)])
738
if test "x${ac_cv_cpp_variadic_macros}" != "xno"; then
739
    AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
740 741
fi

742 743
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
744 745 746 747 748 749 750 751 752
    [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}"])
753
if test "x${ac_cv_c_attribute_aligned}" != "x0"; then
754 755
    AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
        [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
756 757
fi

758 759 760 761 762 763 764 765 766 767 768 769 770
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
771 772 773
dnl
dnl  Check the CPU
dnl
774
case "x${target_cpu}" in
775 776 777 778 779 780 781 782 783 784 785 786
  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
787
esac
Sam Hocevar's avatar
 
Sam Hocevar committed
788

789 790 791 792 793 794 795 796 797 798
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
799 800 801
dnl
dnl  default modules
dnl
802
BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion"
803
PLUGINS="${PLUGINS} dummy rc logger gestures access_file memcpy"
Gildas Bazin's avatar
 
Gildas Bazin committed
804
PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts avi asf aac mp4 rawdv"
Jon Lech Johansen's avatar
Jon Lech Johansen committed
805
PLUGINS="${PLUGINS} spudec mpeg_audio lpcm a52 dts cinepak"
806
PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur"
807
PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32"
Gildas Bazin's avatar
 
Gildas Bazin committed
808
PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler bandlimited_resampler"
809
PLUGINS="${PLUGINS} trivial_channel_mixer headphone_channel_mixer"
Christophe Massiot's avatar
Christophe Massiot committed
810
PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer"
811 812 813
PLUGINS="${PLUGINS} aout_file"
#PLUGINS="${PLUGINS} scope"
PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
814
PLUGINS="${PLUGINS} id3 m3u"
815
PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys au"
816
PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp"
Gildas Bazin's avatar
 
Gildas Bazin committed
817 818 819 820 821
PLUGINS="${PLUGINS} sap httpd"

dnl
dnl Some plugins aren't useful on some platforms
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
822
if test "x${SYS}" != "xmingw32"; then
Gildas Bazin's avatar
 
Gildas Bazin committed
823 824
    PLUGINS="${PLUGINS} screensaver"
fi
825

Sam Hocevar's avatar
 
Sam Hocevar committed
826 827 828
dnl
dnl  Accelerated modules
dnl
829
MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
830
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
831 832
THREEDNOW_MODULES="memcpy3dn"
SSE_MODULES=""
833
ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
834

835 836 837 838 839
if test "${enable_gprof}" != "yes"
then
  MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
fi

840 841
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
842
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
843
     AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
844
                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
845
if test "x${ac_cv_mmx_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
846
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
847
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
848

849 850
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
    [ac_cv_mmxext_inline],
851
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
852
     AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
853
                    ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
854
if test "x${ac_cv_mmxext_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
855
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
856
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
857

858 859
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
    [ac_cv_3dnow_inline],
860
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
861
     AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
862
                    ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
863
if test "x${ac_cv_3dnow_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
864
  AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
Sam Hocevar's avatar
 
Sam Hocevar committed
865
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
866
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
867

868 869
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
    [ac_cv_sse_inline],
870
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
871
     AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
872
                    ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
873
if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
874
  AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
Sam Hocevar's avatar
 
Sam Hocevar committed
875
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
876
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
877

Sam Hocevar's avatar
Sam Hocevar committed
878
# don't try to grok AltiVec with native mingw32 it doesn't work right now
Gildas Bazin's avatar
 
Gildas Bazin committed
879
# we should be able to remove this test with future versions of mingw32
880
if test "x${SYS}" != "xmingw32"; then
Sam Hocevar's avatar
Sam Hocevar committed
881
AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly],
882
    [ac_cv_altivec_inline],
883
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
884
     AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
885
         ac_cv_altivec_inline=yes,
886
         [CFLAGS="${CFLAGS_save} -Wa,-m7400"
Sam Hocevar's avatar
 
Sam Hocevar committed
887
          AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
888
            [ac_cv_altivec_inline="-Wa,-m7400"],
889
            ac_cv_altivec_inline=no)
890
         ])])
891
if test "x${ac_cv_altivec_inline}" != "xno"; then
Sam Hocevar's avatar
Sam Hocevar committed
892
  AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
893
  if test "x${ac_cv_altivec_inline}" != "xyes"; then
894 895 896 897
    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}"
898
  fi
899
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
900
fi
901

Sam Hocevar's avatar
Sam Hocevar committed
902
AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
903
    [ac_cv_c_altivec],
904
    [CFLAGS="${CFLAGS_save} -faltivec"
905
     # Darwin test
Sam Hocevar's avatar
 
Sam Hocevar committed
906
     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
907 908
        ac_cv_c_altivec=-faltivec, [
        # Linux/PPC test
909
        CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
Sam Hocevar's avatar
 
Sam Hocevar committed
910
        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
911 912
            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
        ])
913
     CFLAGS="${CFLAGS_save}"])
914
if test "x${ac_cv_c_altivec}" != "xno"; then
Sam Hocevar's avatar
Sam Hocevar committed
915
  AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
916 917 918 919
  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}"
920
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
921 922 923 924
fi

AC_CACHE_CHECK([if linker needs -framework vecLib],
    [ac_cv_ld_altivec],
925
    [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
926
     AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
927
     LDFLAGS="${LDFLAGS_save}"
928
    ])
929
if test "x${ac_cv_ld_altivec}" != "xno"; then
930 931 932 933
  LDFLAGS_idctaltivec="${LDFLAGS_idctaltivec} -framework vecLib"
  LDFLAGS_motionaltivec="${LDFLAGS_motionaltivec} -framework vecLib"
  LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib"
  LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib"
934
fi
Gildas Bazin's avatar
 
Gildas Bazin committed
935
fi # end if mingw32
936

Sam Hocevar's avatar
 
Sam Hocevar committed
937 938 939
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])

Sam Hocevar's avatar
 
Sam Hocevar committed
940
dnl
941
dnl  Special arch tuning
Sam Hocevar's avatar
 
Sam Hocevar committed
942
dnl
943
AC_ARG_WITH(tuning,
Sam Hocevar's avatar
 
Sam Hocevar committed
944
[  --with-tuning=ARCH      enable special tuning for an architecture
945
                          (default i686 on IA-32 and 750 on PPC)])
946
if test "x${with_tuning}" != "x"; then
947 948 949 950 951
    if test "x${target_cpu}" = "xpowerpc"; then
        CFLAGS_TUNING="-mtune=${with_tuning}"
    else
        CFLAGS_TUNING="-mcpu=${with_tuning}"
    fi
952
else
953
    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"
954
    else
955
        if test "x${target_cpu}" = "xpowerpc"; then CFLAGS_TUNING="-mtune=750"; fi
956 957
    fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
958 959

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
960
dnl  x86 accelerations
Sam Hocevar's avatar
 
Sam Hocevar committed
961
dnl
962
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
963 964
then
    ARCH="${ARCH} mmx"
965
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
Sam Hocevar's avatar
 
Sam Hocevar committed
966
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
967

Sam Hocevar's avatar
 
Sam Hocevar committed
968 969 970 971
dnl
dnl  Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
972 973
[  --disable-optimizations disable compiler optimizations (default enabled)])
AM_CONDITIONAL(OPTIM, test "x${enable_optimizations}" != "xno")
Sam Hocevar's avatar
 
Sam Hocevar committed
974

Sam Hocevar's avatar
 
Sam Hocevar committed
975 976 977
dnl
dnl  AltiVec acceleration
dnl
978
AC_ARG_ENABLE(altivec,
Sam Hocevar's avatar
Sam Hocevar committed
979
[  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
980
[ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
981
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
982
[ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
983
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
984 985 986 987

dnl
dnl  Debugging mode
dnl
988
AC_ARG_ENABLE(debug,
989 990
[  --enable-debug          debug mode (default disabled)])
AM_CONDITIONAL(DEBUG, test "x${enable_debug}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
991

Sam Hocevar's avatar
 
Sam Hocevar committed
992
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
993
dnl  Enable release-specific flags
Sam Hocevar's avatar
 
Sam Hocevar committed
994
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
995
AC_ARG_ENABLE(release,
996 997
[  --enable-release        activate extra optimizations (default disabled)])
AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
998

999 1000 1001 1002 1003 1004 1005
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
  [  --enable-sout           Stream output modules (default enabled)])
if test "x${enable_sout}" != "xno"
then
1006
  PLUGINS="${PLUGINS} access_output_dummy access_output_udp access_output_file access_output_http"
1007
  PLUGINS="${PLUGINS} mux_ts mux_ps mux_avi mux_dummy"
1008
  PLUGINS="${PLUGINS} packetizer_mpegaudio packetizer_mpegvideo packetizer_a52"
1009 1010
  PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio"
  PLUGINS="${PLUGINS} packetizer_copy"
1011 1012

  PLUGINS="${PLUGINS} vout_encoder"
1013 1014 1015 1016 1017 1018 1019

    dnl Ogg/ogm
    AC_CHECK_HEADERS(ogg/ogg.h, [
      AC_CHECK_LIB( ogg, ogg_stream_packetin, [
        PLUGINS="${PLUGINS} mux_ogg"
        LDFLAGS_mux_ogg="${LDFLAGS_mux_ogg} -logg" ])
    ],[])
1020 1021 1022
fi


Sam Hocevar's avatar
 
Sam Hocevar committed
1023
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1024
dnl  Input plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1025 1026
dnl

Sam Hocevar's avatar
 
Sam Hocevar committed
1027
AC_ARG_WITH(,[Input plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1028 1029

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1030 1031 1032 1033
dnl  DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[  --enable-dvd            DVD input module (default enabled)])
1034
if test "x${enable_dvd}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1035
then
1036
  AC_ARG_WITH(dvdcss,
Sam Hocevar's avatar
 
Sam Hocevar committed
1037
  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
1038
  AC_ARG_WITH(dvdcss-tree,
Sam Hocevar's avatar
 
Sam Hocevar committed
1039
  [    --with-dvdcss-tree=PATH libdvdcss tree for static linking])
1040
  case "x${with_dvdcss}" in
Sam Hocevar's avatar
 
Sam Hocevar committed
1041
  x|xyes)
1042
    if test "x${with_dvdcss_tree}" = x
Sam Hocevar's avatar
 
Sam Hocevar committed
1043 1044
    then
      AC_CHECK_HEADERS(dvdcss/dvdcss.h,
1045
        [ PLUGINS="${PLUGINS} dvd"
1046 1047
          LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss"
          LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvdcss" ],
Sam Hocevar's avatar
 
Sam Hocevar committed
1048 1049 1050 1051 1052
        [ 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`"
1053
      if test "x${real_dvdcss_tree}" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
1054 1055 1056 1057 1058 1059 1060 1061 1062
      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)
1063
        BUILTINS="${BUILTINS} dvd"
1064 1065
        LDFLAGS_dvd="${LDFLAGS_dvd} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
        LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${real_dvdcss_tree}/src/.libs -ldvdcss"
1066
        CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src"
Sam Hocevar's avatar
 
Sam Hocevar committed
1067 1068 1069 1070 1071 1072
      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
1073 1074
  ;;
  xno)
Sam Hocevar's avatar
 
Sam Hocevar committed
1075
    dnl  Compile without dvdcss (dlopen version, works only under Linux)
1076 1077 1078
    PLUGINS="${PLUGINS} dvd"
    CPPFLAGS_dvd="${CPPFLAGS_dvd} -DGOD_DAMN_DMCA"
    LDFLAGS_dvd="${LDFLAGS_dvd} -ldl"
Sam Hocevar's avatar
 
Sam Hocevar committed
1079 1080
  ;;
  *)
Sam Hocevar's avatar
 
Sam Hocevar committed
1081 1082
    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
1083
    then
Sam Hocevar's avatar
 
Sam Hocevar committed
1084
      dnl  Use ${with_dvdcss}/include/dvdcss/dvdcss.h
Sam Hocevar's avatar
 
Sam Hocevar committed
1085
      AC_MSG_RESULT(yes)
1086 1087
      PLUGINS="${PLUGINS} dvd"
      LDFLAGS_dvd="${LDFLAGS_dvd} -L${with_dvdcss}/lib -ldvdcss"
1088
      LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${with_dvdcss}/lib -ldvdcss"
1089
      CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${with_dvdcss}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
1090
    else
Sam Hocevar's avatar
 
Sam Hocevar committed
1091
      dnl  No libdvdcss could be found, sorry
Sam Hocevar's avatar
 
Sam Hocevar committed
1092
      AC_MSG_RESULT(no)
Sam Hocevar's avatar
 
Sam Hocevar committed
1093
      AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
Sam Hocevar's avatar
 
Sam Hocevar committed
1094 1095 1096 1097
    fi
  ;;
  esac
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1098

Stéphane Borel's avatar
Stéphane Borel committed
1099
dnl
1100
dnl dvdread module: check for libdvdread
Stéphane Borel's avatar
Stéphane Borel committed
1101
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1102 1103
AC_ARG_ENABLE(dvdread,
[  --enable-dvdread        dvdread input module (default disabled)])
1104
if test "x${enable_dvdread}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1105
then
1106
  AC_ARG_WITH(dvdread,
1107 1108 1109 1110
  [    --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
1111
  then
1112
    if test "x${with_dvdread_tree}" = x
1113
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
1114
      AC_CHECK_HEADERS(dvdread/dvd_reader.h,
1115
        [ PLUGINS="${PLUGINS} dvdread"
Gildas Bazin's avatar
 
Gildas Bazin committed
1116
          LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread ${LDFLAGS_dvdcss}" ],
1117 1118 1119 1120 1121 1122 1123 1124 1125
        [ 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
1126
      then
1127 1128 1129 1130
        dnl  The given directory can't be found
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
      fi
1131
      if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
1132 1133 1134 1135
      then
        dnl  Use a custom libdvdread
        AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
        BUILTINS="${BUILTINS} dvdread"
1136
        LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}"
1137
        CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${real_dvdread_tree}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1138
      else
1139 1140 1141
        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
1142
      fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1143
    fi
1144 1145
  else
    AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
Gildas Bazin's avatar
 
Gildas Bazin committed
1146
    if test -f ${with_dvdread}/include/dvdread/dvd_reader.h
1147
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
1148
      dnl  Use ${with_dvdread}/include/dvdread/dvd_reader.h
1149 1150
      AC_MSG_RESULT(yes)
      PLUGINS="${PLUGINS} dvdread"
Gildas Bazin's avatar
 
Gildas Bazin committed
1151
      LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}"
1152 1153 1154 1155
      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
1156
      AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h])
1157 1158
    fi
  fi
1159 1160 1161 1162 1163 1164 1165
fi

dnl
dnl dvdplay module: check for libdvdplay
dnl
AC_ARG_ENABLE(dvdplay,
[  --enable-dvdplay        dvdplay input module (default disabled)])
1166
if test "x${enable_dvdplay}" != "xno"
1167
then
1168
  AC_ARG_WITH(dvdplay,
1169 1170 1171
  [    --with-dvdplay=PATH    libdvdplay headers and libraries])
  AC_ARG_WITH(dvdplay-tree,
  [    --with-dvdplay-tree=PATH libdvdplay tree for static linking])
1172
  if test "x${with_dvdplay}" = x
1173
  then
1174
    if test "x${with_dvdplay_tree}" = x
1175
    then
1176 1177
      AC_CHECK_HEADERS(dvdplay/dvdplay.h,
        [ PLUGINS="${PLUGINS} dvdplay"
Gildas Bazin's avatar
 
Gildas Bazin committed
1178
          LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1179
          CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread}" ],
1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193
        [ 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
1194
      if test -f "${real_dvdplay_tree}/src/.libs/libdvdplay.a"
1195
      then
1196 1197 1198
        dnl  Use a custom libdvdplay
        AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a)
        BUILTINS="${BUILTINS} dvdplay"
1199
        LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1200
        CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src"
1201
      else
1202 1203 1204
        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}])
1205 1206
      fi
    fi
1207 1208 1209 1210 1211 1212 1213
  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
1214
      LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}"
1215 1216 1217 1218 1219 1220 1221
      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
1222
fi
Stéphane Borel's avatar
Stéphane Borel committed
1223

1224
dnl
1225
dnl  libdvbpsi ts demux/mux
1226 1227
dnl
AC_ARG_ENABLE(dvbpsi,
1228
[  --enable-dvbpsi         dvbpsi ts mux and demux module (default enabled)])
1229
if test "x${enable_dvbpsi}" != "xno"
1230
then
1231
  AC_ARG_WITH(dvbpsi,
1232
  [    --with-dvbpsi=PATH    libdvbpsi headers and libraries])
1233 1234
  AC_ARG_WITH(dvbpsi,
  [    --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
1235
  case "x${with_dvbpsi}" in
1236
  x|xyes)
1237
    if test "x${with_dvbpsi_tree}" = "x"
1238
    then
Sam Hocevar's avatar
Sam Hocevar committed
1239
      AC_CHECK_HEADERS(dvbpsi/dr.h,
1240
        [ PLUGINS="${PLUGINS} ts_dvbpsi"
1241 1242 1243
          LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" 
          PLUGINS="${PLUGINS} mux_ts_dvbpsi"
          LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -ldvbpsi" ],
1244
        [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
Gildas Bazin's avatar
 
Gildas Bazin committed
1245 1246 1247 1248 1249
        [#include <stdint.h>
#include <dvbpsi/dvbpsi.h>
#include <dvbpsi/descriptor.h>
#include <dvbpsi/pat.h>
#include <dvbpsi/pmt.h>])
1250 1251 1252
    else
      AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
      real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
1253
      if test "x${real_dvbpsi_tree}" = "x"
1254 1255 1256 1257 1258 1259 1260 1261 1262
      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)
1263
        BUILTINS="${BUILTINS} ts_dvbpsi"
1264
        LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
1265
        CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} -I${real_dvbpsi_tree}/src"
1266 1267

        BUILTINS="${BUILTINS} mux_ts_dvbpsi"
1268
        LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
1269 1270
        CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} -I${real_dvbpsi_tree}/src"

1271 1272 1273 1274 1275
      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
1276
    fi
1277 1278
  ;;
  xno)
1279
    dnl  Compile without dvbpsi
1280 1281 1282
  ;;
  *)
    AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
1283
    if test "x${with_dvbpsi}" = "x"
1284
    then
1285 1286
      LDFLAGS_test=""
      CPPFLAGS_test=""
1287
    else
1288 1289
      LDFLAGS_test="-L${with_dvbpsi}/lib"
      CPPFLAGS_test="-I${with_dvbpsi}/include"
1290
    fi
1291
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
1292
    AC_CHECK_HEADER([dvbpsi/dr.h],[
1293 1294 1295
      PLUGINS="${PLUGINS} ts_dvbpsi"
      LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi"
      CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} ${CPPFLAGS_test}"
1296 1297 1298 1299
      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}"

1300
      ],[
1301
      if test "x${enable_dvbpsi}" != "x"
1302 1303 1304 1305
      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
    ])
1306
    CPPFLAGS="${CPPFLAGS_save}"
1307 1308
  ;;
  esac
1309
fi
1310

1311 1312 1313 1314 1315 1316 1317 1318
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, [
1319
    PLUGINS="${PLUGINS} v4l"
1320 1321 1322
   ],[])
fi

1323
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1324
dnl  VCD module
1325 1326
dnl
AC_ARG_ENABLE(vcd,
Gildas Bazin's avatar
 
Gildas Bazin committed
1327
  [  --enable-vcd            VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
1328

1329
if test "x${enable_vcd}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1330
then
1331
  AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
1332
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1333
    AC_MSG_RESULT(yes)
1334
    PLUGINS="${PLUGINS} vcd"
1335 1336
  ],[
    AC_MSG_RESULT(no)
Sam Hocevar's avatar
 
Sam Hocevar committed
1337
  ])
1338

1339
  AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1340
  AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1341
    AC_MSG_RESULT(yes)
1342 1343
    PLUGINS="${PLUGINS} vcd"
    AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1344 1345
  ],[
    AC_MSG_RESULT(no)
1346 1347
  ])

1348
  AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1349
  AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1350
    AC_MSG_RESULT(yes)
1351
    PLUGINS="${PLUGINS} vcd"
1352
    AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1353 1354
  ],[
    AC_MSG_RESULT(no)
1355
  ])
1356

Gildas Bazin's avatar
 
Gildas Bazin committed
1357
  if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32"
Sam Hocevar's avatar
 
Sam Hocevar committed
1358
  then
1359
    PLUGINS="${PLUGINS} vcd"
Sam Hocevar's avatar
 
Sam Hocevar committed
1360
  fi
1361

Sam Hocevar's avatar
 
Sam Hocevar committed
1362 1363
  if test "x${SYS}" = "xdarwin"
  then
1364
    PLUGINS="${PLUGINS} vcd"
1365
    LDFLAGS_vcd="${LDFLAGS_vcd} -framework IOKit -framework CoreFoundation"
Sam Hocevar's avatar
 
Sam Hocevar committed
1366
  fi
1367 1368
fi

Johan Bilien's avatar
Johan Bilien committed
1369 1370 1371 1372
dnl
dnl  Satellite input module
dnl
AC_ARG_ENABLE(satellite,
Sam Hocevar's avatar
 
Sam Hocevar committed
1373
  [  --enable-satellite      satellite card support (default disabled)],
1374
  [ if test "x${enable_satellite}" = "xyes"
Johan Bilien's avatar
Johan Bilien committed
1375
    then
1376
      PLUGINS="${PLUGINS} satellite"
Johan Bilien's avatar
Johan Bilien committed
1377 1378
    fi])

1379
dnl
1380
dnl  ipv6 plugin - not for QNX yet
1381
dnl
1382
if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32"
1383
then
1384
  have_ipv6=false
1385
  AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
1386
    AC_CHECK_LIB(resolv,inet_pton,
1387 1388
      [have_ipv6=:
       LDFLAGS_ipv6="${LDFLAGS_ipv6} -lresolv"])
1389
  ])
1390 1391
  AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
  AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
1392 1393 1394
    [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=false])
  if ${have_ipv6}; then
    PLUGINS="${PLUGINS} ipv6"
1395
  fi
1396
fi
1397
if test "x${SYS}" = "xmingw32"
Gildas Bazin's avatar
 
Gildas Bazin committed
1398 1399 1400
then
  AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
  AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
1401
    PLUGINS="${PLUGINS} ipv6"],[AC_MSG_RESULT(no)])
Gildas Bazin's avatar
 
Gildas Bazin committed
1402
fi
1403

Gildas Bazin's avatar
 
Gildas Bazin committed
1404 1405 1406 1407 1408 1409 1410 1411
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
1412 1413 1414 1415 1416
    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
1417 1418 1419
   ],[])
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
1420
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1421
dnl  Codec plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1422
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1423

Sam Hocevar's avatar
 
Sam Hocevar committed
1424
AC_ARG_WITH(,[Codec plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1425

1426
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1427
dnl  mad plugin
1428
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1429 1430
AC_ARG_ENABLE(mad,
  [  --enable-mad            libmad module (default disabled)])
1431
if test "x${enable_mad}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1432 1433
then
  AC_ARG_WITH(mad,
Gildas Bazin's avatar
 
Gildas Bazin committed
1434
    [    --with-mad=PATH       path to libmad],[],[])
1435
  if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1436
  then
1437 1438
    CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${with_mad}/include"
    LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${with_mad}/lib"
Gildas Bazin's avatar
 
Gildas Bazin committed
1439 1440 1441 1442
  fi

  AC_ARG_WITH(mad-tree,
    [    --with-mad-tree=PATH  mad tree for static linking],[],[])
1443
  if test "x${with_mad_tree}" != "xno" -a "x${with_mad_tree}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1444 1445
  then
    real_mad_tree="`cd ${with_mad_tree} 2>/dev/null && pwd`"
1446
    if test "x${real_mad_tree}" = "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1447 1448 1449 1450 1451 1452 1453 1454 1455 1456
    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)
1457 1458
      CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${real_mad_tree}/libmad"
      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${real_mad_tree}/libmad/.libs"
1459
      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1460
      AC_CHECK_LIB(mad, mad_bit_init, [
1461 1462
        BUILTINS="${BUILTINS} mpgatofixed32"
        LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad"
Gildas Bazin's avatar
 
Gildas Bazin committed
1463 1464
        ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
      ],[])
1465
      LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1466 1467 1468 1469 1470
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have mad.h])
    fi
  else
1471 1472
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1473 1474
    AC_CHECK_HEADERS(mad.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
1475
    AC_CHECK_LIB(mad, mad_bit_init, [
1476 1477
      PLUGINS="${PLUGINS} mpgatofixed32"
      LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ],
Gildas Bazin's avatar
 
Gildas Bazin committed
1478
      [ AC_MSG_ERROR([Cannot find libmad library...]) ])
1479 1480
    CPPFLAGS="${CPPFLAGS_save}"
    LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1481
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1482
fi
1483

1484 1485 1486
dnl
dnl   libid3tag support
dnl
1487
AC_CHECK_HEADERS(id3tag.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
1488 1489 1490
  AC_CHECK_HEADERS(zlib.h, [
    LDFLAGS_id3tag="${LDFLAGS_id3tag} -lid3tag -lz"
    PLUGINS="${PLUGINS} id3tag"]) ])
1491

1492 1493 1494 1495 1496
dnl
dnl  ffmpeg decoder plugin
dnl
AC_ARG_ENABLE(ffmpeg,
[  --enable-ffmpeg         ffmpeg codec (default disabled)])
1497
if test "x${enable_ffmpeg}" = "xyes"
1498
then
1499 1500
  AC_ARG_WITH(ffmpeg,
    [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
1501
  if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1502
  then
1503
    CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg"
1504
    LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib"
1505 1506
  fi

1507
  dnl Add postprocessing modules
1508
  PLUGINS="${PLUGINS} postprocessing_c"
1509
  if test "x${ac_cv_mmx_inline}" != "xno"; then
1510
    PLUGINS="${PLUGINS} postprocessing_mmx"
1511 1512 1513
  fi

  if test "x${ac_cv_mmxext_inline}" != "xno"; then
1514
    PLUGINS="${PLUGINS} postprocessing_mmxext"
1515 1516
  fi

1517
  AC_ARG_WITH(ffmpeg-tree,
1518
  [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
1519
  if test "x${with_ffmpeg_tree}" != "x"
1520 1521 1522
  then
    AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
    real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
1523
    if test "x${real_ffmpeg_tree}" = x
1524 1525 1526 1527 1528 1529 1530 1531 1532
    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)
1533
      BUILTINS="${BUILTINS} ffmpeg"
1534
      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec"
1535
      CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec"
1536 1537 1538 1539 1540
    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
1541
  else
1542 1543
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"
1544
    AC_CHECK_LIB(avcodec, avcodec_init, [
1545 1546
      BUILTINS="${BUILTINS} ffmpeg"
      LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" ],
1547
      [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
1548 1549
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
1550 1551 1552
  fi
fi

1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563
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
1564 1565
    CPPFLAGS_faad="${CPPFLAGS_faad} -I${with_faad}/include"
    LDFLAGS_faad="${LDFLAGS_faad} -L${with_faad}/lib"
1566
  fi
1567
  LDFLAGS_faad="${LDFLAGS_faad}"
1568

1569
  AC_ARG_WITH(faad-tree,
1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584
  [    --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)
1585
      BUILTINS="${BUILTINS} faad"
1586
      LDFLAGS_faad="${LDFLAGS_faad} -L${real_faad_tree}/libfaad/.libs -lfaad"
1587
      CPPFLAGS_faad="${CPPFLAGS_faad} -I${real_faad_tree}/include"
1588 1589 1590
    else
      dnl  The given libfaad wasn't built
      AC_MSG_RESULT(no)
1591
      AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
1592 1593
    fi
  else
1594 1595
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
1596 1597 1598
    AC_CHECK_HEADERS(faad.h, ,
      [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
    AC_CHECK_LIB(faad, faacDecOpen, [
1599 1600
      PLUGINS="${PLUGINS} faad"
      LDFLAGS_faad="${LDFLAGS_faad} -lfaad" ],
1601
      [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
1602 1603
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
1604 1605 1606 1607
  fi
fi


1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635
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
1636
    if test -f "${real_xvid_tree}/build/generic/libxvidcore.a"
1637 1638 1639 1640
    then
      dnl  Use a custom xvid
      AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a)
      BUILTINS="${BUILTINS} xvid"
1641
      LDFLAGS_xvid="${LDFLAGS_xvid} -L${real_xvid_tree}/build/generic -lxvidcore"
1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652
      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...]) ])
1653
    AC_CHECK_LIB(xvidcore, xvid_init, [
1654
      PLUGINS="${PLUGINS} xvid"
1655
      LDFLAGS_xvid="${LDFLAGS_xvid} -lxvidcore" ],
1656 1657 1658 1659 1660 1661 1662
      [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ])
    LDFLAGS="${LDFLAGS_save}"
    CPPFLAGS="${CPPFLAGS_save}"
  fi
fi


1663

1664 1665 1666
dnl
dnl MP4 module
dnl
1667 1668 1669
AC_CHECK_HEADERS(zlib.h, [
  LDFLAGS_mp4="${LDFLAGS_mp4} -lz"
] )
1670

Gildas Bazin's avatar
 
Gildas Bazin committed
1671
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1672
dnl  a52 AC3 decoder plugin
Gildas Bazin's avatar
 
Gildas Bazin committed
1673
dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1674
AC_ARG_ENABLE(a52,
1675
  [  --enable-a52            A/52 support with liba52 (default enabled)])
1676
if test "x${enable_a52}" != "xno"
Gildas Bazin's avatar
 
Gildas Bazin committed
1677
then
1678
  AC_ARG_WITH(a52,
1679
    [    --with-a52=PATH       a52 headers and libraries])
Gildas Bazin's avatar
 
Gildas Bazin committed
1680 1681
  AC_ARG_WITH(a52-tree,
    [    --with-a52-tree=PATH  a52dec tree for static linking ],[],[])
1682
  if test "x${with_a52_tree}" != "xno" -a "x${with_a52_tree}" != "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1683
  then
Gildas Bazin's avatar
 
Gildas Bazin committed
1684
    real_a52_tree="`cd ${with_a52_tree} 2>/dev/null && pwd`"
1685
    if test "x${real_a52_tree}" = "x"
Gildas Bazin's avatar
 
Gildas Bazin committed
1686 1687 1688 1689 1690 1691 1692 1693 1694 1695
    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)
1696 1697 1698
      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
1699
      AC_CHECK_LIB(a52, a52_free, [
1700
        BUILTINS="${BUILTINS} a52tofloat32"
1701
        LDFLAGS_a52tofloat32="-la52 ${LDFLAGS_a52tofloat32}"
1702
        CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -DUSE_A52DEC_TREE"
Gildas Bazin's avatar
 
Gildas Bazin committed
1703 1704 1705
        ],[
        if test -f ${real_a52_tree}/liba52/.libs/liba52.a
        then
1706
          AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
Gildas Bazin's avatar
 
Gildas Bazin committed
1707 1708 1709
        else
          AC_MSG_ERROR([the specified tree hasn't been compiled])
        fi
1710
      ])
1711
      LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1712 1713 1714 1715
    else
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([the specified tree doesn't have a52.h])
    fi
1716 1717 1718
  else
    if test "x${with_a52}" = "x"
    then
1719 1720
      LDFLAGS_test=""
      CPPFLAGS_test=""
1721
    else
1722 1723
      LDFLAGS_test="-L${with_a52}/lib"
      CPPFLAGS_test="-I${with_a52}/include"
1724
    fi
1725 1726
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
1727
    AC_CHECK_HEADERS(a52dec/a52.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
1728
      AC_CHECK_LIB(a52, a52_free, [
1729
        PLUGINS="${PLUGINS} a52tofloat32"
1730
        LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}"
1731
        CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}"
1732
      ],[
1733
        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.])
1734
      ])
Gildas Bazin's avatar
 
Gildas Bazin committed
1735
    ])
1736 1737
    CPPFLAGS="${CPPFLAGS_save}"
    LDFLAGS="${LDFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
1738
  fi
Gildas Bazin's avatar
 
Gildas Bazin committed
1739 1740
fi

1741 1742
dnl
dnl  DV plugin
1743
dnl
1744 1745 1746
AC_ARG_ENABLE(dv,
  [  --enable-dv             DV decoder support (default disabled)])
if test "x${enable_dv}" = "xyes"
1747
then
Gildas Bazin's avatar
 
Gildas Bazin committed
1748 1749 1750
  AC_CHECK_HEADERS(libdv/dv.h, [
    PLUGINS="${PLUGINS} dv"
    LDFLAGS_dv="${LDFLAGS_dv} -ldv"
1751 1752 1753 1754
   ],[])
fi

dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1755
dnl  Flac plugin
1756 1757
dnl
AC_ARG_ENABLE(flac,
Gildas Bazin's avatar
 
Gildas Bazin committed
1758
  [  --enable-flac           flac decoder support (default disabled)])
1759
if test "x${enable_flac}" = "xyes"
1760
then
Gildas Bazin's avatar
 
Gildas Bazin committed
1761 1762 1763
  AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
    PLUGINS="${PLUGINS} flac flacdec"
    LDFLAGS_flacdec="${LDFLAGS_flacdec} -lFLAC"
1764
   ],[])
1765
fi
1766

Gildas Bazin's avatar
 
Gildas Bazin committed
1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779
dnl
dnl  Libmpeg2 plugin
dnl
AC_ARG_ENABLE(libmpeg2,
  [  --enable-libmpeg2       libmpeg2 decoder support (default disabled)])
if test "x${enable_libmpeg2}" = "xyes"
then
  AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
    PLUGINS="${PLUGINS} libmpeg2"
    LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2"
   ],[])
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
1780 1781 1782 1783
dnl
dnl  Vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
Gildas Bazin's avatar
 
Gildas Bazin committed
1784
  [  --enable-vorbis         Vorbis decoder support (default enabled)])
Gildas Bazin's avatar
 
Gildas Bazin committed
1785 1786 1787 1788
if test "x${enable_vorbis}" != "xno"
then
  AC_CHECK_HEADERS(vorbis/codec.h, [
    PLUGINS="${PLUGINS} vorbis"
Gildas Bazin's avatar
 
Gildas Bazin committed
1789
    LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg"
Gildas Bazin's avatar
 
Gildas Bazin committed
1790 1791
   ],[])
fi
1792
         
Gildas Bazin's avatar
 
Gildas Bazin committed
1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805
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
1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823
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
1824
      AC_MSG_RESULT(yes)
Gildas Bazin's avatar
 
Gildas Bazin committed
1825 1826 1827 1828 1829 1830 1831 1832 1833
    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
1834 1835 1836 1837 1838 1839 1840 1841 1842 1843
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
1844
      LDFLAGS_theora="${LDFLAGS_theora} -ltheora -logg" ],[
Gildas Bazin's avatar
 
Gildas Bazin committed
1845 1846 1847 1848 1849 1850
      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
1851
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1852
dnl  Video plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1853 1854
dnl

Sam Hocevar's avatar
 
Sam Hocevar committed
1855
AC_ARG_WITH(,[Video plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1856

Sam Hocevar's avatar
 
Sam Hocevar committed
1857
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1858 1859
dnl  X11 module
dnl  (enabled by default except on win32)
Sam Hocevar's avatar
 
Sam Hocevar committed
1860
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1861
AC_ARG_ENABLE(x11,
Sam Hocevar's avatar
 
Sam Hocevar committed
1862
  [  --enable-x11            X11 support (default enabled)])
1863 1864
if test "x${enable_x11}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_x11}" = "xyes"); then
1865
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1866
  AC_CHECK_HEADERS(X11/Xlib.h, [
1867 1868 1869
    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
1870
  ])
1871
  CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1872 1873 1874 1875 1876 1877 1878
fi

dnl
dnl  XVideo module
dnl  (enabled by default except on win32)
dnl
AC_ARG_ENABLE(xvideo,
Sam Hocevar's avatar
 
Sam Hocevar committed
1879
  [  --enable-xvideo         XVideo support (default enabled)])
1880 1881
if test "x${enable_xvideo}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_xvideo}" = "xyes"); then
1882
  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1883
  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
1884
    CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
1885
    AC_CHECK_LIB(Xv_pic,XvPutImage,
Sam Hocevar's avatar
 
Sam Hocevar committed
1886
      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
1887 1888 1889
      PLUGINS="${PLUGINS} xvideo"
      LDFLAGS_xvideo="${LDFLAGS_xvideo} -L${x_libraries} -lX11 -lXext -lXv_pic"
      CPPFLAGS_xvideo="${CPPFLAGS_xvideo} -I${x_includes}",
1890 1891
      AC_CHECK_LIB(Xv,XvPutImage,
        # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
1892 1893 1894
        PLUGINS="${PLUGINS} xvideo"
        LDFLAGS_xvideo="${LDFLAGS_xvideo} -L${x_libraries} -lX11 -lXext -lXv"
        CPPFLAGS_xvideo="${CPPFLAGS_xvideo} -I${x_includes}",
1895
        # Otherwise... well, do nothing.
1896
        :
1897 1898
      )
    )
1899
    CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
1900
  ]
1901
  CPPFLAGS="${CPPFLAGS_save}")
Sam Hocevar's avatar
 
Sam Hocevar committed
1902
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1903 1904 1905 1906

dnl
dnl  SDL module
dnl
1907
AC_ARG_ENABLE(sdl,
Sam Hocevar's avatar
 
Sam Hocevar committed
1908
  [  --enable-sdl            SDL support (default enabled)])
1909
if test "x${enable_sdl}" != "xno"
1910
then
1911
  SDL_PATH="${PATH}"
1912
  AC_ARG_WITH(sdl-config-path,
Sam Hocevar's avatar
 
Sam Hocevar committed
1913
    [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
1914
    [ if test "x${with_sdl_config_path}" != "xno"
1915
      then
1916
        SDL_PATH="${with_sdl_config_path}:${PATH}"
1917
      fi ])
1918 1919
  AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, ${SDL_PATH})
  SDL_CONFIG="${SDL12_CONFIG}"
1920
  SDL_HEADER="SDL12/SDL.h"
1921
  if test "x${SDL_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1922
  then
1923
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, ${SDL_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
1924
    SDL_CONFIG=${SDL11_CONFIG}
1925 1926
    SDL_HEADER="SDL11/SDL.h"
  fi
1927
  if test "x${SDL_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1928
  then
1929
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH})
1930
    SDL_HEADER="SDL/SDL.h"
1931
  fi
1932 1933 1934 1935 1936 1937 1938 1939 1940 1941
  # 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
1942
  if test "x${SDL_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1943
  then
1944
    PLUGINS="${PLUGINS} vout_sdl aout_sdl"
1945 1946 1947 1948
    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,,'`"
1949
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}"
1950 1951
    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),
1952 1953
      [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, <SDL.h>,
          As a last resort we also test for SDL.h presence),
1954 1955
      [ AC_MSG_ERROR([The development package for SDL is not installed.
Please install it and try again. Alternatively you can also configure with
1956
--disable-sdl.])
1957
      ])])
1958
    CPPFLAGS="${CPPFLAGS_save}"
1959
    if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null
Sam Hocevar's avatar
 
Sam Hocevar committed
1960
    then
1961 1962 1963
      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
1964
    fi
1965
  elif test "x${enable_sdl}" =  "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
1966
  then
1967 1968 1969
    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.
    ])
1970 1971
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
1972

1973
dnl
1974
dnl  Qt Embedded module
1975 1976 1977 1978
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
1979
if test "x${enable_qte}" = "xyes"
1980 1981
then
  AC_ARG_WITH(qte,
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1982 1983
  [    --with-qte=PATH       Qt Embedded headers and libraries])
  if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
1984
  then
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1985
    LDFLAGS_qte="${LDFLAGS_qte} -L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
1986
    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"
1987
  else
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1988
    LDFLAGS_qte="${LDFLAGS_qte} -L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte"
1989
    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
1990 1991
  fi
  PLUGINS="${PLUGINS} qte"
1992
  NEED_QTE_MAIN=yes
1993
  CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
1994 1995 1996
  AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
    AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
  ] )
1997
  CPPFLAGS="${CPPFLAGS_save}"
1998 1999
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2000 2001 2002
dnl
dnl  Windows DirectX module
dnl
2003
AC_ARG_ENABLE(directx,
Sam Hocevar's avatar
 
Sam Hocevar committed
2004
  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
2005
if test "x${enable_directx}" != "xno"
2006
then
Gildas Bazin's avatar
 
Gildas Bazin committed
2007
  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"
2008
  then
2009
    AC_ARG_WITH(directx,
Gildas Bazin's avatar
 
Gildas Bazin committed
2010
    [    --with-directx=PATH   Win32 DirectX headers])
2011
    if test "x${with_directx}" = "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
2012
    then
Gildas Bazin's avatar
 
Gildas Bazin committed
2013
      AC_CHECK_HEADERS(ddraw.h,
Gildas Bazin's avatar
 
Gildas Bazin committed
2014 2015
      [ PLUGINS="${PLUGINS} vout_directx aout_directx"
        LDFLAGS_vout_directx="${LDFLAGS_directx} -lgdi32" ])
2016
    else
2017 2018
      AC_MSG_CHECKING(for directX headers in ${with_directx})
      if test -f ${with_directx}/ddraw.h
Gildas Bazin's avatar
 
Gildas Bazin committed
2019
      then
Gildas Bazin's avatar
 
Gildas Bazin committed
2020 2021 2022 2023
        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}"
2024
        AC_MSG_RESULT(yes)
Gildas Bazin's avatar
 
Gildas Bazin committed
2025
      else
2026
        AC_MSG_RESULT(no)
2027
        AC_MSG_ERROR([Cannot find ${with_directx}/ddraw.h!])
Gildas Bazin's avatar
 
Gildas Bazin committed
2028
      fi
2029 2030 2031
    fi
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2032

Gildas Bazin's avatar
 
Gildas Bazin committed
2033
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2034
dnl  Linux framebuffer module
Gildas Bazin's avatar
 
Gildas Bazin committed
2035
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2036 2037
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
2038
    if test "x${enable_fb}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2039 2040
    then
      AC_CHECK_HEADERS(linux/fb.h, [
2041
        PLUGINS="${PLUGINS} fb"
Sam Hocevar's avatar
 
Sam Hocevar committed
2042 2043
      ])
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2044

Sam Hocevar's avatar
 
Sam Hocevar committed
2045
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2046
dnl  Linux MGA module
Sam Hocevar's avatar
 
Sam Hocevar committed
2047
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2048 2049
AC_ARG_ENABLE(mga,
  [  --enable-mga            Linux kernel Matrox support (default disabled)],
2050
  [ if test "x${enable_mga}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2051
    then
2052
      PLUGINS="${PLUGINS} mga xmga"
Sam Hocevar's avatar
 
Sam Hocevar committed
2053
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2054

2055 2056 2057 2058 2059 2060 2061
dnl
dnl  SVGAlib module
dnl
AC_ARG_ENABLE(svgalib,
  [  --enable-svgalib        SVGAlib support (default disabled)])
if test "x${enable_svgalib}" = "xyes"
then
2062 2063
  PLUGINS="${PLUGINS} svgalib"
  LDFLAGS_svgalib="${LDFLAGS_svgalib} -lvgagl -lvga"
2064 2065
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2066 2067 2068 2069 2070
dnl
dnl  GGI module
dnl
AC_ARG_ENABLE(ggi,
  [  --enable-ggi            GGI support (default disabled)])
2071
if test "x${enable_ggi}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2072
then
2073 2074
  PLUGINS="${PLUGINS} ggi"
  LDFLAGS_ggi="${LDFLAGS_ggi} -lggi"
Sam Hocevar's avatar
 
Sam Hocevar committed
2075 2076
  AC_ARG_WITH(ggi,
    [    --with-ggi=PATH       path to libggi],
2077
    [ if test "x${with_ggi}" != "xno" -a "x${with_ggi}" != "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
2078
      then
2079 2080
        CPPFLAGS_ggi="${CPPFLAGS_ggi} -I${with_ggi}/include"
        LDFLAGS_ggi="${LDFLAGS_ggi} -L${with_ggi}/lib"
Sam Hocevar's avatar
 
Sam Hocevar committed
2081 2082 2083
      fi ])
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2084 2085 2086
dnl
dnl  Glide module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2087 2088
AC_ARG_ENABLE(glide,
  [  --enable-glide          Glide (3dfx) support (default disabled)])
2089
if test "x${enable_glide}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2090
then
2091 2092 2093
  PLUGINS="${PLUGINS} glide"
  LDFLAGS_glide="${LDFLAGS_glide} -lglide2x -lm"
  CPPFLAGS_glide="${CPPFLAGS_glide} -I/usr/include/glide"
Sam Hocevar's avatar
 
Sam Hocevar committed
2094 2095
  AC_ARG_WITH(glide,
    [    --with-glide=PATH     path to libglide],
2096
    [ if test "x${with_glide}" != "xno" -a "x${with_glide}" != "x"
Sam Hocevar's avatar
 
Sam Hocevar committed
2097
      then
2098 2099
        CPPFLAGS_glide="${CPPFLAGS_glide} -I${with_glide}/include"
        LDFLAGS_glide="${LDFLAGS_glide} -L${with_glide}/lib"
Sam Hocevar's avatar
 
Sam Hocevar committed
2100 2101
      fi ])
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2102

Sam Hocevar's avatar
 
Sam Hocevar committed
2103 2104 2105 2106 2107
dnl
dnl  AA plugin
dnl
AC_ARG_ENABLE(aa,
  [  --enable-aa             aalib output (default disabled)])
2108
if test "x${enable_aa}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2109 2110
then
  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
2111
  if test "x${have_aa}" = "xtrue"
Sam Hocevar's avatar
 
Sam Hocevar committed
2112
  then
2113 2114
    PLUGINS="${PLUGINS} aa"
    LDFLAGS_aa="${LDFLAGS_aa} -laa"
Sam Hocevar's avatar
 
Sam Hocevar committed
2115 2116 2117
  fi
fi

2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129
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
2130
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2131
dnl  Audio plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
2132
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2133 2134 2135 2136 2137 2138

AC_ARG_WITH(,[Audio plugins:])

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

2142 2143
if test "x${enable_oss}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
2144 2145
then
  AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
2146
    PLUGINS="${PLUGINS} oss"
2147
    AC_CHECK_LIB(ossaudio,main,LDFLAGS_oss="${LDFLAGS_oss} -lossaudio")
Sam Hocevar's avatar
 
Sam Hocevar committed
2148 2149 2150 2151 2152 2153 2154 2155
  ])
fi

dnl
dnl  Esound module
dnl
AC_ARG_ENABLE(esd,
  [  --enable-esd            Esound library support (default disabled)],
2156
  [if test "x${enable_esd}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2157 2158
   then
     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
2159
     if test "x${ESD_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2160
     then
Gildas Bazin's avatar
 
Gildas Bazin committed
2161
       PLUGINS="${PLUGINS} esd"
2162 2163
       CFLAGS_esd="${CFLAGS_esd} `${ESD_CONFIG} --cflags`"
       LDFLAGS_esd="${LDFLAGS_esd} `${ESD_CONFIG} --libs`"
Sam Hocevar's avatar
 
Sam Hocevar committed
2164
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2165 2166 2167
   fi])

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2168
dnl  aRts module
Sam Hocevar's avatar
 
Sam Hocevar committed
2169
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2170 2171
AC_ARG_ENABLE(arts,
  [  --enable-arts           aRts sound server (default disabled)],
2172
  [if test "x${enable_arts}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2173 2174
   then
     AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
2175
     if test "x${ARTS_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2176
     then
Gildas Bazin's avatar
 
Gildas Bazin committed
2177
       PLUGINS="${PLUGINS} arts"
2178 2179
       CFLAGS_arts="${CFLAGS_arts} `${ARTS_CONFIG} --cflags`"
       LDFLAGS_arts="${LDFLAGS_arts} `${ARTS_CONFIG} --libs `"
Sam Hocevar's avatar
 
Sam Hocevar committed
2180
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2181 2182 2183
   fi])

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2184 2185 2186 2187
dnl  ALSA module
dnl
AC_ARG_ENABLE(alsa,
  [  --enable-alsa           ALSA sound support for Linux (default disabled)],
2188
  [if test "x${enable_alsa}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2189 2190
   then
     AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
2191
     if test "x${have_alsa}" = "xtrue"
2192
     then
2193 2194 2195 2196 2197
       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))
2198
       PLUGINS="${PLUGINS} alsa"
2199
       LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl"
2200 2201
     else
       AC_MSG_ERROR([Could not find ALSA development headers])
2202
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2203
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2204 2205

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2206
dnl  win32 waveOut plugin
Sam Hocevar's avatar
 
Sam Hocevar committed
2207
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2208 2209
AC_ARG_ENABLE(waveout,
  [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
Gildas Bazin's avatar
 
Gildas Bazin committed
2210 2211
if test "x${enable_waveout}" != "xno"; then
  if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
Gildas Bazin's avatar
 
Gildas Bazin committed
2212
    PLUGINS="${PLUGINS} waveout"
2213
    LDFLAGS_waveout="-lwinmm"
Gildas Bazin's avatar
 
Gildas Bazin committed
2214
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2215 2216 2217 2218 2219 2220 2221
fi

dnl
dnl  Interface plugins
dnl

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

2223 2224 2225
dnl special case for BeOS
if test "x${SYS}" = "xbeos"
then
2226
    PLUGINS="${PLUGINS} beos"
2227 2228
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2229 2230 2231
dnl
dnl  Gtk+ module
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2232
AC_ARG_ENABLE(gtk,
Sam Hocevar's avatar
 
Sam Hocevar committed
2233
  [  --enable-gtk            Gtk+ support (default enabled)])
2234
if test "x${enable_gtk}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2235
then
2236
  GTK_PATH="${PATH}"
2237
  AC_ARG_WITH(gtk-config-path,
Sam Hocevar's avatar
 
Sam Hocevar committed
2238
    [    --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)],
2239
    [ if test "x${with_gtk_config_path}" != "xno"
2240
      then
2241
        GTK_PATH="${with_gtk_config_path}:${PATH}"
2242
      fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2243
  # look for gtk-config
2244
  AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, ${GTK_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
2245
  GTK_CONFIG=${GTK12_CONFIG}
2246
  if test "x${GTK_CONFIG}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2247
  then
2248
    AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH})
Sam Hocevar's avatar
 
Sam Hocevar committed
2249
  fi
2250
  if test "x${GTK_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2251
  then
2252
    if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null
Sam Hocevar's avatar
 
Sam Hocevar committed
2253 2254 2255
    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
2256 2257 2258 2259 2260 2261 2262
    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
2263
    # now look for the gtk.h header
2264
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gtk}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2265 2266 2267 2268 2269
    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."
    ])
2270
    if test "x${ac_cv_gtk_headers}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2271
    then
2272
      PLUGINS="${PLUGINS} gtk"
Gildas Bazin's avatar
 
Gildas Bazin committed
2273 2274 2275
      if test "x${SYS}" != "xmingw32"; then
        NEED_GTK_MAIN=yes
      fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2276 2277
      ALIASES="${ALIASES} gvlc"
    fi
2278
    CPPFLAGS="${CPPFLAGS_save}"
2279 2280
  fi
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2281

2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302
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
2303 2304 2305 2306 2307 2308
  # 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)],[],[])
2309
  if test "x${with_gtk_prefix}" != "xno" -a "x${with_gtk_prefix}" != "x"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2310 2311 2312
  then
    GTK_PREFIX="--prefix=$with_gtk_prefix"
  fi
2313 2314 2315 2316 2317 2318
  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
2319 2320
    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,,'`"
2321
    # now look for the gtk.h header
2322
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar}"
2323 2324 2325 2326 2327
    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."
    ])
2328 2329 2330 2331 2332
    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
2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357

    # 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
2358
    else
2359
	  NEED_GTK_MAIN=yes
2360 2361
    fi # end gpe support
  fi # end gtk+ support
2362 2363
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2364
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2365
dnl  Gnome module
Sam Hocevar's avatar
 
Sam Hocevar committed
2366
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2367 2368
AC_ARG_ENABLE(gnome,
  [  --enable-gnome          Gnome interface support (default disabled)],
2369
  [if test "x${enable_gnome}" = "xyes"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
2370 2371 2372 2373
    # look for gnome-config
    AC_PATH_PROG(GNOME_CONFIG, gnome-config, no)
    if test -x ${GNOME_CONFIG}
    then
2374 2375
       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
2376 2377
    fi
    # now look for the gnome.h header
2378
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_gnome}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2379
    AC_CHECK_HEADERS(gnome.h, [
2380
      PLUGINS="${PLUGINS} gnome"
2381
      NEED_GTK_MAIN=yes
2382
      NEED_GNOME_MAIN=yes
Sam Hocevar's avatar
 
Sam Hocevar committed
2383
      ALIASES="${ALIASES} gnome-vlc"
2384 2385 2386 2387 2388 2389 2390
      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
2391 2392
     ],[
      AC_MSG_ERROR([Can't find gnome headers. Please install the gnome
Sam Hocevar's avatar
 
Sam Hocevar committed
2393
developement tools or remove the --enable-gnome option])
Sam Hocevar's avatar
 
Sam Hocevar committed
2394
     ])
2395
    CPPFLAGS="${CPPFLAGS_save}"
Sam Hocevar's avatar
 
Sam Hocevar committed
2396
  fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2397

Gildas Bazin's avatar
 
Gildas Bazin committed
2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419
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
2420
    CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cxxflags`"
Gildas Bazin's avatar
 
Gildas Bazin committed
2421
    LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`"
Gildas Bazin's avatar
 
Gildas Bazin committed
2422
    # now look for the wxprec.h header
Gildas Bazin's avatar
 
Gildas Bazin committed
2423
    CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
Gildas Bazin's avatar
 
Gildas Bazin committed
2424
    ac_cv_wx_headers=yes
Gildas Bazin's avatar
 
Gildas Bazin committed
2425
    AC_CHECK_HEADERS(wx/wxprec.h, , [
Gildas Bazin's avatar
 
Gildas Bazin committed
2426 2427 2428 2429 2430 2431 2432 2433
      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
2434
    CPPFLAGS="${CPPFLAGS_save}"
Gildas Bazin's avatar
 
Gildas Bazin committed
2435 2436 2437
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2438
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2439
dnl  Qt module
Sam Hocevar's avatar
 
Sam Hocevar committed
2440
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2441 2442
AC_ARG_ENABLE(qt,
  [  --enable-qt             Qt interface support (default disabled)],
2443
  [if test "x${enable_qt}" = "xyes"; then
2444
     PLUGINS="${PLUGINS} qt"
Sam Hocevar's avatar
 
Sam Hocevar committed
2445
     ALIASES="${ALIASES} qvlc"
2446 2447 2448 2449 2450 2451 2452 2453 2454 2455
     LDFLAGS_qt="${LDFLAGS_qt} -L${QTDIR}/lib"
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
     AC_CHECK_LIB(qt-mt,main,[
       LDFLAGS_qt="${LDFLAGS_qt} -lqt-mt"
     ],[
       AC_CHECK_LIB(qt,main,[
         LDFLAGS_qt="${LDFLAGS_qt} -lqt"
       ])
     ])
     LDFLAGS="${LDFLAGS_save}"
2456
     CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2457 2458 2459 2460 2461 2462 2463 2464
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2465
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2466 2467 2468 2469
dnl  KDE module
dnl
AC_ARG_ENABLE(kde,
  [  --enable-kde            KDE interface support (default disabled)],
2470
  [if test "x${enable_kde}" = "xyes"; then
2471
     PLUGINS="${PLUGINS} kde"
Sam Hocevar's avatar
 
Sam Hocevar committed
2472
     ALIASES="${ALIASES} kvlc"
2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487
     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}"
2488
     CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt"
2489
     CPPFLAGS_kde="${CPPFLAGS_kde} -I${KDEDIR}/include -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2490 2491 2492 2493 2494 2495 2496 2497
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2498
dnl
2499
dnl  Opie QT embedded module
2500
dnl
2501 2502 2503 2504
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
2505 2506
     [    --with-qte=PATH       Qt Embedded headers and libraries])
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2507
     then
2508 2509
       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"
2510
     else
2511 2512
       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
2513
     fi
2514
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2515 2516 2517 2518
     AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
       AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
     ] )
     CPPFLAGS="${CPPFLAGS_save}"
2519

2520
     PLUGINS="${PLUGINS} opie"
2521
     NEED_QTE_MAIN=yes
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2522 2523
     LDFLAGS_opie="${LDFLAGS_opie} -lqpe ${LDFLAGS_qte}"
     CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_qte}"
2524
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2525
     then
2526
       MOC=${with_qte}/bin/moc
2527
     else
2528
       MOC=${QTDIR}/bin/moc
2529 2530 2531
     fi
   fi])

Sam Hocevar's avatar
 
Sam Hocevar committed
2532 2533 2534 2535 2536
dnl
dnl  MacOS X module
dnl
AC_ARG_ENABLE(macosx,
  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
2537
  [if test "x${enable_macosx}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2538
   then
2539
     BUILTINS="${BUILTINS} macosx"
2540
     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
2541 2542
   fi],
  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
2543
     BUILTINS="${BUILTINS} macosx"
2544
     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
2545 2546 2547 2548 2549 2550 2551
   )])

dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
  [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
2552
    if test "x${enable_qnx}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2553 2554
    then
      AC_CHECK_HEADERS(Ph.h, [
2555 2556
        PLUGINS="${PLUGINS} qnx"
        LDFLAGS_qnx="${LDFLAGS_qnx} -lasound -lph"
Sam Hocevar's avatar
 
Sam Hocevar committed
2557 2558 2559 2560
      ])
    fi

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2561
dnl  Windows native interface module, built with Borland C++ Builder
Sam Hocevar's avatar
 
Sam Hocevar committed
2562
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2563 2564
AC_ARG_ENABLE(intfwin,
[  --enable-intfwin        Win32 interface support (default disabled)],
2565
[ if test "x${enable_intfwin}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2566
  then
2567 2568
    AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found))
    AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found))
2569
    PLUGINS="${PLUGINS} win32"
Sam Hocevar's avatar
 
Sam Hocevar committed
2570
  fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2571 2572 2573 2574 2575 2576

dnl
dnl  ncurses module
dnl
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
2577
  [if test "x${enable_ncurses}" = "xyes"; then
2578 2579
     PLUGINS="${PLUGINS} ncurses"
     LDFLAGS_ncurses="${LDFLAGS_ncurses} -lncurses"
Sam Hocevar's avatar
 
Sam Hocevar committed
2580
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2581

2582 2583 2584 2585
dnl
dnl  XOSD plugin
dnl
AC_ARG_ENABLE(xosd,
2586
  [  --enable-xosd           xosd interface support (default disabled)])
2587
if test "x${enable_xosd}" = "xyes"
2588
then
2589
  AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
2590 2591 2592 2593 2594 2595 2596
  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))))
2597
  if test "x${have_xosd}" = "xtrue"
2598
  then
2599 2600
    PLUGINS="${PLUGINS} xosd"
    LDFLAGS_xosd="${LDFLAGS_xosd} -lxosd"
2601 2602 2603
  fi
fi

2604 2605 2606 2607
dnl
dnl  SLP access plugin
dnl
AC_ARG_ENABLE(slp,
Loïc Minier's avatar
Loïc Minier committed
2608 2609
  [  --enable-slp            SLP service discovery support (default enabled)])
if test "x${enable_slp}" != "xno"
2610
then
Loïc Minier's avatar
Loïc Minier committed
2611 2612 2613
  AC_ARG_WITH(slp,
  [    --with-slp=PATH       libslp headers and libraries])
  if test "x${with_slp}" = x
2614
  then
Loïc Minier's avatar
Loïc Minier committed
2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634
    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
2635 2636 2637
  fi
fi

2638 2639 2640 2641 2642
dnl
dnl  Lirc plugin
dnl
AC_ARG_ENABLE(lirc,
  [  --enable-lirc           lirc support (default disabled)])
2643
if test "x${enable_lirc}" = "xyes"
2644 2645
then
  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
2646
  if test "x${have_lirc}" = "xtrue"
2647
  then
2648 2649
    PLUGINS="${PLUGINS} lirc"
    LDFLAGS_lirc="${LDFLAGS_lirc} -llirc_client"
2650 2651 2652
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2653 2654
AC_ARG_WITH(,[Misc options:])

2655
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2656
dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
2657
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2658 2659 2660 2661 2662
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)])
2663
  case "x${with_words}" in
Sam Hocevar's avatar
 
Sam Hocevar committed
2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674
    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],
2675
        [ac_cv_c_bigendian="unknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686
        [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
2687 2688
        then
          if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
Sam Hocevar's avatar
 
Sam Hocevar committed
2689 2690 2691 2692
              && test -f conftest.o
          then
            if test "`strings conftest.o | grep BIGenDianSyS`"
            then
2693
              ac_cv_c_bigendian="yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2694 2695 2696
            fi
            if test "`strings conftest.o | grep LiTTleEnDian`"
            then
2697
              ac_cv_c_bigendian="no"
Sam Hocevar's avatar
 
Sam Hocevar committed
2698 2699 2700 2701
            fi
          fi
        fi
      ])
2702
      if test "x${ac_cv_c_bigendian}" = "xunknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2703 2704 2705 2706 2707 2708
      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
2709
if test "${ac_cv_c_bigendian}" = "yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2710 2711 2712
then
  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
fi
2713

2714 2715 2716
dnl
dnl  Mozilla plugin
dnl
2717
mozilla=false
2718 2719
AC_ARG_ENABLE(mozilla,
  [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
2720
if test "x${enable_mozilla}" = "xyes"
2721 2722
then
  AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
2723
  if test "x${MOZILLA_CONFIG}" != "xno"
2724
  then
2725
    if test "x${SYS}" != "xmingw32"; then
2726
      LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
2727
      AC_CHECK_LIB(Xt,XtStrings,[
2728
        LDFLAGS_mozilla="${LDFLAGS_mozilla} -L${x_libraries} -lXt"
2729
      ])
2730
      LDFLAGS="${LDFLAGS_save}"
2731
    fi
2732
    mozilla=:
2733
    dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
2734 2735 2736 2737 2738 2739 2740 2741
    [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
2742 2743
  fi
fi
2744
AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
2745

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

2755 2756 2757 2758 2759
  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"
2760

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

2765 2766 2767 2768 2769
dnl
dnl  gtk_main plugin
dnl
if test "x${NEED_GTK_MAIN}" != "xno"
then
2770
    PLUGINS="${PLUGINS} gtk_main"
2771
    CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN"
2772
	CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN"
2773 2774 2775 2776 2777 2778 2779 2780 2781
    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}"
2782 2783
fi

2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796
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
2797
dnl
2798
dnl  Plugin and builtin checks
Sam Hocevar's avatar
 
Sam Hocevar committed
2799
dnl
2800 2801 2802 2803
builtin_support=false
plugin_support=:

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

2811 2812 2813
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
2814
if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2815
then
2816 2817 2818 2819 2820 2821 2822 2823 2824 2825
  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
2826
    eval "${plugin}_plugin=yes"
2827 2828
  done
else
2829 2830 2831
  BUILTINS="${BUILTINS} ${PLUGINS}"
  PLUGINS=
fi
2832 2833 2834 2835 2836 2837 2838
AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})

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

dnl do not touch this line (bootstrap needs it)

2846

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

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

2859
DATA_PATH="${ac_tool_prefix}/share/vlc"
Sam Hocevar's avatar
 
Sam Hocevar committed
2860
AC_SUBST(DATA_PATH)
2861
PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
Sam Hocevar's avatar
 
Sam Hocevar committed
2862 2863
AC_SUBST(PLUGIN_PATH)

Sam Hocevar's avatar
Sam Hocevar committed
2864 2865 2866
dnl
dnl  Restore *FLAGS
dnl
2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877
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
2878

2879 2880 2881
dnl
dnl  Create the vlc-config script
dnl
2882 2883
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
2884

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

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

2907 2908
AC_SUBST(CFLAGS_vlc)
AC_SUBST(CFLAGS_pics)
Gildas Bazin's avatar
 
Gildas Bazin committed
2909
AC_SUBST(CXXFLAGS_pics)
2910
AC_SUBST(CFLAGS_plugins)
Gildas Bazin's avatar
 
Gildas Bazin committed
2911
AC_SUBST(CXXFLAGS_plugins)
2912 2913 2914 2915 2916 2917 2918 2919 2920
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)

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

2938
printf "
Sam Hocevar's avatar
 
Sam Hocevar committed
2939
vlc configuration
Sam Hocevar's avatar
 
Sam Hocevar committed
2940
--------------------
Sam Hocevar's avatar
 
Sam Hocevar committed
2941
vlc version           : ${VERSION}
Sam Hocevar's avatar
 
Sam Hocevar committed
2942 2943
system                : ${SYS}
architecture          : ${ARCH}
2944 2945 2946 2947 2948 2949 2950
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
2951
vlc aliases           :${ALIASES}
Sam Hocevar's avatar
 
Sam Hocevar committed
2952

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