Skip to content
Snippets Groups Projects
configure.ac 158 KiB
Newer Older
dnl dnl
dnl AC_ARG_ENABLE(qt,
dnl   [  --enable-qt             Qt interface support (default disabled)],
dnl   [if test "${enable_qt}" = "yes"; then
dnl      VLC_ADD_PLUGINS([qt])
dnl      ALIASES="${ALIASES} qvlc"
dnl      VLC_ADD_LDFLAGS([qt],[-L${QTDIR}/lib])
dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}"
dnl      AC_CHECK_LIB(qt-mt,main,[
dnl        VLC_ADD_LDFLAGS([qt],[-lqt-mt])
dnl      ],[
dnl        AC_CHECK_LIB(qt,main,[
dnl          VLC_ADD_LDFLAGS([qt],[-lqt])
dnl        ])
dnl      ])
dnl      LDFLAGS="${LDFLAGS_save}"
dnl      VLC_ADD_CXXFLAGS([qt],[-I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include])
dnl      if test -x ${QTDIR}/bin/moc
dnl      then
dnl        MOC=${QTDIR}/bin/moc
dnl      else
dnl        MOC=moc
dnl      fi
dnl    fi])
dnl 
dnl dnl
dnl dnl  KDE module
dnl dnl
dnl AC_ARG_ENABLE(kde,
dnl   [  --enable-kde            KDE interface support (default disabled)],
dnl   [if test "${enable_kde}" = "yes"; then
dnl      VLC_ADD_PLUGINS([kde])
dnl      ALIASES="${ALIASES} kvlc"
dnl      VLC_ADD_LDFLAGS([kde],[-L${KDEDIR}/lib])
dnl      dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3)
dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
dnl      AC_CHECK_LIB(kfile,main,[
dnl        VLC_ADD_LDFLAGS([kde],[-lkfile])
dnl      ])
dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
dnl      AC_CHECK_LIB(kdeui,main,[
dnl        VLC_ADD_LDFLAGS([kde],[-lkdeui])
dnl      ])
dnl      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}"
dnl      AC_CHECK_LIB(kio,main,[
dnl        VLC_ADD_LDFLAGS([kde],[-lkio])
dnl      ])
dnl      LDFLAGS="${LDFLAGS_save}"
dnl      VLC_ADD_CXXFLAGS([kde],[-I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt])
dnl      VLC_ADD_CXXFLAGS([kde],[-I${KDEDIR}/include -I${QTDIR}/include])
dnl      if test -x ${QTDIR}/bin/moc
dnl      then
dnl        MOC=${QTDIR}/bin/moc
dnl      else
dnl        MOC=moc
dnl      fi
dnl    fi])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

AC_ARG_ENABLE(opie,
  [  --enable-opie           Qt embedded interface support (default disabled)],
  [if test "${enable_opie}" = "yes"; then
     [    --with-qte=PATH       Qt Embedded headers and libraries])
Samuel Hocevar's avatar
Samuel Hocevar committed
     if test "${with_qte}" != "no" -a -n "${with_qte}"
       VLC_ADD_LDFLAGS([qte],[-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte])
       VLC_ADD_CXXFLAGS([qte],[-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti])
       VLC_ADD_LDFLAGS([qte],[-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`])
       VLC_ADD_CXXFLAGS([qte],[-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`])
     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_qte}"
     AC_CHECK_HEADERS(qt.h jpeglib.h, ,[
       AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."])
     ] )
     CPPFLAGS="${CPPFLAGS_save}"
     VLC_ADD_PLUGINS([opie])
     VLC_ADD_LDFLAGS([opie],[-lqpe ${LDFLAGS_qte}])
     VLC_ADD_CXXFLAGS([opie],[${CXXFLAGS_qte}])
Samuel Hocevar's avatar
Samuel Hocevar committed
     if test "${with_qte}" != "no" -a -n "${with_qte}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  MacOS X module
dnl
AC_ARG_ENABLE(macosx,
  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
  [if test "${enable_macosx}" = "yes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   then
     VLC_ADD_BUILTINS([macosx])
     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   fi],
  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
     VLC_ADD_BUILTINS([macosx])
     VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   )])

dnl
dnl  QNX RTOS module
dnl
AC_ARG_ENABLE(qnx,
  [  --enable-qnx            QNX RTOS support (default enabled on QNX RTOS)])
    if test "${enable_qnx}" != "no"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    then
      AC_CHECK_HEADERS(Ph.h, [
        VLC_ADD_PLUGINS([qnx])
        VLC_ADD_LDFLAGS([qnx],[-lasound -lph])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      ])
    fi

dnl
dnl  ncurses module
dnl
AC_ARG_ENABLE(ncurses,
  [  --enable-ncurses        ncurses interface support (default disabled)],
  [if test "${enable_ncurses}" = "yes"; then
     VLC_ADD_PLUGINS([ncurses])
     VLC_ADD_LDFLAGS([ncurses],[-lncurses])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   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_HEADER(xosd.h, have_xosd="true", have_xosd="false")
  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))))
  if test "${have_xosd}" = "true"
    VLC_ADD_PLUGINS([xosd])
    VLC_ADD_LDFLAGS([xosd],[-lxosd])
dnl
dnl Visualisation plugin
dnl
AC_ARG_ENABLE(visual,
  [  --enable-visual         visualisation plugin (default enabled)])
if test "${enable_visual}" != "no"
then
    VLC_ADD_PLUGINS([visual])
dnl
dnl OpenGL visualisation plugin
dnl
AC_ARG_ENABLE(galaktos,
  [  --enable-galaktos       OpenGL visualisation plugin (default disabled)])
if test "${enable_galaktos}" = "yes"
then
    if test "${SYS}" != "mingw32"; then
      VLC_ADD_LDFLAGS([galaktos],[-L${x_libraries} -lGL -lGLU])
    else
      VLC_ADD_LDFLAGS([galaktos],[-lopengl32])
    fi
  ])
dnl
dnl  goom visualization plugin
dnl
AC_ARG_ENABLE(goom,
hartman's avatar
hartman committed
[  --enable-goom           goom visualisation plugin (default disabled)])
if test "${enable_goom}" = "yes"
then
  AC_ARG_WITH(goom-tree,
    [    --with-goom-tree=PATH goom tree for static linking (required)])

  dnl
  dnl test for --with-goom-tree
  dnl
  if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then
    AC_MSG_CHECKING(for libgoom2.a in ${with_goom_tree})
    real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`"
    if test -z "${real_goom_tree}"; then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot cd to ${with_goom_tree}])
    fi
    if test -f "${real_goom_tree}/src/.libs/libgoom2.a"; then
      AC_MSG_RESULT(${real_goom_tree}/src/.libs/libgoom2.a)
      VLC_ADD_BUILTINS([goom])
      VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree}/src/.libs -lgoom2])
      VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree}/src -DUSE_GOOM_TREE])
      dnl  The given libgoom2 wasn't built, try to look for the old goom
      AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree})
      if test -f "${real_goom_tree}/libgoom.a"; then
        AC_MSG_RESULT(${real_goom_tree}/libgoom.a)
        VLC_ADD_BUILTINS([goom])
        VLC_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom])
        VLC_ADD_CPPFLAGS([goom],[-I${real_goom_tree} -DUSE_GOOM_TREE -DOLD_GOOM])
      else
        dnl  The given libgoom wasn't built
        AC_MSG_RESULT(no)
        AC_MSG_ERROR([cannot find ${real_goom_tree}/src/.libs/libgoom2.a, make sure you compiled goom in ${with_goom_tree}])
      fi
gbazin's avatar
gbazin committed
      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}"
        VLC_ADD_PLUGINS([goom])
        VLC_ADD_LDFLAGS([goom],[-lgoom2])
      ],[
        AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.])
      ])
gbazin's avatar
gbazin committed
      LDFLAGS="${LDFLAGS_save}"
dnl
dnl  SLP access plugin
dnl
AC_ARG_ENABLE(slp,
  [  --enable-slp            SLP service discovery support (default disabled)])
if test "${enable_slp}" = "yes"
Loïc Minier's avatar
Loïc Minier committed
  AC_ARG_WITH(slp,
  [    --with-slp=PATH       libslp headers and libraries])
Samuel Hocevar's avatar
Samuel Hocevar committed
  if test -z "${with_slp}"
    AC_CHECK_HEADERS(slp.h, have_slp="true", have_slp="false")
    if test "${have_slp}" = "true"
Loïc Minier's avatar
Loïc Minier committed
    then
      VLC_ADD_PLUGINS([slp])
      VLC_ADD_LDFLAGS([slp],[-lslp])
      VLC_ADD_LDFLAGS([stream_out_standard],[-lslp])
Loïc Minier's avatar
Loïc Minier committed
    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)
      VLC_ADD_PLUGINS([slp])
      VLC_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
      VLC_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
      VLC_ADD_CPPFLAGS([slp],[-I${with_slp}])
      AC_DEFINE(HAVE_SLP_H)
Loïc Minier's avatar
Loïc Minier committed
    else
      dnl  No libslp could be found, sorry
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${with_slp}/slp.h])
    fi
dnl
dnl DAAP access plugin and services discovery 
dnl
AC_ARG_ENABLE(daap,
  [  --enable-daap	          DAAP shares services discovery support (default enabled)])
if test "$enable_daap" != "no"
then
   PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0,
      [ VLC_ADD_PLUGINS([daap])
       VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS])
       VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:,
      [AC_MSG_WARN(DAAP library not found)])
fi

dnl
dnl  Bonjour services discovery
dnl
AC_ARG_ENABLE(bonjour,
  [  --enable-bonjour        Bonjour services discovery (default enabled)])
if test "${enable_bonjour}" != "no"
then
  PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3,
    [AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library])
      VLC_ADD_LDFLAGS([bonjour access_output_http],[$BONJOUR_LIBS])
      VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS])
      VLC_ADD_PLUGINS([bonjour]) ],
    [AC_MSG_WARN(avahi-client library not found)])
fi

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"
    VLC_ADD_PLUGINS([lirc])
    VLC_ADD_LDFLAGS([lirc],[-llirc_client])
dnl 
dnl  Joystick plugin
dnl
AC_ARG_ENABLE(joystick,
Samuel Hocevar's avatar
Samuel Hocevar committed
  [  --enable-joystick       joystick control (default enabled)])
if test "${enable_joystick}" = "yes"; then
  AC_CHECK_HEADER(linux/joystick.h, [VLC_ADD_PLUGINS([joystick])])
dnl Default: do not enable corba
enablecorba=false
AC_ARG_ENABLE(corba,
  [  --enable-corba          corba interface support (default disabled)])
if test "${enable_corba}" = "yes"; then
      GLIB_VERSION=2.3.2
	ORBit-2.0 >= 2.8.0 \
	glib-2.0 >= $GLIB_VERSION \
	gobject-2.0 >= $GLIB_VERSION \
	gthread-2.0 >= $GLIB_VERSION,
	[
 	  VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
      	  VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
          VLC_ADD_PLUGINS([corba snapshot]) ],
        [ enablecorba=false
	  AC_MSG_WARN(corba library not found) ])
AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_WITH(,[Misc options:])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
Samuel Hocevar's avatar
 
Samuel Hocevar committed
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)])
  case "${with_words}" in
    big)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      ac_cv_c_bigendian=yes
      ;;
    little)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      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],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        [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
        then
          if ${CC-cc} -c conftest.c -o conftest.o >>config.log 2>&1 \
Samuel Hocevar's avatar
 
Samuel Hocevar committed
              && test -f conftest.o
          then
            if test "`strings conftest.o | grep BIGenDianSyS`"
            then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
            fi
            if test "`strings conftest.o | grep LiTTleEnDian`"
            then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
            fi
          fi
        fi
      ])
      if test "${ac_cv_c_bigendian}" = "unknown"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      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
Samuel Hocevar's avatar
 
Samuel Hocevar committed
then
  AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system)
fi
dnl
dnl  DLL loader copied from MPlayer copied from somewhere else (WINE ?)
dnl
loader=false
AC_ARG_ENABLE(loader,
  [  --enable-loader         build DLL loader for ELF i386 platforms (default disabled)])
AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"])
AS_IF([test "${enable_loader}" = "yes"],
  [ VLC_ADD_PLUGINS([dmo quicktime])
    VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
    VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.a])
    VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
    VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.a])
    VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER])
    VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.a])
dnl
dnl  Microsoft ActiveX support
dnl
activex=false
AC_ARG_ENABLE(activex,
  [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
if test "${enable_activex}" != "no"
then
  if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
  then
    AC_CHECK_PROGS(MIDL, [midl widl], no)
    AC_CHECK_HEADERS(ole2.h olectl.h,
      [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
        VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) 
        AC_CHECK_HEADERS(objsafe.h,
          VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER])
        )
      ],
      [ AC_MSG_ERROR([required OLE headers are missing from your system]) ]
    )
  fi
fi
AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
AC_ARG_ENABLE(mozilla,
  [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
AC_ARG_WITH(mozilla-sdk-path,
  [    --with-mozilla-sdk-path=PATH path to mozilla sdk])

if test "${enable_mozilla}" = "yes" -a "${with_mozilla_sdk_path}" = ""
then
  AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
  if test "${MOZILLA_CONFIG}" = "no"
    AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
  else
    if test "${SYS}" != "mingw32"; then
      LDFLAGS="${LDFLAGS_save} -L${x_libraries}"
Samuel Hocevar's avatar
Samuel Hocevar committed
      AC_CHECK_LIB(Xt,XtStrings,
       [VLC_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt -lX11 -lSM -lICE])],
Samuel Hocevar's avatar
Samuel Hocevar committed
       [],
       [[-L${x_libraries} -lX11 -lSM -lICE]
    dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
    VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
    VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`])
Samuel Hocevar's avatar
Samuel Hocevar committed
    CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}"
    AC_CHECK_HEADERS(mozilla-config.h)
    CPPFLAGS="${CPPFLAGS_save}"
gbazin's avatar
 
gbazin committed

dnl special case for mingw32
elif test "${enable_mozilla}" = "yes"
then
  if test "${SYS}" = "mingw32"; then
    AC_CHECK_TOOL(CYGPATH, cygpath, "")
    mozilla_sdk_xpcom="/xpcom"
  fi

  real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
  CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include"
  AC_CHECK_HEADERS(mozilla-config.h, [
    mozilla=:
    VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include])
    VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue])
    if test "${SYS}" = "mingw32"; then
      VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at])
    fi

    XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl"
    XPIDL="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin/xpidl"

    if test -n "${CYGPATH}"; then
      real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`"
      XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\""
    fi ])
  CPPFLAGS="${CPPFLAGS_save}"
gbazin's avatar
 
gbazin committed
fi

dnl Not necessarily in ${PATH}
if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
  XPIDL="/usr/lib/mozilla/xpidl"
AS_IF([test "${MOZILLA_CONFIG}"], [
  if test -z "${XPIDL_INCL}"; then
    XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \
    `${MOZILLA_CONFIG} --idlflags plugin xpcom java` "
  fi
])
AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
dnl
dnl  test plugins
dnl
AC_ARG_ENABLE(testsuite,
  [  --enable-testsuite      build test modules (default disabled)])
if test "${enable_testsuite}" = "yes"
  dnl  we define those so that bootstrap sets the right linker
  VLC_ADD_CXXFLAGS([test2],[])
  VLC_ADD_OBJCFLAGS([test3],[])
  dnl  this one is needed until automake knows what to do
  VLC_ADD_LDFLAGS([test3],[-lobjc])
  VLC_ADD_PLUGINS([${TESTS}])
  #VLC_ADD_BUILTINS([${TESTS}])
if test "${NEED_GTK_MAIN}" != "no"
    VLC_ADD_PLUGINS([gtk_main])
    VLC_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
    VLC_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
if test "${NEED_GNOME_MAIN}" != "no"
    VLC_ADD_PLUGINS([gnome_main])
    VLC_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_gnome}])
    VLC_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_gnome}])
if test "${NEED_GTK2_MAIN}" != "no"
    VLC_ADD_PLUGINS([gtk2_main])
    VLC_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
    VLC_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
    VLC_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
    VLC_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
if test "${NEED_GNOME2_MAIN}" != "no"
    VLC_ADD_PLUGINS([gnome2_main])
    VLC_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
    VLC_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
if test "${NEED_QTE_MAIN}" != "no"
    VLC_ADD_PLUGINS([qte_main])
    VLC_ADD_CXXFLAGS([opie qte qt_video],[-DNEED_QTE_MAIN])
    VLC_ADD_CXXFLAGS([qte_main],[${CXXFLAGS_qte} ${CXXFLAGS_qt_video}])
    VLC_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte} ${LDFLAGS_qt_video}])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
builtin_support=false
plugin_support=:

dnl Support for plugins - this must be AT THE END
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(plugins,
  [  --disable-plugins       make all plugins built-in (default plugins enabled)],
  [if test "${enable_plugins}" = "no"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   fi])

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
Samuel Hocevar's avatar
Samuel Hocevar committed
if test "${ac_cv_have_plugins}" = "no"
  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
  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
    eval "${plugin}_p=yes"
  VLC_ADD_BUILTINS([${PLUGINS}])
Samuel Hocevar's avatar
Samuel Hocevar committed
  PLUGINS=""
AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})

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

AC_ARG_ENABLE(shared-libvlc,
  [  --enable-shared-libvlc  shared libvlc (default disabled EXPERIMENTAL)],
  ,[shared_libvlc=no])

AM_CONDITIONAL(BUILD_SHARED, [test "${shared_libvlc}" != "no"])
AS_IF([test "${shared_libvlc}" != "no"], [
  AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
])

pic=no
AS_IF([test "${shared_libvlc}" != "no"], [pic=pic])
AS_IF([${mozilla}], [pic=pic])
AS_IF([test "${SYS}" = "mingw32"], [pic=no])

AS_IF([test "${pic}" = "no"], [pic=])
AC_SUBST(pic)

Samuel Hocevar's avatar
Samuel Hocevar committed
dnl Import conditional variables generated by bootstrap
VLC_CONDITIONALS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Stuff used by the program
dnl
AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 the VideoLAN team", [Copyright string])
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
AC_SUBST(VERSION_MAJOR)
AC_SUBST(VERSION_MINOR)
AC_SUBST(VERSION_REVISION)
AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) 
AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) 
AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl Old definitions for version-dependant plugins
dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`"
dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions])
dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])

dnl New definitions with value matching 0.8.4 release
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
VLC_ENTRY="vlc_entry__${module_symbol}"
Rémi Denis-Courmont's avatar
Rémi Denis-Courmont committed
AC_SUBST(VLC_ENTRY)
DATA_PATH="${ac_tool_prefix}/share/vlc"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_SUBST(DATA_PATH)
PLUGIN_PATH="${ac_tool_prefix}/lib/vlc"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_SUBST(PLUGIN_PATH)

Samuel Hocevar's avatar
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
Samuel Hocevar committed
dnl  Handle substvars that use $(top_srcdir)
Samuel Hocevar's avatar
Samuel Hocevar committed
dnl
VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config"
Samuel Hocevar's avatar
Samuel Hocevar committed
AC_SUBST(VLC_CONFIG)
CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include"
Samuel Hocevar's avatar
Samuel Hocevar committed
dnl  Restore *FLAGS
VLC_RESTORE_FLAGS
Samuel Hocevar's avatar
Samuel Hocevar committed

Samuel Hocevar's avatar
Samuel Hocevar committed
LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}"
for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Configuration is finished
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_SUBST(ASM)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_SUBST(MOC)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_SUBST(WINDRES)
gbazin's avatar
 
gbazin committed
AC_SUBST(XPIDL_INCL)
gbazin's avatar
 
gbazin committed
AC_SUBST(ALL_LINGUAS)
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
Samuel Hocevar committed
dnl Import substitutions generated by bootstrap
VLC_SUBSTS
Samuel Hocevar's avatar
Samuel Hocevar committed

dnl Create vlc-config.in
VLC_OUTPUT_VLC_CONFIG_IN
  activex/Makefile
  loader/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  m4/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed

Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/access/Makefile
gbazin's avatar
 
gbazin committed
  modules/access/dshow/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/access/mms/Makefile
  modules/access/pvr/Makefile
  modules/access/v4l/Makefile
  modules/access/rtsp/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/access/vcd/Makefile
gbazin's avatar
 
gbazin committed
  modules/access/vcdx/Makefile
  modules/access/screen/Makefile
  modules/access_filter/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/access_output/Makefile
  modules/audio_filter/Makefile
  modules/audio_filter/channel_mixer/Makefile
  modules/audio_filter/converter/Makefile
  modules/audio_filter/resampler/Makefile
  modules/audio_mixer/Makefile
  modules/audio_output/Makefile
  modules/codec/Makefile
  modules/codec/cmml/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/codec/ffmpeg/Makefile
  modules/codec/spudec/Makefile
  modules/control/Makefile
  modules/control/http/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/demux/Makefile
  modules/demux/asf/Makefile
  modules/demux/avi/Makefile
  modules/demux/mp4/Makefile
  modules/demux/mpeg/Makefile
  modules/demux/playlist/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/demux/util/Makefile
  modules/gui/Makefile
  modules/gui/beos/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/gui/macosx/Makefile
  modules/gui/qnx/Makefile
  modules/gui/skins2/Makefile
  modules/gui/wince/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/misc/Makefile
  modules/misc/dummy/Makefile
  modules/misc/memcpy/Makefile
  modules/misc/network/Makefile
  modules/misc/testsuite/Makefile
  modules/misc/playlist/Makefile
gbazin's avatar
gbazin committed
  modules/misc/xml/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/mux/Makefile
  modules/mux/mpeg/Makefile
  modules/packetizer/Makefile
  modules/services_discovery/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/stream_out/Makefile
  modules/stream_out/transrate/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/video_chroma/Makefile
  modules/video_filter/Makefile
  modules/video_filter/swscale/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/video_output/Makefile
  modules/video_output/directx/Makefile
  modules/video_output/qte/Makefile
  modules/video_output/x11/Makefile
  modules/visualization/Makefile
  modules/visualization/visual/Makefile
  modules/visualization/galaktos/Makefile
dnl Generate makefiles
AC_OUTPUT

# Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built,
# not provided with the source
${SHELL} ./config.status --file=vlc-config
chmod 0755 vlc-config

dnl echo "Enabled builtin modules :"
dnl for a in `./vlc-config --target builtin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)\.a,\2 (\1),'

dnl echo "Enabled plugin modules :"
dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modules\/\(.*\)\/lib\(.*\)_plugin,\2 (\1),'

Samuel Hocevar's avatar
 
Samuel Hocevar committed
vlc configuration
Samuel Hocevar's avatar
 
Samuel Hocevar committed
--------------------
Samuel Hocevar's avatar
 
Samuel Hocevar committed
vlc version           : ${VERSION}
Samuel Hocevar's avatar
 
Samuel Hocevar committed
system                : ${SYS}
architecture          : ${ARCH}
Samuel Hocevar's avatar
Samuel Hocevar committed
test "${enable_debug}" = "yes" && printf "debug "
test "${enable_cprof}" = "yes" && printf "cprof "
test "${enable_gprof}" = "yes" && printf "gprof "
test "${enable_optimizations}" = "yes" && printf "optim "
test "${enable_release}" = "yes" && printf "release " || printf "devel "
Samuel Hocevar's avatar
 
Samuel Hocevar committed
vlc aliases           :${ALIASES}
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
Samuel Hocevar committed
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type \`make'.
Samuel Hocevar's avatar
 
Samuel Hocevar committed
"