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

Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
3
AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
4

5
AC_INIT(vlc, 1.2.0-git)
6 7 8 9 10 11
VERSION_MAJOR=1
VERSION_MINOR=2
VERSION_REVISION=0
VERSION_EXTRA=0
VERSION_DEV=git

12 13
PKGDIR="vlc"
AC_SUBST(PKGDIR)
14

15
CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
16
CODENAME="Twoflower"
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
17
COPYRIGHT_YEARS="1996-2011"
18

19
AC_CONFIG_SRCDIR(src/libvlc.c)
20
AC_CONFIG_AUX_DIR(autotools)
21
AC_CONFIG_MACRO_DIR(m4)
22
AC_CONFIG_LIBOBJ_DIR(compat)
23
AC_CANONICAL_BUILD
24
AC_CANONICAL_HOST
25
AC_PRESERVE_HELP_ORDER
26

27
AM_INIT_AUTOMAKE(tar-ustar color-tests)
28 29
AM_CONFIG_HEADER(config.h)

Pierre's avatar
Pierre committed
30
# Disable with "./configure --disable-silent-rules" or "make V=1"
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
31
AM_SILENT_RULES([yes])
Pierre's avatar
Pierre committed
32

33 34 35 36 37 38
dnl Too many people are not aware of maintainer mode:
dnl If you want to use it, you definitely know what you are doing, so
dnl you can specify "--disable-maintainer-mode". But if you want the default
dnl automake behavior, you've likely never heard of maintainer mode, so we
dnl can't expect you to enable it manually.
AS_IF([test "x${enable_maintainer_mode}" != "xno"],
39
    [enable_maintainer_mode="yes"])
40 41
AM_MAINTAINER_MODE

42 43 44 45 46 47 48 49 50 51
dnl
dnl Directories
dnl
dnl vlcincludedir="\${includedir}/\${PKGDIR}"
dnl AC_SUBST(vlcincludedir)
vlcdatadir="\${datadir}/\${PKGDIR}"
AC_SUBST(vlcdatadir)
vlclibdir="\${libdir}/\${PKGDIR}"
AC_SUBST(vlclibdir)

Sam Hocevar's avatar
Sam Hocevar committed
52 53 54
dnl
dnl  Save *FLAGS
dnl
Sam Hocevar's avatar
Sam Hocevar committed
55
VLC_SAVE_FLAGS
Sam Hocevar's avatar
 
Sam Hocevar committed
56

Sam Hocevar's avatar
Sam Hocevar committed
57
dnl
58
dnl Check for tools
Sam Hocevar's avatar
Sam Hocevar committed
59
dnl
60
AC_PROG_CC_C99
61
AC_USE_SYSTEM_EXTENSIONS
62 63 64 65 66
AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to 2 to get glibc warnings.])
AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.])
AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.])
AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.])
AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
67

68 69
AM_PROG_CC_C_O
AC_PROG_CXX
70
AC_PROG_CPP
71 72 73
AC_PROG_OBJC
_AM_DEPENDENCIES([OBJC])
AC_PROG_EGREP
74 75
AC_PROG_MAKE_SET
AC_PROG_INSTALL
76
AM_PROG_AS
77

Gildas Bazin's avatar
 
Gildas Bazin committed
78 79
dnl Find the right ranlib, even when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, :)
Sam Hocevar's avatar
 
Sam Hocevar committed
80
AC_CHECK_TOOL(STRIP, strip, :)
Jean-Paul Saman's avatar
Jean-Paul Saman committed
81 82
AC_CHECK_TOOL(AR, ar, :)
AC_CHECK_TOOL(LD, ld, :)
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
83
AC_CHECK_TOOL(DLLTOOL, dlltool, :)
Gildas Bazin's avatar
 
Gildas Bazin committed
84

85 86 87
dnl Check for compiler properties
AC_C_CONST
AC_C_INLINE
88
AC_C_RESTRICT
89

90 91 92
dnl Extend the --help string at the current spot.
AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])

93
dnl Allow binary package maintainer to pass a custom string to avoid
94
dnl cache problem
95
AC_ARG_WITH(binary-version,
96 97
    AS_HELP_STRING([--with-binary-version=STRING],
         [To avoid plugins cache problem between binary version]),[],[])
98
AS_IF([test -n "${with_binary_version}"],[
99 100 101
    AC_DEFINE_UNQUOTED([DISTRO_VERSION],["${with_binary_version}"],
         [Binary specific version])
])
102

103 104 105
dnl
dnl  Check for the contrib directory
dnl
106
AC_ARG_WITH(contrib,
107 108 109 110 111
  [AS_HELP_STRING([--with-contrib[=DIR]],
    [search for 3rd party libraries in DIR/include and DIR/lib])
])
AC_MSG_CHECKING([for 3rd party libraries path])
AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
112
  CONTRIB_DIR="${srcdir}/contrib/${host}"
113 114
  AS_IF([test ! -d "${CONTRIB_DIR}"], [
    echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
115
    CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
    AS_IF([test ! -d "${CONTRIB_DIR}"], [
      echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
      CONTRIB_DIR="${srcdir}/extras/contrib/hosts/${host}"
      AS_IF([test ! -d "${CONTRIB_DIR}"], [
        echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
        CONTRIB_DIR="${srcdir}/extras/contrib/hosts/`$CC -dumpmachine`"
        AS_IF([test ! -d "${CONTRIB_DIR}"], [
          echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
          CONTRIB_DIR=""
          AC_MSG_RESULT([not found])
        ])
      ])
    ])
  ])
], [
  AS_IF([test "${with_contrib}" != "no"], [
    CONTRIB_DIR="${with_contrib}"
  ], [
    CONTRIB_DIR=""
    AC_MSG_RESULT([disabled])
136
  ])
137 138
])
AS_IF([test -n "${CONTRIB_DIR}"], [
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
139
  AS_IF([test -d "${CONTRIB_DIR}/lib"],[
140 141 142
    CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
  ], [
    echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
143
    CONTRIB_DIR=""
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
    AC_MSG_RESULT([not usable])
  ])

])
AS_IF([test -n "${CONTRIB_DIR}"], [
  AC_MSG_RESULT([${CONTRIB_DIR}])
  export PATH=${CONTRIB_DIR}/bin:$PATH
  CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
  CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
  CFLAGS="${CFLAGS} -I${CONTRIB_DIR}/include"
  CFLAGS_save="${CFLAGS_save} -I${CONTRIB_DIR}/include"
  CXXFLAGS="${CXXFLAGS} -I${CONTRIB_DIR}/include"
  CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include"
  OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
  OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include"
  AS_IF([test "$build" = "$host" -o "$PKG_CONFIG_LIBDIR"], [
    export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH"
  ], [
    export PKG_CONFIG_LIBDIR="${CONTRIB_DIR}/lib/pkgconfig"
  ])
  LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
  LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib"

  AS_IF([test "${SYS}" = "darwin"], [
    export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
    export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
  ])
], [
  AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
    AC_MSG_ERROR([Third party libraries not found!])
174
  ])
175
])
176
AC_SUBST(CONTRIB_DIR)
177

Sam Hocevar's avatar
Sam Hocevar committed
178
dnl
179
dnl  Set default values
Sam Hocevar's avatar
Sam Hocevar committed
180
dnl
181
LDFLAGS_vlc="${LDFLAGS}"
182
SOCKET_LIBS=""
Sam Hocevar's avatar
Sam Hocevar committed
183

Gildas Bazin's avatar
 
Gildas Bazin committed
184 185 186
dnl
dnl  Check the operating system
dnl
187
HAVE_WIN64="0"
188
case "${host_os}" in
Sam Hocevar's avatar
Sam Hocevar committed
189
  "")
190 191
    SYS=unknown
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
192
  linux*)
193 194
    SYS=linux
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
195
  bsdi*)
196 197
    SYS=bsdi
    CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
198
    VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd])
199
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
200
  *bsd*)
201
    SYS="${host_os}"
202
    CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
203
    case "${host_os}" in
204 205
      freebsd*)
        CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
206
        CPPFLAGS="${CPPFLAGS_save}"
207
        LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib"
Derk-Jan Hartman's avatar
Derk-Jan Hartman committed
208
        LDFLAGS="${LDFLAGS_save}"
209
        ;;
210 211 212 213 214 215
      openbsd*)
        CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include -I/usr/X11R6/include"
        CPPFLAGS="${CPPFLAGS_save}"
        LDFLAGS_save="${LDFLAGS_save} -L/usr/local/lib -L/usr/X11R6/lib/"
        LDFLAGS="${LDFLAGS_save}"
        ;;
216
    esac
217
    ;;
218
  darwin*)
219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236

    dnl Force gcc "-arch" flag
    ARCH_flag=""
    case "${host}" in
      i386*)
        ARCH_flag="-arch i386"
      ;;
      ppc64*)
        ARCH_flag="-arch ppc64"
      ;;
      ppc*)
        ARCH_flag="-arch ppc"
      ;;
      x86_64*)
        ARCH_flag="-arch x86_64"
      ;;
    esac

237
    SYS=darwin
238 239 240 241 242
    CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CFLAGS="${CFLAGS_save}"
    CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS ${ARCH_flag}"; CXXFLAGS="${CXXFLAGS_save}"
    CPPFLAGS_save="${CPPFLAGS_save} ${ARCH_flag}"; CPPFLAGS="${CPPFLAGS_save}"
    OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"; OBJCFLAGS="${OBJCFLAGS_save}"
    LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names ${ARCH_flag}"; LDFLAGS="${LDFLAGS_save}"
243
    VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
244 245
    VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
    VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
246
    VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
247
    VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
248
    AC_ARG_ENABLE(macosx-defaults,
249
      AS_HELP_STRING([--enable-macosx-defaults],[Build the default configuration on Mac OS X (default enabled)]))
250 251 252 253
    if test "x${enable_macosx_defaults}" != "xno"
    then
        echo ""
        echo "Building with Mac OS X defaults:"
254 255 256
        build_dir=`pwd`
        echo "  Assuming --prefix=${build_dir}/vlc_install_dir"
        ac_default_prefix="${build_dir}/vlc_install_dir"
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
        enable_faad="yes"
        echo "  Assuming --enable-faad"
        enable_flac="yes"
        echo "  Assuming --enable-flac"
        enable_theora="yes"
        echo "  Assuming --enable-theora"
        enable_shout="yes"
        echo "  Assuming --enable-shout"
        enable_vcdx="yes"
        echo "  Assuming --enable-vcdx"
        enable_caca="yes"
        echo "  Assuming --enable-caca"
        enable_ncurses="yes"
        echo "  Assuming --enable-ncurses"
        enable_twolame="yes"
        echo "  Assuming --enable-twolame"
        enable_realrtsp="yes"
        echo "  Assuming --enable-realrtsp"
275 276
        enable_libass="yes"
        echo "  Assuming --enable-libass"
277 278 279

        enable_skins2="no"
        echo "  Assuming --disable-skins2"
280 281
        enable_xcb="no"
        echo "  Assuming --disable-xcb"
282
    fi
283 284 285 286
    dnl
    dnl  Check for Mac OS X SDK settings
    dnl
    AC_ARG_WITH(macosx-sdk,
287 288
      [AS_HELP_STRING([--with-macosx-sdk=DIR],
        [compile using the SDK in DIR])])
289
    if test "${with_macosx_sdk}" != "" ; then
290 291
        CPP="${CPP} -isysroot ${with_macosx_sdk}"
        CC="${CC} -isysroot ${with_macosx_sdk}"
292 293 294
        CXX="${CXX} -isysroot ${with_macosx_sdk}"
        OBJC="${OBJC} -isysroot ${with_macosx_sdk}"
        LD="${LD} -syslibroot ${with_macosx_sdk}"
295 296 297 298 299 300 301 302 303
    else
        echo "  No desired SDK version given, falling back to 10.5"
        CPP="${CPP} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
        CC="${CC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
        CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
        OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.5.sdk"
        LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.5.sdk"
        with_macosx_version_min="10.5"
        echo "  Assuming --with-macosx-version-min=10.5"
304 305
    fi
    AC_ARG_WITH(macosx-version-min,
306 307
      [AS_HELP_STRING([--with-macosx-version-min=VERSION],
        [compile for MacOS X VERSION and above])])
308
    if test "${with_macosx_version_min}" != "" ; then
309 310
        CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}"
        CC="${CC} -mmacosx-version-min=${with_macosx_version_min}"
311 312 313 314 315 316 317 318 319
        CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}"
        OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}"
        LD="${LD} -macosx_version_min=${with_macosx_version_min}"
        CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}"
        CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}"
        OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}"
        MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}
        export MACOSX_DEPLOYMENT_TARGET
    fi
320
    ;;
321
  *mingw32* | *cygwin* | *wince* | *mingwce*)
322
    AC_CHECK_TOOL(WINDRES, windres, :)
323
    AC_CHECK_TOOL(OBJCOPY, objcopy, :)
324
    AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
325
    AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.])
Gildas Bazin's avatar
 
Gildas Bazin committed
326

327
    case "${host_os}" in
328
      *wince* | *mingwce* | *mingw32ce*)
Sam Hocevar's avatar
Sam Hocevar committed
329
        SYS=mingwce
330
        dnl Sadly CeGCC still needs non-wince macros
Sam Hocevar's avatar
Sam Hocevar committed
331
        ;;
Sam Hocevar's avatar
Sam Hocevar committed
332
      *mingw32*)
Gildas Bazin's avatar
 
Gildas Bazin committed
333 334
        SYS=mingw32
        ;;
Sam Hocevar's avatar
Sam Hocevar committed
335
      *cygwin*)
Gildas Bazin's avatar
 
Gildas Bazin committed
336 337 338 339 340 341
        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],
342
            SYS=mingw32, AC_MSG_ERROR([VLC requires -mno-cygwin]))
Gildas Bazin's avatar
 
Gildas Bazin committed
343 344 345
        ;;
    esac

Sam Hocevar's avatar
Sam Hocevar committed
346
    if test "${SYS}" = "mingw32"; then
347
        # add ws2_32 for closesocket, select, recv
348
        VLC_ADD_LIBS([libvlccore],[-lws2_32 -lnetapi32 -lwinmm])
349
        VLC_ADD_LDFLAGS([vlc],[-mwindows])
Rafaël Carré's avatar
Rafaël Carré committed
350
        VLC_ADD_LIBS([win32text],[-lgdi32])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
351
        VLC_ADD_LIBS([cdda vcdx sdl_image vout_sdl],[-lwinmm])
352 353
        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout access_output_rtmp sap stream_out_standard stream_out_select stream_out_rtp stream_out_raop vod_rtsp access_realrtsp oldrc netsync gnutls growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[-lws2_32])
        SOCKET_LIBS="-lws2_32"
354 355 356
        dnl
        dnl DEP and ASLR options
        dnl
357 358 359 360
        AC_ARG_WITH(peflags,
          [AS_HELP_STRING([--with-peflags],
            [use peflags (default enabled on Windows)])])
        if test "${with_peflags}" != "no" ; then
361
          AC_PATH_TOOL(PEFLAGS, peflags, :)
362
        fi
363
        AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
364 365
        ac_default_prefix="`pwd`/_win32"
        DESTDIR="`pwd`/_win32/"
366 367

        dnl
368
        dnl NSIS Installer prefix and WIN64
369 370 371
        dnl
        case "${host}" in
            amd64*|i686-w64*|x86_64*)
372
                HAVE_WIN64="1"
373 374 375 376 377 378 379 380
                PROGRAMFILES="PROGRAMFILES64"
            ;;
            *)
                PROGRAMFILES="PROGRAMFILES"
            ;;
        esac
        AC_SUBST(PROGRAMFILES)

Gildas Bazin's avatar
 
Gildas Bazin committed
381
    fi
382 383
    if test "${SYS}" = "mingwce"; then
        # add ws2 for closesocket, select, recv
384 385
        VLC_ADD_LIBS([libvlccore access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_rtmp sap netsync audioscrobbler growl stream_out_standard stream_out_select stream_out_rtp remoteosd ts audiobargraph_a netsync],[-lws2])
        SOCKET_LIBS="-lws2"
386
        VLC_ADD_LIBS([libvlccore],[-lmmtimer])
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
387
        AC_CHECK_PROGS(U2D, [unix2dos todos], unix2dos)
388 389
        ac_default_prefix="`pwd`/_wince"
        DESTDIR="`pwd`/_wince/"
390
    fi
391
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
392
  *nto*)
393 394
    SYS=nto
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
395
  solaris*)
396 397
    SYS=solaris
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
398
  hpux*)
399 400
    SYS=hpux
    ;;
401 402 403
  symbian*)
    SYS=symbian
    ;;
KO Myung-Hun's avatar
KO Myung-Hun committed
404 405 406 407
  *os2*)
    SYS=os2
    LDFLAGS_save="${LDFLAGS_save} -Zomf -Zbin-files -Zargs-wild"; LDFLAGS="${LDFLAGS_save}"
    ;;
Sam Hocevar's avatar
Sam Hocevar committed
408
  *)
409
    SYS="${host_os}"
410
    ;;
Gildas Bazin's avatar
 
Gildas Bazin committed
411
esac
Rémi Duraffort's avatar
Rémi Duraffort committed
412 413 414 415 416 417
AM_CONDITIONAL(HAVE_DARWIN,  test "${SYS}" = "darwin")
AM_CONDITIONAL(HAVE_LINUX,   test "${SYS}" = "linux")
AM_CONDITIONAL(HAVE_OS2,     test "${SYS}" = "os2")
AM_CONDITIONAL(HAVE_WIN32,   test "${SYS}" = "mingw32")
AM_CONDITIONAL(HAVE_WIN64,   test "${HAVE_WIN64}" = "1")
AM_CONDITIONAL(HAVE_WINCE,   test "${SYS}" = "mingwce")
418
AM_CONDITIONAL(HAVE_SYMBIAN, test "${SYS}" = "symbian")
419
AM_CONDITIONAL(USE_PEFLAGS,  test "${with_peflags}" = "yes")
420

421
dnl
422
dnl Sadly autoconf doesn't think about testing foo.exe when ask to test
423 424 425 426 427
dnl for program foo on win32

case "${build_os}" in
    cygwin|msys)
        ac_executable_extensions=".exe"
428
    ;;
429
    *)
430
    ;;
431 432
esac

433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
dnl Android is linux, but a bit different
AS_IF([test "$SYS" = linux],[
    AC_MSG_CHECKING([for an Android system])
    AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
        [[#ifndef __ANDROID__
         # error Not Android
         #endif
        ]],[[;]])
    ],[
      HAVE_ANDROID="1"
      AC_MSG_RESULT([yes])
    ],[
      AC_MSG_RESULT([no])
    ])
])
AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")

450
dnl
451 452 453 454
dnl  Libtool
dnl  It's very bad, but our former custom system was worst
dnl  -- Courmisch
dnl
455 456 457 458

dnl override platform specific check for dependent libraries
dnl otherwise libtool linking of shared libraries will
dnl fail on anything other than pass_all.
Damien Fouilleul's avatar
Damien Fouilleul committed
459 460
AC_CACHE_VAL(lt_cv_deplibs_check_method,
    [lt_cv_deplibs_check_method=pass_all])
461

462
AC_DISABLE_STATIC
463
dnl AC_DISABLE_FAST_INSTALL
464
AC_LIBTOOL_DLOPEN
465
AC_LIBTOOL_WIN32_DLL
466 467
m4_undefine([AC_PROG_F77])
m4_defun([AC_PROG_F77],[])
468 469
AC_PROG_LIBTOOL

470 471 472 473 474
m4_undefine([AC_DEPLIBS_CHECK_METHOD])
m4_defun([AC_DEPLIBS_CHECK_METHOD],[])

lt_cv_deplibs_check_method=pass_all

475 476 477 478
AS_IF([test "${enable_shared}" = "no"], [
  AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
])

479 480 481
dnl
dnl Gettext stuff
dnl
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
482
AM_GNU_GETTEXT_VERSION([0.18.1])
483
AM_GNU_GETTEXT([external])
484
VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
485

486 487 488
dnl
dnl Iconv stuff
dnl
489
AM_ICONV
490 491
VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
492

493
dnl Check for broken versions of mingw-runtime compatability library
494
AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
495
    AC_MSG_CHECKING(for broken mingw-runtime)
496
    AC_PREPROC_IFELSE([AC_LANG_SOURCE([
497
#include <_mingw.h>
498
#if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
499
#ifndef __MINGW64_VERSION_MAJOR
500
# error Attempting to use mingw-runtime with broken vsnprintf support
501
#endif
502
#endif
503
    ])], [
504
        AC_MSG_RESULT([ok])
505
    ], [
506
        AC_MSG_RESULT([present])
507
        AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
508
    ])
509 510 511
    dnl force use of mingw provided c99 *printf over msvcrt
    CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
    CPPFLAGS_save="${CPPFLAGS_save} -D__USE_MINGW_ANSI_STDIO=1"
512
])
513

Gildas Bazin's avatar
 
Gildas Bazin committed
514
dnl Check for the need to include the mingwex lib for mingw32
515
if test "${SYS}" = "mingw32" ; then
Gildas Bazin's avatar
 
Gildas Bazin committed
516
    AC_CHECK_LIB(mingwex,opendir,
517
        AC_CHECK_LIB(mingw32,opendir,,
518
            [VLC_ADD_LIBS([libvlccore],[-lmingwex])])
Gildas Bazin's avatar
 
Gildas Bazin committed
519 520 521
    )
fi

Gildas Bazin's avatar
 
Gildas Bazin committed
522
dnl Check for fnative-struct or mms-bitfields support for mingw32
523
if test "${SYS}" = "mingw32" ; then
Gildas Bazin's avatar
 
Gildas Bazin committed
524 525 526 527
    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)])
Sam Hocevar's avatar
Sam Hocevar committed
528
    if test "${ac_cv_c_mms_bitfields}" != "no"; then
529 530
        CFLAGS_save="${CFLAGS_save} -mms-bitfields";
        CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
Gildas Bazin's avatar
 
Gildas Bazin committed
531
    else
532 533 534 535
        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)])
Sam Hocevar's avatar
Sam Hocevar committed
536
        if test "${ac_cv_c_fnative_struct}" != "no"; then
537 538 539
            CFLAGS_save="${CFLAGS_save} -fnative-struct";
            CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
        fi
Gildas Bazin's avatar
 
Gildas Bazin committed
540 541
    fi

Gildas Bazin's avatar
 
Gildas Bazin committed
542 543 544
    CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
fi

545 546
dnl
dnl Buggy glibc prevention. Purposedly not cached.
547
dnl See sourceware.org bugs 5058 and 5443.
548 549 550
dnl Ubuntu alone has 20 bug numbers for this...
dnl
AC_MSG_CHECKING(for buggy GNU/libc versions)
551
AC_PREPROC_IFELSE([AC_LANG_SOURCE([
552 553 554 555 556
#include <limits.h>
#if defined (__GLIBC__) && (__GLIBC__ == 2) \
  && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
# error GNU/libc with dcgettext killer bug!
#endif
557
])], [
558 559 560
  AC_MSG_RESULT([not present])
], [
  AC_MSG_RESULT([found])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
561
  AS_IF([test "x${enable_nls}" != "xno"], [
562 563
    AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
work-around for this. Check with your distribution vendor on how to update the
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
564
glibc run-time. Alternatively, build with --disable-nls.])
565 566
  ], [
    AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
567
  ])
568 569
])

Sam Hocevar's avatar
Sam Hocevar committed
570 571 572 573
dnl Plugin compilation stuff

VLC_LIBRARY_SUFFIX

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

577
dnl Check for system libs needed
578
need_libc=false
579

580
dnl Check for usual libc functions
581
AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
582
AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
583
AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
584 585 586
AC_CHECK_FUNCS(fdatasync,,
  [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
])
Sam Hocevar's avatar
 
Sam Hocevar committed
587

588 589 590
# Windows CE doesn't have strcoll()
AC_FUNC_STRCOLL

591
dnl Check for non-standard system calls
592
AC_CHECK_FUNCS([accept4 pipe2 eventfd vmsplice sched_getaffinity])
593

594 595
AH_BOTTOM([#include <vlc_fixups.h>])

596
AC_CHECK_FUNCS(connect,,[
Sam Hocevar's avatar
Sam Hocevar committed
597
  AC_CHECK_LIB(socket,connect,[
598
    VLC_ADD_LIBS([libvlccore cdda access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp access_output_rtmp stream_out_standard growl_udp remoteosd netsync],[-lsocket])
599
    SOCKET_LIBS="-lsocket"
Sam Hocevar's avatar
Sam Hocevar committed
600 601
  ])
])
602
AC_SUBST(SOCKET_LIBS)
603

604

605
dnl Check for socklen_t
606 607 608 609
AH_TEMPLATE(socklen_t, [Define to `int' if <sys/socket.h> does not define.])
AC_CACHE_CHECK([for socklen_t in sys/socket.h],
ac_cv_type_socklen_t,
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
610 611
[#include <sys/types.h>
#ifdef WIN32
612
# include <winsock2.h>
613
# include <ws2tcpip.h>
614 615
#else
# include <sys/socket.h>
616 617 618 619 620
#endif]], [[socklen_t len; len = 0;]])],
ac_cv_type_socklen_t=yes,
ac_cv_type_socklen_t=no)])
AS_IF([test "$ac_cv_type_socklen_t" = no],
 [AC_DEFINE(socklen_t, int)])
621

622 623 624 625 626 627 628
dnl Check for struct sockaddr_storage
AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if <sys/socket.h> does not define.])
AH_TEMPLATE(ss_family, [Define to `sa_family' if <sys/socket.h> does not define.])
AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
  [AC_TRY_COMPILE(
    [#include <sys/types.h>
     #if defined( UNDER_CE )
629
     # include <winsock2.h>
630 631 632 633 634 635 636
     #elif defined( WIN32 )
     # include <winsock2.h>
     #else
     # include <sys/socket.h>
     #endif], [struct sockaddr_storage addr;],
     ac_cv_struct_sockaddr_storage=yes,
     ac_cv_struct_sockaddr_storage=no)])
637
AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [
638 639
  AC_DEFINE(sockaddr_storage, sockaddr)
  AC_DEFINE(ss_family, sa_family)
640
])
641

642
dnl getaddrinfo, getnameinfo and gai_strerror check
643
dnl  -lnsl and -lsocket are needed on Solaris;
644
dnl  we purposedly make the test fail on Windows
645
LIBS_save="${LIBS}"
646
AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}])
647 648
LIBS="${LIBS_save}"

649
AC_CHECK_FUNCS(inet_aton,,[
Sam Hocevar's avatar
Sam Hocevar committed
650
  AC_CHECK_LIB(resolv,inet_aton,[
651
    VLC_ADD_LIBS([libvlccore],[-lresolv])
Sam Hocevar's avatar
Sam Hocevar committed
652
  ])
653
])
Sam Hocevar's avatar
 
Sam Hocevar committed
654

655 656 657 658 659 660 661 662
dnl FreeBSD has a gnugetopt library for this:
GNUGETOPT_LIBS=""
AC_CHECK_FUNC(getopt_long,, [
  AC_CHECK_LIB([gnugetopt],[getopt_long], [
    GNUGETOPT_LIBS="-lgnugetopt"
  ])
])
AC_SUBST(GNUGETOPT_LIBS)
Sam Hocevar's avatar
 
Sam Hocevar committed
663

Sam Hocevar's avatar
Sam Hocevar committed
664
AC_CHECK_LIB(m,cos,[
665
  VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate libvlccore freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm])
666 667 668
  LIBM="-lm"
], [
  LIBM=""
669
])
670
AC_SUBST(LIBM)
Sam Hocevar's avatar
 
Sam Hocevar committed
671

672 673 674 675 676
AC_CHECK_LIB(m,lrintf, [
  AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
  VLC_ADD_LIBS([skins2],[-lm])
])

Sam Hocevar's avatar
Sam Hocevar committed
677 678 679 680 681
dnl Check for dynamic plugins
ac_cv_have_plugins=no

# Win32 style
if test "${ac_cv_have_plugins}" = "no"; then
682
  if test "${SYS}" = "mingw32" ; then
683
    AC_CHECK_LIB(kernel32, main,
684
     [VLC_ADD_LIBS([libvlccore],[-lkernel32])
685 686
      ac_cv_have_plugins=yes])
  fi
Sam Hocevar's avatar
Sam Hocevar committed
687 688
fi

689 690 691 692 693 694 695
# WinCE style
if test "${ac_cv_have_plugins}" = "no"; then
  if test "${SYS}" = "mingwce"; then
    ac_cv_have_plugins=yes
  fi
fi

696
# Only test for dlopen() if the others didn't work
697
LIBDL=""
698
if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
Sam Hocevar's avatar
Sam Hocevar committed
699 700
  AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
  ac_cv_my_have_dlopen=no
701 702 703 704
  AC_CHECK_FUNC(dlopen, [
    ac_cv_my_have_dlopen=yes
  ], [
    AC_CHECK_LIB(dl, dlopen, [
Sam Hocevar's avatar
Sam Hocevar committed
705
      ac_cv_my_have_dlopen=yes
706 707 708
      LIBDL="-ldl"
    ], [
      AC_CHECK_LIB(svld, dlopen, [
Sam Hocevar's avatar
Sam Hocevar committed
709
        ac_cv_my_have_dlopen=yes
710 711 712 713
        LIBDL="-lsvld"
      ])
    ])
  ])
Sam Hocevar's avatar
Sam Hocevar committed
714 715 716
  if test "${ac_cv_my_have_dlopen}" = "yes"; then
    AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
    ac_cv_have_plugins=yes
Rémi Denis-Courmont's avatar
typo  
Rémi Denis-Courmont committed
717
    VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
Sam Hocevar's avatar
Sam Hocevar committed
718 719
  fi
fi
720
AC_SUBST(LIBDL)
Sam Hocevar's avatar
Sam Hocevar committed
721

722
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
723 724 725 726 727 728 729 730 731 732 733 734 735 736 737
  dnl Check for pthreads - borrowed from XMMS
  THREAD_LIB=error
  if test "${THREAD_LIB}" = "error"; then
    AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
  fi
  if test "${THREAD_LIB}" = "error"; then
    AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
  fi
  if test "${THREAD_LIB}" = "error"; then
    AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
  fi
  if test "${THREAD_LIB}" = "error"; then
    AC_CHECK_FUNCS(pthread_mutex_lock)
    THREAD_LIB=""
  fi
Sam Hocevar's avatar
 
Sam Hocevar committed
738

739
  VLC_ADD_LIBS([libvlccore libvlc vlc plugin],[${THREAD_LIB}])
Gildas Bazin's avatar
 
Gildas Bazin committed
740

741 742 743
  AC_CHECK_LIB(rt, clock_nanosleep, [
    VLC_ADD_LIBS([libvlccore],[-lrt])
  ], [
744 745 746 747 748 749 750 751 752
    AC_CHECK_FUNC(nanosleep,,[
      AC_CHECK_LIB(rt,nanosleep, [
        VLC_ADD_LIBS([libvlccore],[-lrt])
      ], [
        AC_CHECK_LIB(posix4,nanosleep, [
          VLC_ADD_LIBS([libvlccore],[-lposix4])
        ])
      ])
    ])
753 754 755
    dnl HP/UX port
    AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
  ])
756
fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
Gildas Bazin's avatar
 
Gildas Bazin committed
757

Sam Hocevar's avatar
 
Sam Hocevar committed
758
dnl Check for misc headers
759
AC_MSG_CHECKING(for strncasecmp in strings.h)
Sam Hocevar's avatar
 
Sam Hocevar committed
760
AC_EGREP_HEADER(strncasecmp,strings.h,[
761
  AC_MSG_RESULT(yes)
762
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
763 764
            Define if <strings.h> defines strncasecmp.)],[
  AC_MSG_RESULT(no)])
Sam Hocevar's avatar
 
Sam Hocevar committed
765

Sam Hocevar's avatar
 
Sam Hocevar committed
766
dnl Check for headers
767
AC_CHECK_HEADERS([search.h])
768
AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h)
769
AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h)
770
AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h sys/eventfd.h])
771 772
AC_CHECK_HEADERS([net/if.h], [], [],
  [
773
    #include <sys/types.h>
774
    #include <sys/socket.h>
775
  ])
776 777 778 779
AC_CHECK_HEADERS([sys/mount.h], [], [],
  [
    #include <sys/param.h>
  ])
780

781
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
782 783 784
  AC_CHECK_HEADERS(machine/param.h sys/shm.h)
  AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h])
  AC_CHECK_HEADERS(syslog.h)
785
fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
Sam Hocevar's avatar
 
Sam Hocevar committed
786

787
dnl LP64 and LLP64 architectures had better define ssize_t by themselves...
788 789 790 791 792
AH_TEMPLATE(ssize_t, [Define to `int' if <stddef.h> does not define.])
AC_CHECK_TYPE(ssize_t,, [
  AC_DEFINE(ssize_t, int)
])

793
dnl Check for poll
794
AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])], [
795
if test ${SYS} != "mingw32" -a ${SYS} != "mingwce"
796 797 798 799
then
    AC_MSG_WARN([Your platform does not support poll(). VLC has it's own poll() implementation, but it is only intended to be used on Windows. VLC might crash or be insecure when you see this message. Either switch to an OS with a proper poll() implementation, or implement one for your OS in VLC])
fi
])
800

Sam Hocevar's avatar
 
Sam Hocevar committed
801
dnl Check for threads library
802
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
803
  AC_CHECK_HEADERS(pthread.h)
804
fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
Sam Hocevar's avatar
 
Sam Hocevar committed
805

Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
806 807 808
dnl It seems that autoconf detects pkg-config only during the first
dnl PKG_CHECK_MODULES from configure.ac - which makes sense. But in our case,
dnl it is nested within a conditional block, so it was not working right.
809
dnl Make PKG_CONFIG_PATH precious so that it appears in the help and get saved
810
AC_ARG_VAR(PKG_CONFIG_PATH,
811
       [Paths where to find .pc not at the default location])
812 813
PKG_PROG_PKG_CONFIG()

814
dnl On some OS we need static linking 
815 816 817 818 819
AS_IF([test -n "${PKG_CONFIG}" ],[
    AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
        PKG_CONFIG="${PKG_CONFIG} --static"
    ])
])
820 821


822 823
dnl
dnl Check for zlib.h and -lz along with system -lminizip if available
824
dnl
825 826 827 828
AC_CHECK_HEADERS(zlib.h, [ have_zlib=yes ], [ have_zlib=no ])
AM_CONDITIONAL(HAVE_ZLIB, [ test "${have_zlib}" = "yes" ])
if test "${have_zlib}" = "yes"
then
829
  VLC_ADD_LIBS([access_http mp4 skins2 sap mkv unzip zip],[-lz])
830 831 832 833 834 835
  PKG_CHECK_MODULES([MINIZIP], [minizip] , [ have_minizip=yes ], [
    AC_CHECK_HEADERS([unzip.h], [ 
      have_minizip=yes
      MINIZIP_LIBS="-lminizip -lz"
    ], [
      have_minizip=no
836 837
      MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
      MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
838 839 840 841 842
    ])
  ])
  VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
  VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
  VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
843
  VLC_ADD_PLUGIN([unzip zip])
844
fi
845
AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
846 847


848 849
dnl Manual switch for UTF-8
AC_ARG_ENABLE(non-utf8,
850 851
  [AS_HELP_STRING([--enable-non-utf8],
    [support legacy non-UTF-8 systems (default disabled)])],, [
852
  AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
853 854 855 856 857 858 859 860 861
    enable_non_utf8="no"
  ])
])
AS_IF([test "${enable_non_utf8}" != "no"], [
  AC_DEFINE([ASSUME_UTF8], [1],
            [Define to 1 if the operating system uses UTF-8 internally])
])


862 863
dnl Check for dbus
AC_ARG_ENABLE(dbus,
864 865
  [AS_HELP_STRING([--enable-dbus],
    [compile D-Bus message bus support (default enabled)])])
Rafaël Carré's avatar
Rafaël Carré committed
866 867
case "${SYS}" in
    linux*|*bsd*)
868
if test "${enable_dbus}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
869
then
870 871
  dnl api stable dbus
  PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0,
872
    [ AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] )
873 874
      VLC_ADD_LIBS([libvlccore],[$DBUS_LIBS])
      VLC_ADD_CFLAGS([libvlccore],[$DBUS_CFLAGS])
875
      dnl Check for dbus control interface
876 877 878
        AC_ARG_ENABLE(dbus-control,
          [AS_HELP_STRING([--disable-dbus-control],
            [D-Bus control interface (default enabled)])])
879
        if test "${enable_dbus_control}" != "no"
880
        then
881
          VLC_ADD_PLUGIN([dbus])
882
          VLC_ADD_LIBS([dbus],[$DBUS_LIBS])
883
          VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS])
884 885
        fi
      dnl Check for Telepathy
Christophe Mutricy's avatar
Christophe Mutricy committed
886 887
        AC_ARG_ENABLE(telepathy,
          AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)]))
888
        if test "${enable_telepathy}" != "no"; then
889
          VLC_ADD_PLUGIN([telepathy])
890
          VLC_ADD_LIBS([telepathy],[$DBUS_LIBS])
891
          VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS])
892 893
        fi
        dnl Power Management Inhibiter
894
        VLC_ADD_PLUGIN([inhibit])
895 896
        VLC_ADD_LIBS([inhibit],[$DBUS_LIBS])
        VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS])
897 898
    ],
    [AC_MSG_ERROR([Couldn't find DBus >= 1.0.0, install libdbus-dev ?])]
899 900
  )
fi
Rafaël Carré's avatar
Rafaël Carré committed
901 902
;;
esac
903

Sam Hocevar's avatar
 
Sam Hocevar committed
904
dnl Check for ntohl, etc.
905
AC_CACHE_CHECK([for ntohl in sys/param.h],
906 907 908
    [ac_cv_c_ntohl_sys_param_h],
    [CFLAGS="${CFLAGS_save} -Wall -Werror"
     AC_TRY_COMPILE([#include <sys/param.h>],
909
        [int meuh; ntohl(meuh);],
910
        ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
Sam Hocevar's avatar
Sam Hocevar committed
911
if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
912
    AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
913
fi
914 915 916 917 918 919

EXTEND_HELP_STRING([Optimization options:])
VLC_RESTORE_FLAGS
dnl
dnl  Compiler warnings
dnl
Sam Hocevar's avatar
 
Sam Hocevar committed
920

921
RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
Pierre's avatar
Pierre committed
922
RDC_PROG_CC_FLAGS([-pipe])
923 924 925
AC_LANG_PUSH([C++])
RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var])
AC_LANG_POP([C++])
Sam Hocevar's avatar
 
Sam Hocevar committed
926

927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951