]> git.sesse.net Git - vlc/blobdiff - configure.ac
osx/framework: extended API to cover titles, fps, playback modes and some convienienc...
[vlc] / configure.ac
index e24c595fb4cd247fef5aa976d6eb052172fd5733..794f65abbc88e5f20e8a876c620876fc8b8f5aa4 100644 (file)
@@ -125,20 +125,17 @@ AC_ARG_WITH(contrib,
       if test "`echo \"$topdir\" | cut -c 1`" != "/"; then
          topdir="`pwd`/$topdir"
       fi
-      CONTRIB_DIR=${topdir}/extras/contrib
+      CONTRIB_DIR=${topdir}/extras/contrib/hosts/${host}
+      if ! test -d "$CONTRIB_DIR"
+      then
+        gccmachine=`$CC -dumpmachine`
+        CONTRIB_DIR=${topdir}/extras/contrib/hosts/${gccmachine}
+      fi
     fi
     AC_MSG_CHECKING([for libs in ${CONTRIB_DIR}])
   AS_IF([test -d ${CONTRIB_DIR}/lib],[
-   AS_IF([test "`grep HOST ${CONTRIB_DIR}/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"],[
-      if test "${with_contrib}" = "yes"; then
-        AC_MSG_RESULT([no])
-        AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host])
-      else
-        AC_MSG_RESULT([no])
-        AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host])
-      fi
-     ],[
     AC_MSG_RESULT([yes])
+    AC_SUBST(CONTRIB_DIR)
     export PATH=${CONTRIB_DIR}/bin:$PATH
     CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
     CPPFLAGS_save="${CPPFLAGS_save} -I${CONTRIB_DIR}/include"
@@ -170,10 +167,9 @@ AC_ARG_WITH(contrib,
       export LIBRARY_PATH=${CONTRIB_DIR}/lib:$LIBRARY_PATH
       export BELIBRARIES=${CONTRIB_DIR}/lib:$BELIBRARIES
     fi
+    ],[
+       AC_MSG_RESULT([no])
     ])
-  ],[
-    AC_MSG_RESULT([no])
-  ])
 ])
 dnl
 dnl  Set default values
@@ -223,7 +219,7 @@ case "${host_os}" in
     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
     VLC_ADD_LDFLAGS([libvlc],[-Wl,-undefined,dynamic_lookup])
-    VLC_ADD_LDFLAGS([avcodec avformat swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_LDFLAGS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
     VLC_ADD_LDFLAGS([libvlccore],[-Wl,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
@@ -269,14 +265,8 @@ case "${host_os}" in
 
         enable_skins2="no"
         echo "  Assuming --disable-skins2"
-        enable_x11="no"
-        echo "  Assuming --disable-x11"
         enable_xcb="no"
         echo "  Assuming --disable-xcb"
-        enable_glx="no"
-        echo "  Assuming --disable-glx"
-        enable_xvideo="no"
-        echo "  Assuming --disable-xvideo"
     fi
     dnl
     dnl  Check for Mac OS X SDK settings
@@ -736,13 +726,13 @@ AC_CHECK_LIB(m,cos,[
   VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger],[-lm])
 ])
 AC_CHECK_LIB(m,pow,[
-  VLC_ADD_LIBS([avcodec avformat swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
+  VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc ffmpegaltivec i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realaudio realvideo opengl],[-lm])
 ])
 AC_CHECK_LIB(m,sqrt,[
   VLC_ADD_LIBS([headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract],[-lm])
 ])
 AC_CHECK_LIB(m,ceil,[
-  VLC_ADD_LIBS([hotkeys mosaic swscale_omap],[-lm])
+  VLC_ADD_LIBS([access_imem hotkeys mosaic swscale_omap],[-lm])
 ])
 AC_CHECK_LIB(m,exp,[
   VLC_ADD_LIBS([gaussianblur],[-lm])
@@ -942,9 +932,11 @@ AC_ARG_VAR(PKG_CONFIG_PATH,
 PKG_PROG_PKG_CONFIG()
 
 dnl On some OS we need static linking 
-AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
-       PKG_CONFIG="${PKG_CONFIG} --static"
-    ])
+       AS_IF([test -n "${PKG_CONFIG}" ],[
+             AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "darwin" ],[
+                 PKG_CONFIG="${PKG_CONFIG} --static"
+             ])
+       ])
 
 
 dnl
@@ -1865,6 +1857,7 @@ AS_IF([test "${enable_growl}" != "no"], [
     AC_CHECK_HEADERS(Growl/GrowlDefines.h, [
       VLC_ADD_PLUGIN([growl])
       VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit])
+      VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
     ])
   ]
 )
@@ -2015,10 +2008,10 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.])
         VLC_ADD_LIBS([live555],[-lws2_32])
       fi
 
-      VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
+      VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
       VLC_ADD_LIBS([live555],[-L${real_live555_tree}/groupsock -lgroupsock])
-      VLC_ADD_LIBS([live555],[-L${real_live555_tree}/UsageEnvironment -lUsageEnvironment])
+      VLC_ADD_LIBS([live555],[-L${real_live555_tree}/liveMedia -lliveMedia])
 
       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/BasicUsageEnvironment/include])
       VLC_ADD_CXXFLAGS([live555],[-I${real_live555_tree}/groupsock/include])
@@ -2041,7 +2034,7 @@ dnl
 dnl - special access module for dc1394 input
 dnl - dv module: digital video module check for libraw1394
 dnl
-PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394 >= 1.0.0], [dc1394 access module], [auto])
+PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
 PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
 
 dnl
@@ -2958,7 +2951,7 @@ AS_IF([test "${enable_id3tag}" = "yes"], [
 ])
 
 AC_ARG_ENABLE(merge-ffmpeg,
-[  --enable-merged-ffmpeg  merge FFmpeg-based plugins (default disabled)],, [
+[  --enable-merge-ffmpeg  merge FFmpeg-based plugins (default disabled)],, [
   enable_merge_ffmpeg="no"
 ])
 AM_CONDITIONAL([MERGE_FFMPEG], [test "$enable_merge_ffmpeg" != "no"])
@@ -3047,6 +3040,10 @@ then
         VLC_ADD_PLUGIN([avformat])
         VLC_ADD_LIBS([avformat],[$AVFORMAT_LIBS $AVUTIL_LIBS])
         VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
+
+        VLC_ADD_PLUGIN([access_avio])
+        VLC_ADD_LIBS([access_avio],[$AVFORMAT_LIBS $AVUTIL_LIBS])
+        VLC_ADD_CFLAGS([access_avio],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
       ], [
         VLC_ADD_LIBS([avcodec],[$AVFORMAT_LIBS $AVUTIL_LIBS])
         VLC_ADD_CFLAGS([avcodec],[$AVFORMAT_CFLAGS $AVUTIL_CFLAGS])
@@ -3611,81 +3608,6 @@ dnl  Xlib
 dnl
 
 AC_PATH_XTRA()
-AC_ARG_ENABLE(x11,
-  [  --enable-x11            X11 support with Xlib (default enabled)],, [
-  AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
-    enable_x11="yes"
-  ], [
-    enable_x11="no"
-  ])
-])
-
-CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}"
-
-AS_IF([test "${enable_x11}" != "no"], [
-  AC_CHECK_HEADERS(X11/Xlib.h)
-
-dnl Check for DPMS
-  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
-    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
-    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
-      AC_MSG_RESULT(yes)
-      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
-                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
-    ],[
-      AC_MSG_RESULT(no)
-    ])
-  ],,[
-    #include <X11/Xlib.h>
-  ])
-])
-
-dnl
-dnl  GLX module
-dnl  (enabled by default except on win32)
-dnl
-AC_ARG_ENABLE(glx,
-  [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
-  enable_glx="$enable_x11"
-])
-AS_IF([test "${enable_glx}" != "no"], [
-  AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h)
-  AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
-    [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H)
-    choke me
-    #endif]]),
-    [
-      VLC_ADD_PLUGIN([glx])
-      VLC_ADD_LIBS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU])
-      VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}])
-    ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])])
-])
-
-dnl
-dnl  XVMC module
-dnl  (disabled by default except on win32)
-dnl
-AC_ARG_ENABLE(xvmc,
-  [  --enable-xvmc           XvMC support (default disabled)],, [
-  enable_xvmc="no"
-])
-AS_IF([test "${enable_xvmc}" != "no"], [
-  AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [
-    AS_IF([test "${enable_libmpeg2}" = "yes"], [
-      VLC_ADD_PLUGIN([xvmc])
-      VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv ${LIBMPEG2_LIBS}])
-      VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS} ${LIBMPEG2_CFLAGS}])
-    ], [
-      AC_MSG_ERROR([XVideo-MotionCompensation needs libmpeg2 which isn't available])
-    ])
-  ], [
-    AC_MSG_ERROR([XVideo-MotionCompensation extension not found!])
-  ])
-])
-
-dnl End of Xlib tests
-CPPFLAGS="${CPPFLAGS_save}"
-
 
 dnl
 dnl  X C Bindings modules
@@ -3753,6 +3675,25 @@ AS_IF([test "${enable_xcb}" != "no"], [
   VLC_ADD_PLUGIN([xdg_screensaver])
 ])
 
+AC_ARG_ENABLE(glx,
+  [  --enable-glx            X11 OpenGL (GLX) support (default enabled)],, [
+  enable_glx="$enable_xcb"
+])
+AS_IF([test "${enable_glx}" != "no"], [
+  PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb])
+  PKG_CHECK_MODULES(GL, [gl],, [
+    AC_CHECK_HEADER([GL/gl.h], [
+      GL_CFLAGS=""
+      GL_LIBS="-lGL"
+    ], [
+      AC_MSG_ERROR([GLX (libGL) cannot be found. If you do not need OpenGL with X11, use --disable-glx.])
+    ])
+  ])
+  VLC_ADD_PLUGIN([xcb_glx])
+])
+AC_SUBST([GL_CFLAGS])
+AC_SUBST([GL_LIBS])
+
 
 dnl
 dnl  OpenGL module
@@ -4449,26 +4390,6 @@ AS_IF([test "${enable_qt4}" != "no"], [
 ])
 AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"])
 
-dnl
-dnl  WinCE GUI module
-dnl
-AC_ARG_ENABLE(wince,
-  [  --enable-wince          Windows CE interface (default enabled with MinGW)])
-if test "${enable_wince}" != "no"; then
-  if test "${SYS}" = "mingwce"; then
-    VLC_ADD_PLUGIN([wince])
-    VLC_ADD_CXXFLAGS([wince],[])
-    VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
-    dnl Gross hack
-    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
-  elif test "${SYS}" = "mingw32"; then
-    VLC_ADD_CXXFLAGS([wince],[])
-    VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
-    dnl Gross hack
-    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
-  fi
-fi
-
 dnl
 dnl Simple test for skins2 dependency
 dnl
@@ -4514,7 +4435,7 @@ dnl
 dnl  MacOS X video output/gui modules
 dnl
 AC_ARG_ENABLE(macosx,
-  [  --enable-macosx         MacOS X support (default enabled on MacOS X)])
+  [  --enable-macosx         full Mac OS X support (default enabled on Mac OS X)])
 if test "x${enable_macosx}" = "xyes"
 then
   VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,Foundation])
@@ -4524,8 +4445,8 @@ then
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,CoreServices])
   VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
-  VLC_ADD_LDFLAGS([macosx],                           [-F\\\${top_srcdir}/extras/contrib/Sparkle -Wl,-framework,Sparkle])
-  VLC_ADD_OBJCFLAGS([macosx],                         [-F\\\${top_srcdir}/extras/contrib/Sparkle])
+  VLC_ADD_LDFLAGS([macosx],                           [-F${CONTRIB_DIR}/Sparkle -Wl,-framework,Sparkle])
+  VLC_ADD_OBJCFLAGS([macosx],                         [-F${CONTRIB_DIR}/Sparkle])
   dnl For bug report
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,AddressBook])
   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,QTKit])
@@ -4533,7 +4454,7 @@ then
   VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
   VLC_ADD_LDFLAGS([opengllayer qtcapture],            [-Wl,-framework,QuartzCore])
   VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
-  VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl opengllayer], [-fobjc-exceptions] )
+  VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] )
 
   VLC_ADD_PLUGIN([access_eyetv])
   VLC_ADD_PLUGIN([qtcapture])
@@ -4542,6 +4463,30 @@ then
   VLC_ADD_PLUGIN([opengllayer])
 fi
 
+dnl
+dnl  MacOS X video output/gui modules
+dnl
+AC_ARG_ENABLE(macosx-minimal,
+  [  --enable-macosx-minimal minimal Mac OS X support (default disabled)])
+if test "x${enable_macosx_minimal}" = "xyes"
+then
+  VLC_ADD_LDFLAGS([minimal_macosx opengllayer qtcapture],[-Wl,-framework,Cocoa])
+  VLC_ADD_LDFLAGS([minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
+  VLC_ADD_LDFLAGS([minimal_macosx],            [-Wl,-framework,Carbon])
+  VLC_ADD_LDFLAGS([minimal_macosx],            [-Wl,-framework,CoreServices])
+  VLC_ADD_LDFLAGS([minimal_macosx],            [-Wl,-framework,AGL])
+
+  VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,QTKit])
+  VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreAudio])
+  VLC_ADD_LDFLAGS([opengllayer qtcapture],            [-Wl,-framework,QuartzCore])
+  VLC_ADD_LDFLAGS([qtcapture],                        [-Wl,-framework,CoreVideo])
+  VLC_ADD_OBJCFLAGS([minimal_macosx opengllayer], [-fobjc-exceptions] )
+
+  VLC_ADD_PLUGIN([qtcapture])
+  VLC_ADD_PLUGIN([minimal_macosx])
+  VLC_ADD_PLUGIN([opengllayer])
+fi
+
 dnl
 dnl  QNX RTOS module
 dnl
@@ -4811,6 +4756,39 @@ then
   AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism])
 fi
 
+dnl
+dnl SQLite
+dnl
+AC_ARG_WITH(sqlite,
+  [  --with-sqlite=PATH      sqlite path linking])
+if test "${SYS}" != "darwin"; then
+  PKG_ENABLE_MODULES_VLC([SQLITE], [], [sqlite3], [sqlite3], [auto])
+else
+  if test "${enable_sqlite}" != "no"
+  then
+    AC_CHECK_HEADERS(sqlite3.h, [
+        VLC_ADD_PLUGIN([sqlite])
+        if test "${with_sqlite}" != "no" -a -n "${with_sqlite}"; then
+          AC_MSG_CHECKING(existence of sqlite directory in ${with_sqlite})
+          real_sqlite="`cd ${with_sqlite} 2>/dev/null && pwd`"
+          if test -z "${real_sqlite}"
+          then
+            dnl  The given directory can't be found
+            AC_MSG_RESULT(no)
+            AC_MSG_ERROR([cannot cd to ${with_sqlite}])
+          fi
+          VLC_ADD_CFLAGS([sqlite],[-I${with_sqlite}/include])
+          VLC_ADD_LIBS([sqlite], [-L${with_sqlite}/lib -lsqlite3])
+          AC_MSG_RESULT(yes)
+        else
+          VLC_ADD_LIBS([sqlite], [-lsqlite3])
+        fi
+        AC_DEFINE([SQLITE_MODULE], 1, [Define if you want to use SQLite module]) ],
+        AC_MSG_ERROR([sqlite3 is required for sqlite module]) )
+  fi
+fi
+AM_CONDITIONAL([HAVE_SQLITE], [test "${enable_sqlite}" != "no"])
+
 
 dnl
 dnl  Endianness check
@@ -5073,12 +5051,6 @@ fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
-dnl Tests for Xsp
-AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
-  VLC_ADD_CPPFLAGS([xvmc glx],[-DHAVE_XSP])
-  VLC_ADD_LIBS([xvmc glx],[-lXsp])
-])
-
 dnl
 dnl  test plugins
 dnl
@@ -5217,6 +5189,7 @@ dnl Create vlc-config.in
 VLC_OUTPUT_VLC_CONFIG_IN
 
 AC_CONFIG_FILES([
+  extras/package/win32/spad.nsi
   extras/package/win32/vlc.win32.nsi
   extras/package/macosx/Info.plist
   extras/package/macosx/Resources/English.lproj/InfoPlist.strings
@@ -5275,7 +5248,6 @@ AC_CONFIG_FILES([
   modules/codec/subtitles/Makefile
   modules/codec/spudec/Makefile
   modules/codec/wmafixed/Makefile
-  modules/codec/xvmc/Makefile
   modules/control/Makefile
   modules/control/http/Makefile
   modules/control/globalhotkeys/Makefile
@@ -5295,7 +5267,6 @@ AC_CONFIG_FILES([
   modules/gui/qnx/Makefile
   modules/gui/qt4/Makefile
   modules/gui/skins2/Makefile
-  modules/gui/wince/Makefile
   modules/meta_engine/Makefile
   modules/misc/Makefile
   modules/misc/dummy/Makefile
@@ -5320,7 +5291,6 @@ AC_CONFIG_FILES([
   modules/video_output/Makefile
   modules/video_output/msw/Makefile
   modules/video_output/qte/Makefile
-  modules/video_output/x11/Makefile
   modules/visualization/Makefile
   modules/visualization/visual/Makefile
 ])