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

Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
3
AC_INIT(vlc,0.5.2-test3)
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.
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
14
AM_INIT_AUTOMAKE(vlc,0.5.2-test3)
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"
Gildas Bazin's avatar
 
Gildas Bazin committed
133
        LDFLAGS_httpd="${LDFLAGS_httpd} -lws2_32"
Gildas Bazin's avatar
 
Gildas Bazin committed
134
    fi
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
    ;;
  x*nto*)
    SYS=nto
    LDFLAGS_x11="${LDFLAGS_x11} -lsocket"
    LDFLAGS_xvideo="${LDFLAGS_xvideo} -lsocket"
    ;;
  xsolaris*)
    SYS=solaris
    ;;
  xhpux*)
    SYS=hpux
    LIBEXT=".sl"
    ;;
  xbeos)
    SYS=beos
    CFLAGS_save="${CFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}"
    LDFLAGS_vlc="${LDFLAGS_vlc} -lbe"
    LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
154
    LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation"
155 156 157
    dnl BONE or not BONE ?
    AC_CHECK_LIB( bind, inet_ntoa,
        [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind"
158 159
          LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"
          LDFALGS_httpd="${LDFLAGS_httpd} -lbind"],
160
        [])
161 162 163 164
    ;;
  x*)
    SYS="${target_os}"
    ;;
Gildas Bazin's avatar
 
Gildas Bazin committed
165
esac
166 167 168 169
AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos")
AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin")
AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32")

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

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

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

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

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

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

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

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

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

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

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

295
AC_CHECK_FUNCS(gethostbyname,,[
296 297
  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
298
])
299

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

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

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

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

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

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

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

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

Sam Hocevar's avatar
 
Sam Hocevar committed
456 457
AC_HEADER_TIME

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

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

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

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

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

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

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

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

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

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

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

557 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
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)])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sam Hocevar's avatar
 
Sam Hocevar committed
819 820 821
dnl
dnl  Accelerated modules
dnl
822
MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
823
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
824 825
THREEDNOW_MODULES="memcpy3dn"
SSE_MODULES=""
826
ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
827

828 829 830 831 832
if test "${enable_gprof}" != "yes"
then
  MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
fi

833 834
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
835
    [CFLAGS="${CFLAGS_save}"
Sam Hocevar's avatar
Sam Hocevar committed
836
     AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
837
                    ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
838
if test "x${ac_cv_mmx_inline}" != "xno"; then
Sam Hocevar's avatar
 
Sam Hocevar committed
839
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
840
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
841

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

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

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

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

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

AC_CACHE_CHECK([if linker needs -framework vecLib],
    [ac_cv_ld_altivec],
918
    [LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
919
     AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
920
     LDFLAGS="${LDFLAGS_save}"
921
    ])
922
if test "x${ac_cv_ld_altivec}" != "xno"; then
923 924 925 926
  LDFLAGS_idctaltivec="${LDFLAGS_idctaltivec} -framework vecLib"
  LDFLAGS_motionaltivec="${LDFLAGS_motionaltivec} -framework vecLib"
  LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib"
  LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib"
927
fi
Gildas Bazin's avatar
 
Gildas Bazin committed
928
fi # end if mingw32
929

Sam Hocevar's avatar
 
Sam Hocevar committed
930 931 932
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])

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

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
953
dnl  x86 accelerations
Sam Hocevar's avatar
 
Sam Hocevar committed
954
dnl
955
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
956 957
then
    ARCH="${ARCH} mmx"
958
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
Sam Hocevar's avatar
 
Sam Hocevar committed
959
fi
Sam Hocevar's avatar
 
Sam Hocevar committed
960

Sam Hocevar's avatar
 
Sam Hocevar committed
961 962 963 964
dnl
dnl  Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
965 966
[  --disable-optimizations disable compiler optimizations (default enabled)])
AM_CONDITIONAL(OPTIM, test "x${enable_optimizations}" != "xno")
Sam Hocevar's avatar
 
Sam Hocevar committed
967

Sam Hocevar's avatar
 
Sam Hocevar committed
968 969 970
dnl
dnl  AltiVec acceleration
dnl
971
AC_ARG_ENABLE(altivec,
Sam Hocevar's avatar
Sam Hocevar committed
972
[  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
973
[ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
974
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
975
[ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
976
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
977 978 979 980

dnl
dnl  Debugging mode
dnl
981
AC_ARG_ENABLE(debug,
982 983
[  --enable-debug          debug mode (default disabled)])
AM_CONDITIONAL(DEBUG, test "x${enable_debug}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
984

Sam Hocevar's avatar
 
Sam Hocevar committed
985
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
986
dnl  Enable release-specific flags
Sam Hocevar's avatar
 
Sam Hocevar committed
987
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
988
AC_ARG_ENABLE(release,
989 990
[  --enable-release        activate extra optimizations (default disabled)])
AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
991

992 993 994 995 996 997 998
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
  [  --enable-sout           Stream output modules (default enabled)])
if test "x${enable_sout}" != "xno"
then
999
  PLUGINS="${PLUGINS} access_output_dummy access_output_udp access_output_file access_output_http"
1000
  PLUGINS="${PLUGINS} mux_ts mux_ps mux_avi mux_dummy"
1001
  PLUGINS="${PLUGINS} packetizer_mpegaudio packetizer_mpegvideo packetizer_a52"
1002 1003
  PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio"
  PLUGINS="${PLUGINS} packetizer_copy"
1004 1005

  PLUGINS="${PLUGINS} vout_encoder"
1006 1007 1008 1009 1010 1011 1012

    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" ])
    ],[])
1013 1014 1015
fi


Sam Hocevar's avatar
 
Sam Hocevar committed
1016
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1017
dnl  Input plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1018 1019
dnl

Sam Hocevar's avatar
 
Sam Hocevar committed
1020
AC_ARG_WITH(,[Input plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1021 1022

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

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

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

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

        BUILTINS="${BUILTINS} mux_ts_dvbpsi"
1261
        LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi"
1262 1263
        CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} -I${real_dvbpsi_tree}/src"

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

1293
      ],[
1294
      if test "x${enable_dvbpsi}" != "x"
1295 1296 1297 1298
      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
    ])
1299
    CPPFLAGS="${CPPFLAGS_save}"
1300 1301
  ;;
  esac
1302
fi
1303

1304 1305 1306 1307 1308 1309 1310 1311
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, [
1312
    PLUGINS="${PLUGINS} v4l"
1313 1314 1315
   ],[])
fi

1316
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1317
dnl  VCD module
1318 1319
dnl
AC_ARG_ENABLE(vcd,
Gildas Bazin's avatar
 
Gildas Bazin committed
1320
  [  --enable-vcd            VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
1321

1322
if test "x${enable_vcd}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
1323
then
1324
  AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
1325
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
1326
    AC_MSG_RESULT(yes)
1327
    PLUGINS="${PLUGINS} vcd"
1328 1329
  ],[
    AC_MSG_RESULT(no)
Sam Hocevar's avatar
 
Sam Hocevar committed
1330
  ])
1331

1332
  AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
1333
  AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
1334
    AC_MSG_RESULT(yes)
1335 1336
    PLUGINS="${PLUGINS} vcd"
    AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
1337 1338
  ],[
    AC_MSG_RESULT(no)
1339 1340
  ])

1341
  AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
1342
  AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
1343
    AC_MSG_RESULT(yes)
1344
    PLUGINS="${PLUGINS} vcd"
1345
    AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
1346 1347
  ],[
    AC_MSG_RESULT(no)
1348
  ])
1349

Gildas Bazin's avatar
 
Gildas Bazin committed
1350
  if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32"
Sam Hocevar's avatar
 
Sam Hocevar committed
1351
  then
1352
    PLUGINS="${PLUGINS} vcd"
Sam Hocevar's avatar
 
Sam Hocevar committed
1353
  fi
1354

Sam Hocevar's avatar
 
Sam Hocevar committed
1355 1356
  if test "x${SYS}" = "xdarwin"
  then
1357
    PLUGINS="${PLUGINS} vcd"
1358
    LDFLAGS_vcd="${LDFLAGS_vcd} -framework IOKit -framework CoreFoundation"
Sam Hocevar's avatar
 
Sam Hocevar committed
1359
  fi
1360 1361
fi

Johan Bilien's avatar
Johan Bilien committed
1362 1363 1364 1365
dnl
dnl  Satellite input module
dnl
AC_ARG_ENABLE(satellite,
Sam Hocevar's avatar
 
Sam Hocevar committed
1366
  [  --enable-satellite      satellite card support (default disabled)],
1367
  [ if test "x${enable_satellite}" = "xyes"
Johan Bilien's avatar
Johan Bilien committed
1368
    then
1369
      PLUGINS="${PLUGINS} satellite"
Johan Bilien's avatar
Johan Bilien committed
1370 1371
    fi])

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

Gildas Bazin's avatar
 
Gildas Bazin committed
1397 1398 1399 1400 1401 1402 1403 1404
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
1405 1406 1407 1408 1409
    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
1410 1411 1412
   ],[])
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
1413
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1414
dnl  Codec plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
1415
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
1416

Sam Hocevar's avatar
 
Sam Hocevar committed
1417
AC_ARG_WITH(,[Codec plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1418

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

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

1477 1478 1479
dnl
dnl   libid3tag support
dnl
1480
AC_CHECK_HEADERS(id3tag.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
1481 1482 1483
  AC_CHECK_HEADERS(zlib.h, [
    LDFLAGS_id3tag="${LDFLAGS_id3tag} -lid3tag -lz"
    PLUGINS="${PLUGINS} id3tag"]) ])
1484

1485 1486 1487 1488 1489
dnl
dnl  ffmpeg decoder plugin
dnl
AC_ARG_ENABLE(ffmpeg,
[  --enable-ffmpeg         ffmpeg codec (default disabled)])
1490
if test "x${enable_ffmpeg}" = "xyes"
1491
then
1492 1493
  AC_ARG_WITH(ffmpeg,
    [    --with-ffmpeg=PATH    path to ffmpeg installation],[],[])
1494
  if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x"
1495
  then
1496
    CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg"
1497
    LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib"
1498 1499
  fi

1500
  dnl Add postprocessing modules
1501
  PLUGINS="${PLUGINS} postprocessing_c"
1502
  if test "x${ac_cv_mmx_inline}" != "xno"; then
1503
    PLUGINS="${PLUGINS} postprocessing_mmx"
1504 1505 1506
  fi

  if test "x${ac_cv_mmxext_inline}" != "xno"; then
1507
    PLUGINS="${PLUGINS} postprocessing_mmxext"
1508 1509
  fi

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

1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556
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
1557 1558
    CPPFLAGS_faad="${CPPFLAGS_faad} -I${with_faad}/include"
    LDFLAGS_faad="${LDFLAGS_faad} -L${with_faad}/lib"
1559
  fi
1560
  LDFLAGS_faad="${LDFLAGS_faad}"
1561

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


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


1656

1657 1658 1659
dnl
dnl MP4 module
dnl
1660 1661 1662
AC_CHECK_HEADERS(zlib.h, [
  LDFLAGS_mp4="${LDFLAGS_mp4} -lz"
] )
1663

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

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

dnl
Gildas Bazin's avatar
 
Gildas Bazin committed
1748
dnl  Flac plugin
1749 1750
dnl
AC_ARG_ENABLE(flac,
Gildas Bazin's avatar
 
Gildas Bazin committed
1751
  [  --enable-flac           flac decoder support (default disabled)])
1752
if test "x${enable_flac}" = "xyes"
1753
then
Gildas Bazin's avatar
 
Gildas Bazin committed
1754 1755 1756
  AC_CHECK_HEADERS(FLAC/stream_decoder.h, [
    PLUGINS="${PLUGINS} flac flacdec"
    LDFLAGS_flacdec="${LDFLAGS_flacdec} -lFLAC"
1757
   ],[])
1758
fi
1759

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

Sam Hocevar's avatar
 
Sam Hocevar committed
1848
AC_ARG_WITH(,[Video plugins:])
Sam Hocevar's avatar
 
Sam Hocevar committed
1849

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

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

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

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

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

Gildas Bazin's avatar
 
Gildas Bazin committed
2026
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2027
dnl  Linux framebuffer module
Gildas Bazin's avatar
 
Gildas Bazin committed
2028
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2029 2030
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
2031
    if test "x${enable_fb}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2032 2033
    then
      AC_CHECK_HEADERS(linux/fb.h, [
2034
        PLUGINS="${PLUGINS} fb"
Sam Hocevar's avatar
 
Sam Hocevar committed
2035 2036
      ])
    fi
Gildas Bazin's avatar
 
Gildas Bazin committed
2037

Sam Hocevar's avatar
 
Sam Hocevar committed
2038
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2039
dnl  Linux MGA module
Sam Hocevar's avatar
 
Sam Hocevar committed
2040
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2041 2042
AC_ARG_ENABLE(mga,
  [  --enable-mga            Linux kernel Matrox support (default disabled)],
2043
  [ if test "x${enable_mga}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2044
    then
2045
      PLUGINS="${PLUGINS} mga xmga"
Sam Hocevar's avatar
 
Sam Hocevar committed
2046
    fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2047

2048 2049 2050 2051 2052 2053 2054
dnl
dnl  SVGAlib module
dnl
AC_ARG_ENABLE(svgalib,
  [  --enable-svgalib        SVGAlib support (default disabled)])
if test "x${enable_svgalib}" = "xyes"
then
2055 2056
  PLUGINS="${PLUGINS} svgalib"
  LDFLAGS_svgalib="${LDFLAGS_svgalib} -lvgagl -lvga"
2057 2058
fi

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

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

Sam Hocevar's avatar
 
Sam Hocevar committed
2096 2097 2098 2099 2100
dnl
dnl  AA plugin
dnl
AC_ARG_ENABLE(aa,
  [  --enable-aa             aalib output (default disabled)])
2101
if test "x${enable_aa}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2102 2103
then
  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
2104
  if test "x${have_aa}" = "xtrue"
Sam Hocevar's avatar
 
Sam Hocevar committed
2105
  then
2106 2107
    PLUGINS="${PLUGINS} aa"
    LDFLAGS_aa="${LDFLAGS_aa} -laa"
Sam Hocevar's avatar
 
Sam Hocevar committed
2108 2109 2110
  fi
fi

2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122
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
2123
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2124
dnl  Audio plugins
Sam Hocevar's avatar
 
Sam Hocevar committed
2125
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2126 2127 2128 2129 2130 2131

AC_ARG_WITH(,[Audio plugins:])

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

2135 2136
if test "x${enable_oss}" != "xno" &&
  (test "x${SYS}" != "xmingw32" || test "x${enable_oss}" = "xyes")
Sam Hocevar's avatar
 
Sam Hocevar committed
2137 2138
then
  AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [
Gildas Bazin's avatar
 
Gildas Bazin committed
2139
    PLUGINS="${PLUGINS} oss"
2140
    AC_CHECK_LIB(ossaudio,main,LDFLAGS_oss="${LDFLAGS_oss} -lossaudio")
Sam Hocevar's avatar
 
Sam Hocevar committed
2141 2142 2143 2144 2145 2146 2147 2148
  ])
fi

dnl
dnl  Esound module
dnl
AC_ARG_ENABLE(esd,
  [  --enable-esd            Esound library support (default disabled)],
2149
  [if test "x${enable_esd}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2150 2151
   then
     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
2152
     if test "x${ESD_CONFIG}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2153
     then
Gildas Bazin's avatar
 
Gildas Bazin committed
2154
       PLUGINS="${PLUGINS} esd"
2155 2156
       CFLAGS_esd="${CFLAGS_esd} `${ESD_CONFIG} --cflags`"
       LDFLAGS_esd="${LDFLAGS_esd} `${ESD_CONFIG} --libs`"
Sam Hocevar's avatar
 
Sam Hocevar committed
2157
     fi
Sam Hocevar's avatar
 
Sam Hocevar committed
2158 2159 2160
   fi])

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

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

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

dnl
dnl  Interface plugins
dnl

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

2216 2217 2218
dnl special case for BeOS
if test "x${SYS}" = "xbeos"
then
2219
    PLUGINS="${PLUGINS} beos"
2220 2221
fi

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

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

    # 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
2351
    else
2352
	  NEED_GTK_MAIN=yes
2353 2354
    fi # end gpe support
  fi # end gtk+ support
2355 2356
fi

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

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

Sam Hocevar's avatar
 
Sam Hocevar committed
2431
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2432
dnl  Qt module
Sam Hocevar's avatar
 
Sam Hocevar committed
2433
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2434 2435
AC_ARG_ENABLE(qt,
  [  --enable-qt             Qt interface support (default disabled)],
2436
  [if test "x${enable_qt}" = "xyes"; then
2437
     PLUGINS="${PLUGINS} qt"
Sam Hocevar's avatar
 
Sam Hocevar committed
2438
     ALIASES="${ALIASES} qvlc"
2439 2440
     LDFLAGS_qt="${LDFLAGS_qt} -lqt -L${QTDIR}/lib"
     CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2441 2442 2443 2444 2445 2446 2447 2448
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2449
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2450 2451 2452 2453
dnl  KDE module
dnl
AC_ARG_ENABLE(kde,
  [  --enable-kde            KDE interface support (default disabled)],
2454
  [if test "x${enable_kde}" = "xyes"; then
2455
     PLUGINS="${PLUGINS} kde"
Sam Hocevar's avatar
 
Sam Hocevar committed
2456
     ALIASES="${ALIASES} kvlc"
2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471
     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}"
2472 2473
     CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt"
     CPPFLAGS_kde="${CPPFLAGS_kde} -I${KDEDIR}/include -I${QTDIR}/include"
Sam Hocevar's avatar
 
Sam Hocevar committed
2474 2475 2476 2477 2478 2479 2480 2481
     if test -x ${QTDIR}/bin/moc
     then
       MOC=${QTDIR}/bin/moc
     else
       MOC=moc
     fi
   fi])

2482
dnl
2483
dnl  Opie QT embedded module
2484
dnl
2485 2486 2487 2488
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
2489 2490
     [    --with-qte=PATH       Qt Embedded headers and libraries])
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2491
     then
2492 2493
       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"
2494
     else
2495 2496
       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
2497
     fi
2498
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}"
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2499 2500 2501 2502
     AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
       AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
     ] )
     CPPFLAGS="${CPPFLAGS_save}"
2503

2504
     PLUGINS="${PLUGINS} opie"
2505
     NEED_QTE_MAIN=yes
Jean-Paul Saman's avatar
Jean-Paul Saman committed
2506 2507
     LDFLAGS_opie="${LDFLAGS_opie} -lqpe ${LDFLAGS_qte}"
     CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_qte}"
2508
     if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x"
2509
     then
2510
       MOC=${with_qte}/bin/moc
2511
     else
2512
       MOC=${QTDIR}/bin/moc
2513 2514 2515
     fi
   fi])

Sam Hocevar's avatar
 
Sam Hocevar committed
2516 2517 2518 2519 2520
dnl
dnl  MacOS X module
dnl
AC_ARG_ENABLE(macosx,
  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
2521
  [if test "x${enable_macosx}" = "xyes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2522
   then
2523
     BUILTINS="${BUILTINS} macosx"
2524
     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
2525 2526
   fi],
  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
2527
     BUILTINS="${BUILTINS} macosx"
2528
     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
2529 2530 2531 2532 2533 2534 2535
   )])

dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
  [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
2536
    if test "x${enable_qnx}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2537 2538
    then
      AC_CHECK_HEADERS(Ph.h, [
2539 2540
        PLUGINS="${PLUGINS} qnx"
        LDFLAGS_qnx="${LDFLAGS_qnx} -lasound -lph"
Sam Hocevar's avatar
 
Sam Hocevar committed
2541 2542 2543 2544
      ])
    fi

dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2545
dnl  Windows native interface module, built with Borland C++ Builder
Sam Hocevar's avatar
 
Sam Hocevar committed
2546
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2547 2548
AC_ARG_ENABLE(intfwin,
[  --enable-intfwin        Win32 interface support (default disabled)],
2549
[ if test "x${enable_intfwin}" != "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2550
  then
2551 2552
    AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found))
    AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found))
2553
    PLUGINS="${PLUGINS} win32"
Sam Hocevar's avatar
 
Sam Hocevar committed
2554
  fi ])
Sam Hocevar's avatar
 
Sam Hocevar committed
2555 2556 2557 2558 2559 2560

dnl
dnl  ncurses module
dnl
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
2561
  [if test "x${enable_ncurses}" = "xyes"; then
2562 2563
     PLUGINS="${PLUGINS} ncurses"
     LDFLAGS_ncurses="${LDFLAGS_ncurses} -lncurses"
Sam Hocevar's avatar
 
Sam Hocevar committed
2564
   fi])
Sam Hocevar's avatar
 
Sam Hocevar committed
2565

2566 2567 2568 2569
dnl
dnl  XOSD plugin
dnl
AC_ARG_ENABLE(xosd,
2570
  [  --enable-xosd           xosd interface support (default disabled)])
2571
if test "x${enable_xosd}" = "xyes"
2572
then
2573
  AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false")
2574 2575 2576 2577 2578 2579 2580
  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))))
2581
  if test "x${have_xosd}" = "xtrue"
2582
  then
2583 2584
    PLUGINS="${PLUGINS} xosd"
    LDFLAGS_xosd="${LDFLAGS_xosd} -lxosd"
2585 2586 2587
  fi
fi

2588 2589 2590 2591
dnl
dnl  SLP access plugin
dnl
AC_ARG_ENABLE(slp,
Loïc Minier's avatar
Loïc Minier committed
2592 2593
  [  --enable-slp            SLP service discovery support (default enabled)])
if test "x${enable_slp}" != "xno"
2594
then
Loïc Minier's avatar
Loïc Minier committed
2595 2596 2597
  AC_ARG_WITH(slp,
  [    --with-slp=PATH       libslp headers and libraries])
  if test "x${with_slp}" = x
2598
  then
Loïc Minier's avatar
Loïc Minier committed
2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618
    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
2619 2620 2621
  fi
fi

2622 2623 2624 2625 2626
dnl
dnl  Lirc plugin
dnl
AC_ARG_ENABLE(lirc,
  [  --enable-lirc           lirc support (default disabled)])
2627
if test "x${enable_lirc}" = "xyes"
2628 2629
then
  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
2630
  if test "x${have_lirc}" = "xtrue"
2631
  then
2632 2633
    PLUGINS="${PLUGINS} lirc"
    LDFLAGS_lirc="${LDFLAGS_lirc} -llirc_client"
2634 2635 2636
  fi
fi

Sam Hocevar's avatar
 
Sam Hocevar committed
2637 2638
AC_ARG_WITH(,[Misc options:])

2639
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2640
dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
2641
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2642 2643 2644 2645 2646
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)])
2647
  case "x${with_words}" in
Sam Hocevar's avatar
 
Sam Hocevar committed
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658
    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],
2659
        [ac_cv_c_bigendian="unknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670
        [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
2671 2672
        then
          if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
Sam Hocevar's avatar
 
Sam Hocevar committed
2673 2674 2675 2676
              && test -f conftest.o
          then
            if test "`strings conftest.o | grep BIGenDianSyS`"
            then
2677
              ac_cv_c_bigendian="yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2678 2679 2680
            fi
            if test "`strings conftest.o | grep LiTTleEnDian`"
            then
2681
              ac_cv_c_bigendian="no"
Sam Hocevar's avatar
 
Sam Hocevar committed
2682 2683 2684 2685
            fi
          fi
        fi
      ])
2686
      if test "x${ac_cv_c_bigendian}" = "xunknown"
Sam Hocevar's avatar
 
Sam Hocevar committed
2687 2688 2689 2690 2691 2692
      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
2693
if test "${ac_cv_c_bigendian}" = "yes"
Sam Hocevar's avatar
 
Sam Hocevar committed
2694 2695 2696
then
  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
fi
2697

2698 2699 2700
dnl
dnl  Mozilla plugin
dnl
2701
mozilla=false
2702 2703
AC_ARG_ENABLE(mozilla,
  [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
2704
if test "x${enable_mozilla}" = "xyes"
2705 2706
then
  AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
2707
  if test "x${MOZILLA_CONFIG}" != "xno"
2708
  then
2709
    if test "x${SYS}" != "xmingw32"; then
2710
      LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
2711
      AC_CHECK_LIB(Xt,XtStrings,[
2712
        LDFLAGS_mozilla="${LDFLAGS_mozilla} -L${x_libraries} -lXt"
2713
      ])
2714
      LDFLAGS="${LDFLAGS_save}"
2715
    fi
2716
    mozilla=:
2717
    dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
2718 2719 2720 2721 2722 2723 2724 2725
    [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
2726 2727
  fi
fi
2728
AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
2729

2730 2731 2732 2733 2734 2735 2736
dnl
dnl  test plugins
dnl
AC_ARG_ENABLE(testsuite,
  [  --enable-testsuite      build test modules (default disabled)])
if test "x${enable_testsuite}" = "xyes"
then
2737 2738
  TESTS="test1 test2 test3 test4"

2739 2740 2741 2742 2743
  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"
2744

2745
  PLUGINS="${PLUGINS} ${TESTS}"
Sam Hocevar's avatar
Sam Hocevar committed
2746
  #BUILTINS="${BUILTINS} ${TESTS}"
2747 2748
fi

2749 2750 2751 2752 2753
dnl
dnl  gtk_main plugin
dnl
if test "x${NEED_GTK_MAIN}" != "xno"
then
2754
    PLUGINS="${PLUGINS} gtk_main"
2755
    CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN"
2756
	CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN"
2757 2758 2759 2760 2761 2762 2763 2764 2765
    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}"
2766 2767
fi

2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780
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
2781
dnl
2782
dnl  Plugin and builtin checks
Sam Hocevar's avatar
 
Sam Hocevar committed
2783
dnl
2784 2785 2786 2787
builtin_support=false
plugin_support=:

dnl Support for plugins - this must be AT THE END
Sam Hocevar's avatar
 
Sam Hocevar committed
2788
AC_ARG_ENABLE(plugins,
2789
  [  --disable-plugins       make all plugins built-in (default plugins enabled)],
2790
  [if test "x${enable_plugins}" = "xno"
Sam Hocevar's avatar
 
Sam Hocevar committed
2791
   then
2792
     plugin_support=false
Sam Hocevar's avatar
 
Sam Hocevar committed
2793 2794
   fi])

2795 2796 2797
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
2798
if test "x${ac_cv_header_dlfcn_h}" = "xno" -a "x${ac_cv_header_image_h}" = "xno" -a "x${SYS}" != "xmingw32"
2799
then
2800 2801 2802 2803 2804 2805 2806 2807 2808 2809
  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
2810
    eval "${plugin}_plugin=yes"
2811 2812
  done
else
2813 2814 2815
  BUILTINS="${BUILTINS} ${PLUGINS}"
  PLUGINS=
fi
2816 2817 2818 2819 2820 2821 2822
AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})

[if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1
then
  builtin_support=:
  for builtin in `echo ${BUILTINS}`
  do
2823
    eval "${builtin}_builtin=yes"
2824 2825 2826 2827 2828 2829
  done
fi]
AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support})

dnl do not touch this line (bootstrap needs it)

2830

Sam Hocevar's avatar
 
Sam Hocevar committed
2831 2832 2833
dnl
dnl  Stuff used by the program
dnl
Sam Hocevar's avatar
Sam Hocevar committed
2834
AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
2835
AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2003 VideoLAN", [Copyright string])
2836
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
Sam Hocevar's avatar
 
Sam Hocevar committed
2837

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

2843
DATA_PATH="${ac_tool_prefix}/share/vlc"
Sam Hocevar's avatar
 
Sam Hocevar committed
2844
AC_SUBST(DATA_PATH)
2845
PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
Sam Hocevar's avatar
 
Sam Hocevar committed
2846 2847
AC_SUBST(PLUGIN_PATH)

Sam Hocevar's avatar
Sam Hocevar committed
2848 2849 2850
dnl
dnl  Restore *FLAGS
dnl
2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861
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
2862

2863 2864 2865
dnl
dnl  Create the vlc-config script
dnl
2866 2867
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
2868

2869
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
2870 2871
dnl  Configuration is finished
dnl
2872 2873
AC_SUBST(SYS)
AC_SUBST(ARCH)
2874
AC_SUBST(PLUGINS)
Sam Hocevar's avatar
 
Sam Hocevar committed
2875
AC_SUBST(BUILTINS)
2876
AC_SUBST(ALIASES)
Sam Hocevar's avatar
 
Sam Hocevar committed
2877
AC_SUBST(ASM)
Sam Hocevar's avatar
 
Sam Hocevar committed
2878
AC_SUBST(MOC)
Sam Hocevar's avatar
 
Sam Hocevar committed
2879
AC_SUBST(WINDRES)
2880 2881
AC_SUBST(XPIDL)
AC_SUBST(LIBEXT)
2882
AC_SUBST(INCLUDES)
Gildas Bazin's avatar
 
Gildas Bazin committed
2883
AC_SUBST(ALL_LINGUAS)
Sam Hocevar's avatar
 
Sam Hocevar committed
2884

2885
AC_SUBST(CFLAGS_TUNING)
Sam Hocevar's avatar
 
Sam Hocevar committed
2886 2887
AC_SUBST(CFLAGS_OPTIM)
AC_SUBST(CFLAGS_OPTIM_NODEBUG)
2888
AC_SUBST(CFLAGS_NOOPTIM)
Sam Hocevar's avatar
 
Sam Hocevar committed
2889
AC_SUBST(LDFLAGS)
Sam Hocevar's avatar
 
Sam Hocevar committed
2890

2891 2892
AC_SUBST(CFLAGS_vlc)
AC_SUBST(CFLAGS_pics)
Gildas Bazin's avatar
 
Gildas Bazin committed
2893
AC_SUBST(CXXFLAGS_pics)
2894
AC_SUBST(CFLAGS_plugins)
Gildas Bazin's avatar
 
Gildas Bazin committed
2895
AC_SUBST(CXXFLAGS_plugins)
2896 2897 2898 2899 2900 2901 2902 2903 2904
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)

2905 2906
AC_OUTPUT([
  Makefile
2907 2908
  debian/Makefile
  doc/Makefile
2909
  intl/Makefile
2910 2911 2912 2913
  ipkg/Makefile
  lib/Makefile
  m4/Makefile
  modules/Makefile
2914
  po/Makefile.in
2915 2916
  share/Makefile
  src/Makefile
2917 2918 2919 2920
  vlc-config
],[
  chmod a+x vlc-config
])
2921

2922
printf "
Sam Hocevar's avatar
 
Sam Hocevar committed
2923
vlc configuration
Sam Hocevar's avatar
 
Sam Hocevar committed
2924
--------------------
Sam Hocevar's avatar
 
Sam Hocevar committed
2925
vlc version           : ${VERSION}
Sam Hocevar's avatar
 
Sam Hocevar committed
2926 2927
system                : ${SYS}
architecture          : ${ARCH}
2928 2929 2930 2931 2932 2933 2934
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
2935
vlc aliases           :${ALIASES}
Sam Hocevar's avatar
 
Sam Hocevar committed
2936

2937
To build vlc and its plugins, type \`make'.
Sam Hocevar's avatar
 
Sam Hocevar committed
2938
"
2939