]> git.sesse.net Git - vlc/blobdiff - configure.ac
* src/playlist/playlist.c: Attempt to fix PLAYLIST_ITEMPLAY in non-view
[vlc] / configure.ac
index 4c288f50a2271d6e7ed206ef11323df4c258396f..3ebe8331f3272cf640b86399bebe3405d5fadff9 100644 (file)
@@ -1,7 +1,11 @@
 dnl Autoconf settings for vlc
 dnl $Id$
+
 AC_INIT(vlc,0.8.4-svn)
+VERSION_MAJOR="0"
+VERSION_MINOR="8"
+VERSION_REVISION="4"
+VERSION_EXTRA="svn"
 
 CONFIGURE_LINE="$0 $*"
 CODENAME="Janus"
@@ -34,6 +38,7 @@ if test "${CXX}" != ""; then
 fi
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
+AM_PROG_AS
 
 dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
 dnl now otherwise it might be set in an obscure if statement.
@@ -157,7 +162,7 @@ case "${target_os}" in
         CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
         VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
         VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
-        VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet netsync],[-lws2_32])
+        VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
@@ -206,7 +211,7 @@ AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 dnl
 dnl Gettext stuff
 dnl
-ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ru tr zh_TW"
+ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR ro ru tr zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
 if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
@@ -1153,21 +1158,30 @@ dnl  Special arch tuning
 dnl
 AC_ARG_WITH(tuning,
 [  --with-tuning=ARCH      enable special tuning for an architecture
-                          (default i686 on IA-32 and 750 on PPC)])
+                          (default Pentium 2 on IA-32 and 750 on PPC)])
 if test -n "${with_tuning}"; then
-    if test "${target_cpu}" = "powerpc"; then
-        CFLAGS_TUNING="-mtune=${with_tuning}"
-    else
-        CFLAGS_TUNING="-mcpu=${with_tuning}"
-    fi
+    CFLAGS_TUNING="-mtune=${with_tuning}"
 else
     if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
-        CFLAGS_TUNING="-mcpu=pentiumpro"
+        CFLAGS_TUNING="-mtune=pentium2"
     elif test "${target_cpu}" = "x86_64"; then
-        CFLAGS_TUNING="-mtune=opteron"
+        CFLAGS_TUNING="-mtune=athlon64"
     elif test "${target_cpu}" = "powerpc"; then
         CFLAGS_TUNING="-mtune=750";
     fi
+
+    dnl NOTE: this can't be cached cleanly
+    AS_IF([test "${CFLAGS_TUNING}"],
+       [CFLAGS_save="${CFLAGS}"
+        CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
+
+        AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
+        AC_COMPILE_IFELSE([ ], [tuning="yes"],
+                               [CFLAGS_TUNING=""; tuning="no"])
+
+        AC_MSG_RESULT([$tuning])
+        CFLAGS="${CFLAGS_save}"
+    ])
 fi
 
 dnl
@@ -1486,7 +1500,7 @@ dnl
 dnl  libsmbclient plugin
 dnl
 AC_ARG_ENABLE(smb,
-  [  --enable-smb         smb input module (default enabled)])
+  [  --enable-smb            smb input module (default enabled)])
 if test "${enable_smb}" != "no"; then
   AC_CHECK_HEADERS(libsmbclient.h,
     [ VLC_ADD_PLUGINS([access_smb])
@@ -1617,38 +1631,51 @@ then
   VLC_ADD_PLUGINS([pvr])
 fi
 
+dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
+AC_ARG_ENABLE(libcdio,
+  [  --enable-libcdio        CD input and control library support (default enabled)])
+have_libcdio=no
+have_libvcdinfo=no
+if test "${enable_libcdio}" != "no"
+then
+  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
+     have_libcdio=yes
+     AC_DEFINE(HAVE_LIBCDIO, [], 
+     [Define if you have libcdio 0.72 or greater installed]),
+     [AC_MSG_WARN(CD Reading and information library not found)])
+
+  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
+     [have_libvcdinfo=yes
+     AC_DEFINE(HAVE_VCDINFO, [], 
+     [Define if you have libvcdinfo 0.7.21 or greater installed])],
+     [AC_MSG_WARN(VCD information library not found)])
+fi
+
 dnl
 dnl  VCDX and CDDAX modules
 dnl
-AC_ARG_ENABLE(libcdio,
-  [  --enable-libcdio        CDDA support via libcdio (default enabled)])
+AC_ARG_ENABLE(cddax,
+  [  --enable-cddax          audio CD plugin with CD Text and CD paranoia via libcdio (default disabled)])
  
 AC_ARG_ENABLE(libcddb,
-  [  --enable-libcddb        CDDB support for CDDAX (default enabled)])
-AC_ARG_ENABLE(vcdx,
-  [  --enable-vcdx           VCD support with Navigation (default disabled)])
-AC_ARG_ENABLE(cdda,           
-  [  --enable-cdda           CDDA plugin support (default enabled)])
-AC_ARG_ENABLE(cddax,
-  [  --enable-cddax          CDDA plugin with CD Text and possibly CDDB and paranoia support (default disabled)])
+  [  --enable-libcddb        CDDB support for libcdio audio CD (default enabled)])
  
 if test "${enable_cddax}" = "yes"
 then
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71,
-   [
-    AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
+  if test "$have_libcdio" = "yes"
+  then
+    AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio])
     VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
     VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
-    VLC_ADD_PLUGINS([cddax])], 
-    [AC_MSG_WARN(libcdio library not found)
-    HAVE_CDDAX=no])
-
-  PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
-  VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])], 
-  HAVE_CDDAX=no)
+    VLC_ADD_PLUGINS([cddax])
+    PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [
+    VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])],
+    AC_MSG_WARN([CD Paranoia support disabled because no libcdio >= 0.72 found]))
+  else 
+    AC_MSG_WARN([cddax plugin disabled because ok libcdio library not found or disabled])
+    HAVE_CDDAX=no
+  fi
 
   if test "$enable_libcddb" != "no"; then
     PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [
@@ -1663,35 +1690,47 @@ then
  
 fi
 
+AC_ARG_ENABLE(vcdx,
+  [  --enable-vcdx           VCD with navigation via libvcdinfo (default disabled)])
 if test "${enable_vcdx}" = "yes"
 then
-  PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72,
-   [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS])
-    VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])],
-    [AC_MSG_WARN(libcdio library not found)
-    HAVE_VCDX=no])
+  if test "${have_libvcdinfo}" = "yes"
+  then
+    VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
+    VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
+  else 
+    AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found or disabled])
+    HAVE_VCDX=no
+  fi
 
   PKG_CHECK_MODULES(LIBCDIO, libiso9660 >= 0.72,
    [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS])
     VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])],
-    [AC_MSG_WARN(libiso9660 library not found)
+    [AC_MSG_WARN([vcdx plugin disabled because ok libiso9660 library not found])
     HAVE_VCDX=no])
 
-  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
-   [AC_DEFINE(HAVE_VCDX, [], 
+  if test "$have_libvcdinfo" = "yes"
+  then
+    AC_DEFINE(HAVE_VCDX, [], 
     [Define for the VCD plugin using libcdio/libvcdinfo])
     VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
     VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
-    VLC_ADD_PLUGINS([vcdx])], 
-   [AC_MSG_WARN(vcdinfo library not found)
-   HAVE_VCDX=no])
+    VLC_ADD_PLUGINS([vcdx])
+  else 
+    AC_MSG_WARN([vcdx plugin disabled because ok libvcdinfo library not found])
+    HAVE_VCDX=no
+  fi
 fi
 
 dnl
-dnl  VCD module
+dnl  Built-in CD-DA and VCD module
 dnl
+AC_ARG_ENABLE(cdda,           
+  [  --enable-cdda           audio CD via built-in VCD (default enabled)])
 AC_ARG_ENABLE(vcd,
-  [  --enable-vcd            VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
+  [  --enable-vcd            built-in VCD (default enabled)])
 
 if test "${enable_vcd}" != "no"
 then
@@ -1734,18 +1773,6 @@ then
   fi
 fi
 
-dnl
-dnl  Satellite input module
-dnl
-AC_ARG_ENABLE(satellite,
-  [  --enable-satellite      satellite card support (default disabled)],
-  [ if test "${enable_satellite}" = "yes"
-    then
-      AC_DEFINE(HAVE_SATELLITE, [], 
-      [Define for the VCD plugin using libcdio/libvcdinfo])
-      VLC_ADD_PLUGINS([satellite])
-    fi])
-
 dnl
 dnl  DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
 dnl
@@ -1817,7 +1844,7 @@ then
   ])
   AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
   AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
-    [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) have_ipv6=false])
+    [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=false])
   if ${have_ipv6}; then
     VLC_ADD_PLUGINS([ipv6])
   fi
@@ -3405,6 +3432,50 @@ then
   AC_LANG_POP([C++])
 fi
 
+dnl
+dnl  CyberLink for C++ UPnP stack
+dnl
+AC_ARG_ENABLE(cyberlink,
+  [  --enable-cyberlink      CyberLink for C++ UPnP stack (default disabled)])
+if test "${CXX}" != "" -a "${enable_cyberlink}" = "yes" || (test "${enable_cyberlink}" != "no"); then
+  AC_ARG_WITH(cyberlink-tree,
+    [    --with-cyberlink-tree=PATH CyberLink for C++ tree for static linking])
+
+  dnl
+  dnl test for --with-cyberlink-tree
+  dnl
+  if test ! -z "${with_cyberlink_tree}" -a "${CXX}" != ""; then
+    AC_LANG_PUSH(C++)
+    real_cyberlink_tree="`cd ${with_cyberlink_tree} 2>/dev/null && pwd`"
+    if test -z "${real_cyberlink_tree}"
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_cyberlink_tree}])
+    fi
+    CXXFLAGS_save="${CXXFLAGS}"
+    CXXFLAGS_cyberlink="-I${real_cyberlink_tree}/include"
+    CXXFLAGS="${CXXFLAGS} ${CXXFLAGS_cyberlink}"
+    AC_CHECK_HEADERS([cybergarage/upnp/MediaServer.h],
+      [ VLC_ADD_CXXFLAGS([upnp], [${CXXFLAGS_cyberlink}])
+        VLC_ADD_PLUGINS([upnp]) 
+      ],[
+        AC_MSG_ERROR([cannot find CyberLink for C++ headers])
+      ])
+    AC_MSG_CHECKING(for libclink.a in ${with_cyberlink_tree})
+    if test -f "${real_cyberlink_tree}/lib/unix/libclink.a"
+    then
+      AC_MSG_RESULT(${real_cyberlink_tree}/lib/unix/libclink.a)
+      VLC_ADD_LDFLAGS([upnp], [${real_cyberlink_tree}/lib/unix/libclink.a -lexpat])
+    else
+      AC_MSG_RESULT(no)
+       AC_MSG_ERROR([cannot find ${real_cyberlink_tree}/lib/unix/libclink.a, make sure you compiled CyberLink for C++ in ${with_cyberlink_tree}])
+    fi
+    CXXFLAGS="${CXXFLAGS_save}"
+    AC_LANG_POP([C++])
+  fi
+fi
+
 dnl
 dnl  Interface plugins
 dnl
@@ -3635,8 +3706,24 @@ then
     if test "${ac_cv_cxx_fpermissive}" = "yes"; then
       VLC_ADD_CXXFLAGS([wxwindows],-fpermissive)
     fi
-    VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`])
     VLC_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`])
+    VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`])
+    if test "$have_libcdio" = "yes"
+    then 
+      VLC_ADD_LDFLAGS([wxwindows],[$LIBCDIO_LIBS])
+      VLC_ADD_CXXFLAGS([wxwindows],[$LIBCDIO_CFLAGS])
+    else 
+      AC_MSG_WARN([Probe disc disabled because ok libcdio library not found])
+    fi
+
+    if test "$have_libvcdinfo" = "yes"
+    then 
+      VLC_ADD_LDFLAGS([wxwindows],[$VCDINFO_LIBS])
+      VLC_ADD_CXXFLAGS([wxwindows],[$VCDINFO_CFLAGS])
+    else 
+      AC_MSG_WARN([VCD information on Probe disc disabled because ok libvcdinfo not found])
+    fi
+
     # now look for the wxprec.h header
     CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}"
     ac_cv_wx_headers=yes
@@ -4077,6 +4164,21 @@ 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])
+  ])
+
 dnl
 dnl  Microsoft ActiveX support
 dnl
@@ -4288,12 +4390,26 @@ 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 VideoLAN", [Copyright 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])
+
+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.2 release
+AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__0_8_2", [String suffix for module functions])
+AC_DEFINE_UNQUOTED(MODULE_SYMBOL, 0_8_2, [Symbol suffix for module functions])
 
-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])
+dnl Version number for ActiveX INF
+VERSION32="`echo -n ${VERSION} | sed -e 's/@<:@a-z\-@:>@//g' | sed -e 'y/./,/'`"
+VERSION32="`echo -n ${VERSION32}',0'`"
+AC_SUBST(VERSION32)
 
 DATA_PATH="${ac_tool_prefix}/share/vlc"
 AC_SUBST(DATA_PATH)
@@ -4342,11 +4458,13 @@ VLC_OUTPUT_VLC_CONFIG_IN
 AC_CONFIG_FILES([
   Makefile
   activex/Makefile
+  activex/axvlc.inf
   debian/Makefile
   doc/Makefile
   intl/Makefile
   ipkg/Makefile
   lib/Makefile
+  loader/Makefile
   modules/Makefile
   mozilla/Makefile
   m4/Makefile
@@ -4361,7 +4479,6 @@ AC_CONFIG_FILES([
   modules/access/dvb/Makefile
   modules/access/mms/Makefile
   modules/access/pvr/Makefile
-  modules/access/satellite/Makefile
   modules/access/v4l/Makefile
   modules/access/cdda/Makefile
   modules/access/vcd/Makefile