Skip to content
Snippets Groups Projects
configure.ac 109 KiB
Newer Older
Loïc Minier's avatar
Loïc Minier committed
    then
Samuel Hocevar's avatar
Samuel Hocevar committed
      AX_ADD_PLUGINS([slp])
      AX_ADD_LDFLAGS([slp],[-lslp])
      AX_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)
Samuel Hocevar's avatar
Samuel Hocevar committed
      AX_ADD_PLUGINS([slp])
      AX_ADD_LDFLAGS([slp],[-L${with_slp} -lslp])
      AX_ADD_LDFLAGS([stream_out_standard],[-L${with_slp} -lslp])
Samuel Hocevar's avatar
Samuel Hocevar committed
      AX_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  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"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([lirc])
    AX_ADD_LDFLAGS([lirc],[-llirc_client])
dnl 
dnl  Joystick plugin
dnl
AC_ARG_ENABLE(joystick,
  [  --enable-joystick       joystick control (default disabled)])
if test "${enable_joystick}" = "yes"
then
 AC_CHECK_HEADER( linux/joystick.h, 
		[AX_ADD_PLUGINS([joystick])]
	        )
fi


dnl
dnl corba (ORBit) plugin
dnl
AC_ARG_ENABLE(corba,
  [  --enable-corba          corba interface support (default disabled)])
if test "${enable_corba}" = "yes"; then
  ORBIT_PATH="${PATH}"
  AC_ARG_WITH(orbit-config-path,
  [    --with-orbit-config-path=PATH orbit-config path (default search in \$PATH)])
  if test "${with_orbit_config_path}" != "no"; then
    ORBIT_PATH="${with_orbit_config_path}:${PATH}"
  fi
  # look for orbit2-config
  AC_PATH_PROG(ORBIT_CONFIG, orbit2-config, no, ${ORBIT_PATH})
  if test "${ORBIT_CONFIG}" != "no"; then
    AX_ADD_CFLAGS(corba,[`${ORBIT_CONFIG} --cflags server`])
    AX_ADD_LDFLAGS(corba,[`${ORBIT_CONFIG} --libs server | sed 's,-rdynamic,,'`])
    # now look for the orbit.h header
    CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_corba}"
    ac_cv_corba_headers=yes
    AC_CHECK_HEADERS(orbit/orbit.h, , [
      ac_cv_corba_headers=no
      AC_MSG_ERROR([Could not find corba development headers])
    ])
    if test "${ac_cv_corba_headers}" = "yes"; then
      AX_ADD_PLUGINS(corba)
    fi
    CPPFLAGS="${CPPFLAGS_save}"
  fi
fi

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
AC_ARG_ENABLE(mozilla,
  [  --enable-mozilla        build a vlc-based Mozilla plugin (default disabled)])
gbazin's avatar
 
gbazin committed
if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32"
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
        AX_ADD_LDFLAGS([mozilla],[-L${x_libraries} -lXt])
    dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]])
    AX_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
  AC_ARG_WITH(mozilla-sdk-path,
    [    --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [
    AC_MSG_CHECKING(for mozilla-config.h in ${with_mozilla_sdk_path})
    real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`"
    if test -z "${real_mozilla_sdk}"; then
      dnl  The given directory can't be found
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot cd to ${with_mozilla_sdk_path}])
    fi
    if test -f "${real_mozilla_sdk}/mozilla-config.h"; then
      AC_MSG_RESULT(${real_mozilla_sdk}/mozilla-config.h)
      mozilla=:
gbazin's avatar
 
gbazin committed
      AX_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -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])
      AX_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 -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at])
gbazin's avatar
 
gbazin committed
      XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl"
gbazin's avatar
 
gbazin committed
    else
      dnl  The given path is incorrect
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([cannot find ${real_mozilla_sdk}/mozilla-config.h])
    fi
  ])
fi

dnl Not necessarily in ${PATH}
if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then
  XPIDL="/usr/lib/mozilla/xpidl"
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
Samuel Hocevar's avatar
Samuel Hocevar committed
  AX_ADD_CXXFLAGS([test2],[])
  AX_ADD_OBJCFLAGS([test3],[])
  dnl  this one is needed until automake knows what to do
Samuel Hocevar's avatar
Samuel Hocevar committed
  AX_ADD_LDFLAGS([test3],[-lobjc])
Samuel Hocevar's avatar
Samuel Hocevar committed
  AX_ADD_PLUGINS([${TESTS}])
  #AX_ADD_BUILTINS([${TESTS}])
if test "${NEED_GTK_MAIN}" != "no"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([gtk_main])
    AX_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}])
    AX_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}])
if test "${NEED_GNOME_MAIN}" != "no"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([gnome_main])
    AX_ADD_CFLAGS([gnome_main],[${CFLAGS_gtk} ${CFLAGS_pda} ${CFLAGS_gnome}])
    AX_ADD_LDFLAGS([gnome_main],[${LDFLAGS_gtk} ${LDFLAGS_pda} ${LDFLAGS_gnome}])
if test "${NEED_GTK2_MAIN}" != "no"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([gtk2_main])
    AX_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN])
    AX_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN])
    AX_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}])
    AX_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}])
if test "${NEED_GNOME2_MAIN}" != "no"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([gnome2_main])
    AX_ADD_CFLAGS([gnome2_main],[${CFLAGS_gtk2} ${CFLAGS_gnome2}])
    AX_ADD_LDFLAGS([gnome2_main],[${LDFLAGS_gtk2} ${LDFLAGS_gnome2}])
if test "${NEED_QTE_MAIN}" != "no"
Samuel Hocevar's avatar
Samuel Hocevar committed
    AX_ADD_PLUGINS([qte_main])
    AX_ADD_CPPFLAGS([qte opie vout_sdl],[-DNEED_QTE_MAIN])
    AX_ADD_CXXFLAGS([qte_main],[${CPPFLAGS_qte} ${CXXFLAGS_qte}])
    AX_ADD_LDFLAGS([qte_main],[${LDFLAGS_qte}])
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
  for plugin in `echo ${PLUGINS}`
  do
    eval "${plugin}_p=yes"
Samuel Hocevar's avatar
Samuel Hocevar committed
  AX_ADD_BUILTINS([${PLUGINS}])
  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})

Samuel Hocevar's avatar
Samuel Hocevar committed
dnl Import conditional variables generated by bootstrap
AX_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-2003 VideoLAN", [Copyright string])
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

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

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
Samuel Hocevar's avatar
Samuel Hocevar committed
AX_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
AX_VLC_SUBSTS

dnl Create vlc-config.in
AX_OUTPUT_VLC_CONFIG_IN
Samuel Hocevar's avatar
Samuel Hocevar committed
  vlc-config

Samuel Hocevar's avatar
Samuel Hocevar committed
  m4/Makefile
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/dvd/Makefile
  modules/access/dvdplay/Makefile
  modules/access/dvdread/Makefile
  modules/access/mms/Makefile
  modules/access/pvr/Makefile
  modules/access/satellite/Makefile
  modules/access/v4l/Makefile
  modules/access/vcd/Makefile
gbazin's avatar
 
gbazin committed
  modules/access/vcdx/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/faad/Makefile
  modules/codec/ffmpeg/Makefile
  modules/codec/ffmpeg/postprocessing/Makefile
  modules/codec/spudec/Makefile
  modules/control/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/control/lirc/Makefile
  modules/control/rc/Makefile
  modules/demux/Makefile
  modules/demux/asf/Makefile
  modules/demux/avi/Makefile
  modules/demux/mp4/Makefile
  modules/demux/mpeg/Makefile
  modules/demux/util/Makefile
  modules/gui/Makefile
  modules/gui/beos/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  modules/gui/gtk/Makefile
  modules/gui/gtk2/Makefile
  modules/gui/kde/Makefile
  modules/gui/macosx/Makefile
  modules/gui/ncurses/Makefile
  modules/gui/qnx/Makefile
  modules/gui/qt/Makefile
  modules/gui/skins/Makefile
  modules/gui/wxwindows/Makefile
  modules/misc/Makefile
  modules/misc/dummy/Makefile
  modules/misc/logger/Makefile
  modules/misc/memcpy/Makefile
  modules/misc/network/Makefile
  modules/misc/testsuite/Makefile
  modules/mux/Makefile
  modules/mux/mpeg/Makefile
  modules/packetizer/Makefile
  modules/stream_out/Makefile
  modules/video_chroma/Makefile
  modules/video_filter/Makefile
  modules/video_filter/deinterlace/Makefile
  modules/video_output/Makefile
  modules/video_output/directx/Makefile
  modules/video_output/mga/Makefile
  modules/video_output/qte/Makefile
  modules/video_output/x11/Makefile
  modules/visualization/Makefile
  modules/visualization/scope/Makefile
  modules/visualization/xosd/Makefile
  modules/visualization/visual/Makefile
Samuel Hocevar's avatar
Samuel Hocevar committed
  chmod 0755 vlc-config
Samuel Hocevar's avatar
Samuel Hocevar committed
dnl Generate makefiles found by bootstrap

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
"