Skip to content
Snippets Groups Projects
configure.ac 127 KiB
Newer Older
    AS_IF([test "${have_gl}" != "yes"], [
      AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.])
    ])
    VLC_ADD_PLUGIN([xcb_glx])
AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  SDL module
dnl
AC_ARG_ENABLE(sdl,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-sdl            SDL support (default enabled)])
Rafaël Carré's avatar
Rafaël Carré committed
  [  --enable-sdl-image      SDL image support (default enabled)])
if test "${enable_sdl}" != "no"
   PKG_CHECK_MODULES(SDL, [sdl >= 1.2.10], [
      # SDL on Darwin is heavily patched and can only run SDL_image
      if test "${SYS}" != "darwin"; then
        VLC_ADD_PLUGIN([vout_sdl])
      if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then
        VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11])
      fi
      VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}])
      VLC_ADD_LIBS([vout_sdl],[${SDL_LIBS}])

      # SDL_image
      AS_IF([ test "${enable_sdl_image}" != "no"],[
        PKG_CHECK_MODULES(SDL_IMAGE, [SDL_image >= 1.2.10], [
          VLC_ADD_PLUGIN([sdl_image])
          VLC_ADD_LIBS([sdl_image],[${SDL_IMAGE_LIBS}])
          VLC_ADD_CFLAGS([sdl_image], [${SDL_IMAGE_CFLAGS}])],
          [ AC_MSG_WARN([${SDL_IMAGE_PKG_ERRORS}. You should install it alongside your SDL package.])
     AC_MSG_WARN([${SDL_PKG_ERRORS}.])
Samuel Hocevar's avatar
 
Samuel Hocevar committed


dnl
dnl Mac Vout
AC_ARG_ENABLE(macosx-vout,
  [  --enable-macosx-vout    Mac OS X video output module (default enabled on Mac OS X)])
if test "x${enable_macosx_vout}" != "xno" &&
  (test "${SYS}" = "darwin" || test "${enable_macosx_vout}" = "yes")
then
  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,Cocoa])
  VLC_ADD_LIBS([vout_macosx],[-Wl,-framework,OpenGL])
  VLC_ADD_PLUGIN([vout_macosx])
fi


dnl
dnl  freetype module
dnl
AC_ARG_ENABLE(freetype,
  [  --enable-freetype       freetype support   (default auto)])
gbazin's avatar
 
gbazin committed
AC_ARG_ENABLE(fribidi,
  [  --enable-fribidi        fribidi support    (default auto)])
AC_ARG_ENABLE(fontconfig,
  [  --enable-fontconfig     fontconfig support (default auto)])

if test "${enable_freetype}" != "no"; then
   PKG_CHECK_MODULES(FREETYPE, freetype2, [
      VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
        VLC_ADD_LIBS([freetype],[-liconv -lz])
      VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
      AC_CHECK_HEADERS(Carbon/Carbon.h,
                       [VLC_ADD_LIBS([freetype],[-Wl,-framework,Carbon])])
      if test "${SYS}" != "mingw32"; then
          if test "${enable_fontconfig}" != "no"; then
            AC_CHECK_HEADERS(fontconfig/fontconfig.h, [
              VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG])
              VLC_ADD_LIBS([freetype],[-lfontconfig])
            ],[AC_MSG_WARN([library fontconfig not found. Styles will be disabled in freetype])])
          fi
      else
          VLC_ADD_LIBS([freetype],[-lgdi32])
      if test "${enable_fribidi}" != "no"; then
        PKG_CHECK_MODULES(FRIBIDI, fribidi, [
          VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI])
          VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}])
        ],[AC_MSG_WARN([${FRIBIDI_PKG_ERRORS}. Bidirectional support will be disabled in FreeType.])])
  AS_IF([test -n "${enable_freetype}"],[
    AC_MSG_ERROR([${FREETYPE_PKG_ERRORS}. Install FreeType2 development or configure with --disable-freetype.])
gbazin's avatar
gbazin committed
dnl
dnl  QuartzText vout module (iOS/Mac OS)
gbazin's avatar
gbazin committed
dnl
AC_ARG_ENABLE(macosx-quartztext,
  [  --enable-macosx-quartztext   Mac OS X quartz text module (default enabled on Mac OS X)])
if test "x${enable_macosx_quartztext}" != "xno" &&
  (test "${SYS}" = "darwin" || test "${enable_macosx_quartztext}" = "yes")
then
  VLC_ADD_PLUGIN([quartztext])
  VLC_ADD_LIBS([quartztext],[-Wl,-framework,ApplicationServices])
fi
PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
dnl
dnl  android surface module
dnl
AC_ARG_ENABLE(android-surface,
  [  --enable-android-surface   Android Surface video output module (default disabled)])
if test "${enable_android_surface}" = "yes"; then
  if test "${HAVE_ANDROID}" = "1"; then
     VLC_ADD_PLUGIN([android_surface])
     VLC_ADD_LDFLAGS([android_surface], [-ldl])
  fi
fi


dnl
dnl  iOS vout module
dnl
AC_ARG_ENABLE(ios-vout,
  [  --enable-ios-vout    iOS video output module (default disabled)])
if test "${enable_ios_vout}" = "yes"
then
  VLC_ADD_PLUGIN([vout_ios])
Pierre's avatar
Pierre committed
  VLC_ADD_CFLAGS([vout_ios], [-DUSE_OPENGL_ES=1])
  VLC_ADD_LIBS([vout_ios], [-Wl,-framework,OpenGLES,-framework,QuartzCore,-framework,UIKit,-framework,Foundation])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Windows DirectX module
dnl
if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"
  VLC_ADD_PLUGIN([panoramix])
AC_ARG_ENABLE(directx,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
if test "${enable_directx}" != "no"; then
  if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then
      dnl DDraw
gbazin's avatar
 
gbazin committed
      AC_CHECK_HEADERS(ddraw.h,
      [ VLC_ADD_PLUGIN([directx aout_directx])
        VLC_ADD_LIBS([directx],[-luser32 -lgdi32])
      ],[AC_MSG_ERROR([Cannot find DirectX headers!])]
      )
      AC_CHECK_HEADERS(GL/wglew.h,
      [ VLC_ADD_PLUGIN([glwin32])
        VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
        #include <windows.h>
      AC_CHECK_HEADERS(d3d9.h,
      [ VLC_ADD_PLUGIN([direct3d])
        VLC_ADD_LIBS([direct3d],[-lgdi32])
      VLC_ADD_LIBS([direct3d directx glwin32],[-lole32 -luuid])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  Windows Direct2D plugin
dnl
AC_ARG_ENABLE(direct2d,
  [  --enable-direct2d       Win7/VistaPU Direct2D support (default auto on Win32)],, [
  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
    enable_direct2d="no"
  ])
])
AS_IF([test "${enable_direct2d}" != "no"], [
  AC_CHECK_HEADERS(d2d1.h, [
    VLC_ADD_PLUGIN([direct2d])
    VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid])
  ], [
    AC_MSG_WARN([Cannot find Direct2D headers!])
  ])
])
dnl
dnl  win32 GDI plugin
dnl
AC_ARG_ENABLE(wingdi,
  [  --enable-wingdi         Win32 GDI module (default enabled on Win32)])
if test "${enable_wingdi}" != "no"; then
  if test "${SYS}" = "mingw32"; then
    VLC_ADD_PLUGIN([wingdi])
    VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid])
  fi
  if test "${SYS}" = "mingwce"; then
    VLC_ADD_PLUGIN([wingdi wingapi])
    VLC_ADD_LIBS([wingdi],[-laygshell])
    VLC_ADD_LIBS([wingapi],[-laygshell])
  fi
fi


gbazin's avatar
 
gbazin committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Linux framebuffer module
gbazin's avatar
 
gbazin committed
dnl
AC_CHECK_HEADER([linux/fb.h], [
  VLC_ADD_PLUGIN([fb])
])

gbazin's avatar
 
gbazin committed

dnl  try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config
dnl  TODO: support for static linking
  [  --enable-directfb       DirectFB support (default disabled)])
AC_ARG_WITH(directfb,
  [  --with-directfb=PATH    path to DirectFB headers and libraries])

if test "${enable_directfb}" = "yes"; then
    have_directfb="false"
    CPPFLAGS_mydirectfb=
    LIBS_mydirectfb=
    if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
        dnl Trying the given location

        CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
        LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/ -L${with_directfb}/src/.libs/"

        CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
        LIBS="${LIBS} ${LIBS_new}"

        dnl FIXME: too obscure
        AC_CHECK_HEADER([directfb.h], [
            AC_CHECK_LIB([direct],[direct_initialize], [
                AC_CHECK_LIB([fusion], [fusion_enter], [
                    AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
                ], have_directfb="false")
            ], have_directfb="false")
        ], have_directfb="false")


        if test "${have_directfb}" = "true"; then
            LIBS_mydirectfb="${LIBS_new} -lz $LIBDL -ldirectfb -lfusion -ldirect -lpthread"
            CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
        fi
        dnl Look for directfb-config
        AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
        if test "${DIRECTFB_CONFIG}" != "no"; then
            CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
            LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
            have_directfb="true"
            dnl Trying with pkg-config
            PKG_CHECK_MODULES(DIRECTFB, directfb, [
                CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
                LIBS_mydirectfb="${DIRECTFB_LIBS}"
                have_directfb="true"
                ], [have_directfb="false"])
        fi
    fi
    if test "${have_directfb}" = "true"; then
        VLC_ADD_PLUGIN([directfb])
        VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}])
        VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}])
        AC_MSG_ERROR([${DIRECTFB_PKG_ERRORS}.])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  AA plugin
dnl
AC_ARG_ENABLE(aa,
  [  --enable-aa             aalib output (default disabled)])
if test "${enable_aa}" = "yes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
then
  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")
  if test "${have_aa}" = "true"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  then
    VLC_ADD_PLUGIN([aa])
    VLC_ADD_LIBS([aa],[-laa])
    if test "${SYS}" != "mingw32"; then
      VLC_ADD_LIBS([aa],[${X_LIBS} ${X_PRE_LIBS} -lX11])
    fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  fi
fi

Samuel Hocevar's avatar
Samuel Hocevar committed
dnl
dnl  libcaca plugin
dnl
PKG_ENABLE_MODULES_VLC([CACA], [], [caca >= 0.99.beta14], [libcaca output],[auto])
dnl
dnl  OS/2 KVA plugin
dnl
AC_ARG_ENABLE(kva,
  [AS_HELP_STRING([--enable-kva],
    [support the K Video Accelerator KVA (default enabled on OS/2)])],, [
  AS_IF([test "$SYS" = "os2"], [
    enable_kva="yes"
  ])
])
have_kva="no"
KVA_LIBS=""
AS_IF([test "$enable_kva" != "no"], [
  AC_CHECK_HEADERS([kva.h], [
    have_kva="yes"
    AC_CHECK_LIB(kva, main, [
      KVA_LIBS="-lkva"
    ])
  ])
])
AC_SUBST(KVA_LIBS)
AM_CONDITIONAL([HAVE_KVA], [test "${have_kva}" = "yes"])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Audio plugins
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed

EXTEND_HELP_STRING([Audio plugins:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

AC_ARG_ENABLE(pulse,
  [AS_HELP_STRING([--enable-pulse],
    [use the PulseAudio client library (default auto)])])
have_pulse="no"
AS_IF([test "${enable_pulse}" != "no"], [
  PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.22], [
    have_pulse="yes"
  ], [
    PKG_CHECK_MODULES([PULSE], [libpulse >= 0.9.16], [
      AS_IF([test "${no_x}" != "yes"], [
        have_pulse="yes"
        PULSE_LIBS="$PULSE_LIBS ${X_LIBS} ${X_PRE_LIBS} -lX11"
      ], [
        AS_IF([test "${enable_pulse}" = "yes"], [
          AC_MSG_ERROR([Xlib is required with PulseAudio pre-0.9.22 versions
(see http://www.pulseaudio.org/ticket/799 for further reference).])
        ])
      ])
    ], [
      AS_IF([test "x${enable_pulse}" != "x"], [
        AC_MSG_ERROR([$PULSE_PKG_ERRORS. PulseAudio 0.9.22 or later required.])
      ])
    ])
  ])
])
AM_CONDITIONAL([HAVE_PULSE], [test "${have_pulse}" = "yes"])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  ALSA module
dnl
AC_ARG_ENABLE(alsa,
  [AS_HELP_STRING([--enable-alsa],
    [support the Advanced Linux Sound Architecture (default auto)])],, [
  AS_IF([test "$SYS" = "linux" -a "${have_pulse}" = "no"], [
    enable_alsa="yes"
  ])
])
have_alsa="no"
AS_IF([test "${enable_alsa}" != "no"], [
  PKG_CHECK_MODULES([ALSA], [alsa >= 1.0.16], [
    have_alsa="yes"
  ], [
    AS_IF([test "x${enable_alsa}" != "x"], [
      AC_MSG_ERROR([$ALSA_PKG_ERRORS. alsa-lib 1.0.16 or later required.])
    ])
  ])
])
AM_CONDITIONAL([HAVE_ALSA], [test "${have_alsa}" = "yes"])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  Open Sound System module
dnl
AC_ARG_ENABLE(oss,
  [AS_HELP_STRING([--enable-oss],
    [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [
  AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [
    enable_oss="no"
  ])
])
have_oss="no"
OSS_LIBS=""
AS_IF([test "$enable_oss" != "no"], [
  AC_CHECK_HEADERS([soundcard.h sys/soundcard.h], [
    have_oss="yes"
    AC_CHECK_LIB(ossaudio, main, [
      OSS_LIBS="-lossaudio"
    ])
  ])
])
AC_SUBST(OSS_LIBS)
AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"])

dnl
dnl  OpenBSD sndio module
dnl
AC_ARG_ENABLE([sndio],
  [AS_HELP_STRING([--disable-sndio],
    [support the OpenBSD sndio (default auto)])],, [
  AS_IF([test "$SYS" = "opensd"], [
    enable_sndio="yes"
  ])
])
have_sndio="no"
AS_IF([test "$enable_sndio" != "no"], [
  AC_CHECK_HEADER([sndio.h], [
    have_sndio="yes"
  ])
])
AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  win32 waveOut plugin
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(waveout,
  [  --enable-waveout        Win32 waveOut module (default enabled on Win32)])
if test "${enable_waveout}" != "no"; then
  if test "${SYS}" = "mingw32"; then
    VLC_ADD_PLUGIN([waveout])
    VLC_ADD_LIBS([waveout],[-lwinmm])
gbazin's avatar
 
gbazin committed
  fi
gbazin's avatar
gbazin committed
  if test "${SYS}" = "mingwce"; then
    VLC_ADD_PLUGIN([waveout])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi

hartman's avatar
hartman committed
AC_ARG_ENABLE(macosx-audio,
  [  --enable-macosx-audio   Mac OS X audio module (default enabled on MacOS X)])
if test "x${enable_macosx_audio}" != "xno" &&
  (test "${SYS}" = "darwin" || test "${enable_macosx_audio}" = "yes")
  AC_CHECK_HEADERS(CoreAudio/CoreAudio.h,
      VLC_ADD_LIBS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon])
    ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
dnl
dnl  AudioQueue plugin
dnl
AC_ARG_ENABLE(audioqueue,
  [  --enable-audioqueue     AudioQueue audio module (default disabled)])
if test "${enable_audioqueue}" = "yes"
then
  VLC_ADD_PLUGIN([audioqueue])
  VLC_ADD_LIBS([audioqueue], [-Wl,-framework,AudioToolbox,-framework,CoreFoundation])
PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
dnl
dnl  OpenSLES Android
dnl
AC_ARG_ENABLE(opensles,
  [  --enable-opensles       Android OpenSL ES audio module (default disabled)])
if test "${HAVE_ANDROID}" = "1"; then
  if test "${enable_opensles}" = "yes"; then
      AC_CHECK_HEADERS(SLES/OpenSLES.h,
        [ VLC_ADD_PLUGIN([opensles_android]) ],
        [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
  fi
fi

PKG_ENABLE_MODULES_VLC([SAMPLERATE], [], [samplerate], [Resampler with libsamplerate], [auto])
dnl
dnl  OS/2 KAI plugin
dnl
AC_ARG_ENABLE(kai,
  [AS_HELP_STRING([--enable-kai],
    [support the K Audio Interface KAI (default enabled on OS/2)])],, [
  AS_IF([test "$SYS" = "os2"], [
    enable_kai="yes"
  ])
])
have_kai="no"
KAI_LIBS=""
AS_IF([test "$enable_kai" != "no"], [
  AC_CHECK_HEADERS([kai.h], [
    have_kai="yes"
    AC_CHECK_LIB(kai, main, [
      KAI_LIBS="-lkai"
    ])
  ])
])
AC_SUBST(KAI_LIBS)
AM_CONDITIONAL([HAVE_KAI], [test "${have_kai}" = "yes"])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Interface plugins
dnl

EXTEND_HELP_STRING([Interface plugins:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl Hildon UI
AC_ARG_ENABLE(hildon,
  [  --enable-hildon         Hildon touchscreen UI (default disabled)])
AS_IF([test "${enable_hildon}" = "yes"], [
  PKG_CHECK_MODULES(HILDON, [hildon-1], [
    PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [
gbazin's avatar
gbazin committed
      VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM])
      VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}])
    ], [
      AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.])
Christophe Mutricy's avatar
Christophe Mutricy committed
    VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}])
    VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11])
    VLC_ADD_PLUGIN([hildon])
    ALIASES="${ALIASES} mvlc"
  ], [
    AS_IF([test "${enable_hildon}" = "yes"],[
      AC_MSG_ERROR([${HILDON_PKG_ERRORS}.])
    enable_hildon="no"
])
AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
zorglub's avatar
zorglub committed
dnl
dnl QT 4
dnl
AC_ARG_ENABLE(qt4,
  [  --enable-qt4            Qt 4 support (default enabled) ],, [
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
  AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
])
AS_IF([test "${enable_qt4}" != "no"], [
  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    VLC_ADD_PLUGIN([qt4])
    VLC_ADD_LIBS([qt4],[${QT4_LIBS}])
    VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    ALIASES="${ALIASES} qvlc"

    AC_LANG_PUSH([C++])

    AC_MSG_CHECKING([whether Qt uses X11])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
    AC_PREPROC_IFELSE([AC_LANG_SOURCE([
#include <QWidget>
#if !defined (Q_WS_X11)
# error Fail
#endif
      AC_MSG_RESULT([yes])
      VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11])
      VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    ], [
    AC_LANG_POP([C++])

    AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
        VLC_ADD_LIBS([qt4],[-lole32])
    AS_IF([test "${SYS}" = "darwin" ],[
    AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
    AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
    AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin)
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
  ], [
    AS_IF([test -n "${enable_qt4}"],[
      AC_MSG_ERROR([${QT4_PKG_ERRORS}.])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    ],[
      AC_MSG_WARN([${QT4_PKG_ERRORS}.])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
    ])
    enable_qt4="no"
  ])
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
zorglub's avatar
zorglub committed

AS_IF([test "x$enable_qt4" = "xno"], [
  AS_IF([test "${enable_skins2}" = "yes"], [
    AC_MSG_ERROR([The skins2 module depends on the Qt4 interface. Without it you will not be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.])
  ], [
    enable_skins2="no"
    AC_MSG_WARN([The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.])
  ])
dnl
dnl Skins2 module
dnl
AC_ARG_ENABLE(skins2,
  [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
AS_IF([test "${enable_skins2}" != "no"], [
  have_skins_deps="yes"

  dnl Win32
  AS_IF([test "${SYS}" = "mingw32"], [
    VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
    VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
    VLC_ADD_LIBS([skins2],[-lgdi32 -lole32 -luuid -lmsimg32])
  dnl MacOS
  ], [test "${SYS}" = "darwin"], [
    VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS])
    VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
    VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
  dnl Linux/Unix
  ], [
    PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
    PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
    PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
    VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
    VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
    VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
  ])

  dnl we need freetype
  AS_IF([test "${have_freetype}" != "yes"], [
    have_skins_deps="no"
  ])

  AS_IF([test "${have_skins_deps}" = "no"], [
    AS_IF([test "x${enable_skins2}" = "x"], [
      AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
    ], [
      AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
    ])
    enable_skins2="no"
  ], [
    VLC_ADD_PLUGIN([skins2])
    ALIASES="${ALIASES} svlc"
    enable_skins2="yes"
  ])
])
AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])

AC_ARG_ENABLE(libtar,
  [  --enable-libtar         libtar support for skins2 (default auto)])
AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
  AC_CHECK_HEADERS(libtar.h, [
    VLC_ADD_LIBS([skins2],[-ltar])
  ])
])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
  [  --enable-macosx         Mac OS X gui support (default enabled on Mac OS X)])
if test "x${enable_macosx}" != "xno" -a "${SYS}" = "darwin"
Pierre d'Herbemont's avatar
Pierre d'Herbemont committed
then
  VLC_ADD_LIBS([macosx minimal_macosx], [-Wl,-framework,Cocoa -Wl,-framework,OpenGL -Wl,-framework,Carbon -Wl,-framework,CoreServices -Wl,-framework,AGL])
Pierre's avatar
Pierre committed
  VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
  VLC_ADD_PLUGIN([macosx minimal_macosx])

  VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit])
  if test ! -d ${CONTRIB_DIR}/Sparkle.framework
  then
    AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}])
  fi
  VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle])
  VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
  if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework
    AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}])
  VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,BGHUDAppKit])
  VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}])
Pierre d'Herbemont's avatar
Pierre d'Herbemont committed
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl  MacOS X dialor provider
AC_ARG_ENABLE(macosx-dialog-provider,
  [  --enable-macosx-dialog-provider Mac OS X dialog module (default enabled on Mac OS X)])
if test "x${enable_macosx_dialog_provider}" != "xno" &&
  (test "${SYS}" = "darwin" || test "${enable_macosx_dialog_provider}" = "yes")
then
  VLC_ADD_LIBS([macosx_dialog_provider],[-Wl,-framework,Cocoa])
  VLC_ADD_PLUGIN([macosx_dialog_provider])
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  ncurses module
dnl
AC_ARG_ENABLE(ncurses,
Rafaël Carré's avatar
Rafaël Carré committed
[AS_HELP_STRING([--disable-ncurses],[ncurses text-based interface (default auto)])])
if test "${enable_ncurses}" != "no"; then
  VLC_SAVE_FLAGS
  LIBS=""
  AC_CHECK_HEADER(ncurses.h, [
    AC_CHECK_LIB(ncursesw, mvprintw, [
      AC_SEARCH_LIBS([tgetent], [ncursesw tinfow tinfo], [
        VLC_ADD_PLUGIN([ncurses])
        ALIASES="${ALIASES} nvlc"
Rafaël Carré's avatar
Rafaël Carré committed
        VLC_ADD_LIBS([ncurses],[-lncursesw ${LIBS}])
      ], [
        AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([tgetent not found])])
      ])
    ], [
      AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([libncursesw not found])])
    ])
  ], [
    AS_IF([test "${enable_ncurses}" = "yes"], [AC_MSG_ERROR([ncurses.h not found])])
  ])
  VLC_RESTORE_FLAGS
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  XOSD plugin
dnl
AC_ARG_ENABLE(xosd,
  [  --enable-xosd           xosd interface support (default disabled)])
if test "${enable_xosd}" = "yes"
  AC_CHECK_HEADERS(xosd.h,
    AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
      AS_IF([test "${no_x}" != "yes"], [
          VLC_ADD_PLUGIN([xosd])
          VLC_ADD_LIBS([xosd],[-lxosd ${X_LIBS} ${X_PRE_LIBS} -lX11])
          VLC_ADD_CFLAGS([xosd],[${X_CFLAGS}])
        ],[
          AC_MSG_ERROR([Xlib is required with xosd.])
        ])
dnl
dnl Framebuffer (overlay) plugin
dnl
AC_ARG_ENABLE(fbosd,
Jean-Paul Saman's avatar
Jean-Paul Saman committed
  [  --enable-fbosd          fbosd interface support (default disabled)])
if test "${enable_fbosd}" = "yes"
then
  AC_CHECK_HEADERS(linux/fb.h, [
    VLC_ADD_PLUGIN([fbosd])
dnl
dnl  Lirc plugin
dnl
AC_ARG_ENABLE(lirc,
  [  --enable-lirc           lirc support (default disabled)])
if test "${enable_lirc}" = "yes"
then
  AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false")
  if test "${have_lirc}" = "true"
  then
    VLC_ADD_PLUGIN([lirc])
    VLC_ADD_LIBS([lirc],[-llirc_client])
  fi
fi

EXTEND_HELP_STRING([Visualisations and Video filter plugins:])
dnl
dnl Visualisation plugin
dnl
AC_ARG_ENABLE(visual,
  [  --enable-visual         visualisation plugin (default enabled)])
if test "${enable_visual}" != "no"
then
    VLC_ADD_PLUGIN([visual])
Christophe Mutricy's avatar
Christophe Mutricy committed
PKG_ENABLE_MODULES_VLC([GOOM], [], [libgoom2], [goom visualization plugin], [auto])
dnl
dnl libprojectM visualization plugin
dnl
  [  --enable-projectm       projectM visualization plugin (default enabled)])
AS_IF([test "${enable_projectm}" != "no"],
  [
    PKG_CHECK_MODULES(PROJECTM, libprojectM,
    [
      VLC_ADD_PLUGIN([projectm])
      VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
      VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
ivoire's avatar
ivoire committed
      PKG_CHECK_MODULES(PROJECTM2, [libprojectM >= 2.0.0],
        [ AC_DEFINE([HAVE_PROJECTM2], 1, [Define to 1 if using libprojectM 2.x]) ],
        [ AC_MSG_WARN( [Using libprojectM version 1] )
      ])
      AC_MSG_WARN([${PROJECTM_PKG_ERRORS}.])
dnl  AtmoLight (homemade Philips Ambilight clone)
AC_ARG_ENABLE(atmo,
AS_HELP_STRING([--disable-atmo],[AtmoLight (homemade Philips Ambilight clone)
                (default enabled)]),, [enable_atmo="yes"])
AS_IF([test "${enable_atmo}" != no], [
  AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "linux"], [
    AC_LANG_PUSH(C++)
    VLC_ADD_PLUGIN([atmo])
    AC_LANG_POP(C++)
  ])
])
EXTEND_HELP_STRING([Service Discovery plugins:])
dnl
dnl  Bonjour services discovery
PKG_ENABLE_MODULES_VLC([BONJOUR], [], [avahi-client >= 0.6], [Bonjour services discovery], [auto])
dnl
dnl  libudev services discovery
PKG_ENABLE_MODULES_VLC([UDEV], [], [libudev >= 142], [Linux udev services discovery], [auto])
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed
dnl
dnl MTP devices services discovery
PKG_ENABLE_MODULES_VLC([MTP], [mtp access_mtp], [libmtp >= 1.0.0], [MTP devices support], [auto])
Jean-Baptiste Kempf's avatar
Jean-Baptiste Kempf committed

dnl UPnP Plugin (Intel SDK)
PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto])
VLC_ADD_CXXFLAGS([upnp],[${UPNP_CFLAGS}])
EXTEND_HELP_STRING([Misc options:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  libxml2 module
dnl
PKG_ENABLE_MODULES_VLC([LIBXML2], [xml], [libxml-2.0 >= 2.5], [libxml2 support],[auto])


dnl
dnl libgcrypt
dnl
AC_ARG_ENABLE(libgcrypt,
  [  --disable-libgcrypt     gcrypt support (default enabled)])
AS_IF([test "${enable_libgcrypt}" != "no"], [
  AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
    libgcrypt-config --version >/dev/null || \
        AC_MSG_ERROR([gcrypt.h present but libgcrypt-config could not be found])
    AC_CHECK_LIB(gcrypt, gcry_control, [
      have_libgcrypt="yes"
      GCRYPT_CFLAGS="`libgcrypt-config --cflags`"
      GCRYPT_LIBS="`libgcrypt-config --libs`"
    ], [
      AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
    ], [`libgcrypt-config --libs`])
  ], [
    AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
  ], [#include <gcrypt.h>]
  )
AC_SUBST(GCRYPT_CFLAGS)
AC_SUBST(GCRYPT_LIBS)
AM_CONDITIONAL([HAVE_GCRYPT], [test "${have_libgcrypt}" = "yes"])
  [  --enable-gnutls         GNU TLS TLS/SSL support (default enabled)])
AS_IF([test "${have_libgcrypt}" != "yes"], [
  AS_IF([test "${enable_gnutls}" = "yes"], [
    AC_MSG_ERROR([--enable-gnutls and --disable-libgcrypt are mutually exclusive.])
  ])
  enable_gnutls="no"
])
  PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
    VLC_ADD_PLUGIN([gnutls])
    AS_IF([test -n "${enable_gnutls}"], [
      AC_MSG_ERROR([${GNUTLS_PKG_ERRORS}.)])
dnl
dnl Nokia MCE plugin (Maemo screen unblanking)
dnl
PKG_CHECK_MODULES([MCE], [dbus-1 mce], [VLC_ADD_PLUGIN([mce])], [true])


AS_IF([test -f "/etc/maemo_version"], [
  AC_DEFINE([HAVE_MAEMO], 1, [Define to 1 if building for the Maemo platform.])
])


dnl
dnl Taglib plugin
dnl
AC_ARG_ENABLE(taglib,
  [AS_HELP_STRING([--disable-taglib],
    [do not use TagLib (default enabled)])])
AS_IF([test "${enable_taglib}" != "no"], [
  PKG_CHECK_MODULES(TAGLIB, taglib >= 1.5, [
    VLC_ADD_PLUGIN([taglib])
    VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
    VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
  ], [
    AC_MSG_WARN([${TAGLIB_PKG_ERRORS}.])])
dnl
dnl update checking system
dnl
AC_ARG_ENABLE(update-check,
  [  --enable-update-check   update checking system (default disabled)])
if test "${enable_update_check}" = "yes"
then
  if test "${have_libgcrypt}" != "yes"
  then
    AC_MSG_ERROR([libgcrypt is required for update checking system])
  fi
  VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
  VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
  AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
dnl
dnl Growl notification plugin
dnl
AC_ARG_ENABLE(growl,
  [  --enable-growl          growl notification plugin (default disabled)],,
  [enable_growl=no])
AS_IF([test "${enable_growl}" != "no"], [
    AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
      VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,CoreFoundation])
      VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
      VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
    ])
  ]
)

dnl
dnl Libnotify notification plugin
dnl
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify gtk+-2.0], [libnotify notification], [auto])

jetru's avatar
jetru committed
dnl
dnl media library
dnl
AC_ARG_ENABLE(media-library,
    [  --enable-media-library  media library (default disabled)])
AS_IF([test "${enable_media_library}" = "yes"], [
  AC_DEFINE([MEDIA_LIBRARY], 1, [Define if you want to use the VLC media library])
  VLC_ADD_CPPFLAGS([qt4],"-DMEDIA_LIBRARY")
  VLC_ADD_PLUGIN([media_library])

dnl
dnl SQLite
dnl