]> git.sesse.net Git - vlc/blobdiff - configure.ac
Some autoconf fun
[vlc] / configure.ac
index fa4a7ce1773efc5e68b6451baf61f7c4890eb694..2194b78bc43dd811d0e14876d0ae07010581e686 100644 (file)
@@ -6,13 +6,14 @@ VERSION_MINOR="9"
 VERSION_REVISION="0"
 VERSION_EXTRA="svn"
 
-CONFIGURE_LINE="$0 $*"
+CONFIGURE_LINE="$0 $ac_configure_args"
 CODENAME="Grishenko"
 
 AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
-AC_CANONICAL_SYSTEM
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
 
 AM_INIT_AUTOMAKE([1.7 check-news dist-bzip2])
 AM_CONFIG_HEADER(config.h)
@@ -139,7 +140,7 @@ LDFLAGS_vlc="${LDFLAGS}"
 dnl
 dnl  Check the operating system
 dnl
-case "${target_os}" in
+case "${host_os}" in
   "")
     SYS=unknown
     ;;
@@ -152,9 +153,9 @@ case "${target_os}" in
     VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd])
     ;;
   *bsd*)
-    SYS="${target_os}"
+    SYS="${host_os}"
     CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
-    case "${target_os}" in
+    case "${host_os}" in
       freebsd*)
         CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include"
         CPPFLAGS="${CPPFLAGS_save}"
@@ -188,7 +189,7 @@ case "${target_os}" in
     AC_CHECK_TOOL(WINDRES, windres, :)
     enable_libtool="no"
 
-    case "${target_os}" in
+    case "${host_os}" in
       *mingw32*)
         SYS=mingw32
         ;;
@@ -257,7 +258,7 @@ case "${target_os}" in
     fi
     ;;
   *)
-    SYS="${target_os}"
+    SYS="${host_os}"
     ;;
 esac
 AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
@@ -772,6 +773,7 @@ fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_HEADER_TIME
 
+AC_CHECK_TYPE(ssize_t, int)
 AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
 
 dnl Check for dirent
@@ -879,79 +881,13 @@ AC_CACHE_CHECK([for ntohl in sys/param.h],
     [ac_cv_c_ntohl_sys_param_h],
     [CFLAGS="${CFLAGS_save} -Wall -Werror"
      AC_TRY_COMPILE([#include <sys/param.h>],
-        [void foo() { int meuh; ntohl(meuh); }],
+        [int meuh; ntohl(meuh);],
         ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
 if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
     AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
 fi
 
-# XXX: do this with an M4 macro?
-#dnl Check for various -W flags
-#for flag in "" all unreachable-code conversion sign-compare disabled-optimization
-#do
-#    AC_CACHE_CHECK([if \$CC accepts -W${flag}],
-#        [ac_cv_c_W${flag}],
-#        [CFLAGS="-W${flag} ${CFLAGS_save}"
-#         AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
-#    if test "${ac_cv_c_W${flag}}" != "no"; then
-#        CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-#        CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-#        OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-#    fi
-#done
-
-AC_CACHE_CHECK([if $CC accepts -Wall],
-    [ac_cv_c_Wall],
-    [CFLAGS="-Wall ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
-
-AC_CACHE_CHECK([if $CC accepts -Wextra],
-    [ac_cv_c_Wextra],
-    [CFLAGS="-Wextra ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wextra=yes, ac_cv_c_Wextra=no)])
-
-AC_CACHE_CHECK([if $CC accepts -Wno-unused-parameter],
-    [ac_cv_c_Wno_unused_parameter],
-    [CFLAGS="-Wno-unused-parameter ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wno_unused_parameter=yes, ac_cv_c_Wno_unused_parameter=no)])
-
-AC_CACHE_CHECK([if $CC accepts -Wconversion],
-    [ac_cv_c_Wconversion],
-    [CFLAGS="-Wconversion ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
-
-AC_CACHE_CHECK([if $CC accepts -Wunreachable-code],
-    [ac_cv_c_Wunreachable_code],
-    [CFLAGS="-Wunreachable-code ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
-
-AC_CACHE_CHECK([if $CC accepts -Wsign-compare],
-    [ac_cv_c_Wsign_compare],
-    [CFLAGS="-Wsign-compare ${CFLAGS_save}"
-     AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
-
-if test "${ac_cv_c_Wall}" != "no"; then
-    CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-fi
-
-if test "${ac_cv_c_Wextra}" != "no"; then
-    CFLAGS_save="-Wextra ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wextra ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wextra ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-if test "${ac_cv_c_Wno_unused_parameter}" != "no"; then
-    CFLAGS_save="${CFLAGS_save} -Wno-unused-parameter"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CFLAGS_save} -Wno-unused-parameter"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="${OBJCFLAGS_save} -Wno-unused-parameter "; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
-
-if test "${ac_cv_c_Wsign_compare}" != "no"; then
-    CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
-    OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
-fi
+RDC_PROG_CC_WFLAGS_IFELSE([all extra no-unused-parameter conversion unreachable-code sign-compare undef])
 
 dnl Check for -pipe
 AC_CACHE_CHECK([if \$CC accepts -pipe],
@@ -969,7 +905,7 @@ AC_CACHE_CHECK([if \$CC accepts -Os],
     [ac_cv_c_os],
     [CFLAGS="${CFLAGS_save} -Os"
      AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)])
-if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then
+if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then
     CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os"
 fi
 
@@ -977,7 +913,7 @@ AC_CACHE_CHECK([if \$CC accepts -O3],
     [ac_cv_c_o3],
     [CFLAGS="${CFLAGS_save} -O3"
      AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
-if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then
+if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then
     CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
 fi
 
@@ -985,7 +921,7 @@ AC_CACHE_CHECK([if \$CC accepts -O2],
     [ac_cv_c_o2],
     [CFLAGS="${CFLAGS_save} -O2"
      AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
-if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then
+if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then
     if test "${ac_cv_c_o3}" = "no"; then
         CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
     fi
@@ -995,7 +931,7 @@ else
         [ac_cv_c_o],
         [CFLAGS="${CFLAGS_save} -O"
          AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
-    if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then
+    if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then
         if test "${ac_cv_c_o3}" = "no"; then
             CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
        fi
@@ -1125,12 +1061,12 @@ fi
 dnl
 dnl  Check the CPU
 dnl
-case "${target_cpu}" in
+case "${host_cpu}" in
   "")
     ARCH=unknown
     ;;
   *)
-    ARCH="${target_cpu}"
+    ARCH="${host_cpu}"
     ;;
 esac
 
@@ -1316,12 +1252,12 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
   [ac_cv_c_altivec],
   [# OS X/PPC test (gcc 4.x)
    CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL"
-   AC_TRY_COMPILE([],
+   AC_TRY_COMPILE([vector unsigned char foo;],
      [vec_ld(0, (unsigned char *)0);],
      [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"],
      [# OS X/PPC test (gcc 3.x)
       CFLAGS="${CFLAGS_save} -faltivec"
-      AC_TRY_COMPILE([],
+      AC_TRY_COMPILE([vector unsigned char foo;],
         [vec_ld(1 * sizeof(vector float), (unsigned char *)0);],
         [ac_cv_c_altivec="-faltivec"],
         dnl Below this are the Linux tests
@@ -1390,13 +1326,13 @@ if test -n "${with_tuning}"; then
         CFLAGS_TUNING="-mtune=${with_tuning}"
     fi
 else
-    if test "${SYS}" = "darwin" -a "${target_cpu}" = "i686"; then
+    if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
         CFLAGS_TUNING="-march=pentium-m -mtune=prescott"
-    elif test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
+    elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
         CFLAGS_TUNING="-mtune=pentium2"
-    elif test "${target_cpu}" = "x86_64"; then
+    elif test "${host_cpu}" = "x86_64"; then
         CFLAGS_TUNING="-mtune=athlon64"
-    elif test "${target_cpu}" = "powerpc"; then
+    elif test "${host_cpu}" = "powerpc"; then
         CFLAGS_TUNING="-mtune=G4";
     fi
 fi
@@ -1420,7 +1356,7 @@ AS_IF([test "${CFLAGS_TUNING}"],
 dnl
 dnl  x86 accelerations
 dnl
-if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
+if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64"
 then
     ARCH="${ARCH} mmx"
     VLC_ADD_BUILTINS([${ACCEL_MODULES}])
@@ -1449,7 +1385,7 @@ AC_ARG_ENABLE(altivec,
 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
-[ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
+[ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
     VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
 
 dnl
@@ -3192,7 +3128,7 @@ if test "${enable_dts}" != "no"; then
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
       AC_CHECK_LIB(dts_pic, dts_free, [
         VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
         ],[
         AC_CHECK_LIB(dts, dts_free, [
           VLC_ADD_BUILTINS([dtstofloat32])
@@ -3205,7 +3141,7 @@ if test "${enable_dts}" != "no"; then
             AC_MSG_ERROR([the specified tree hasn't been compiled])
           fi
         ])
-      ])
+      ], [-lm])
       LDFLAGS="${LDFLAGS_save}"
     else
       AC_MSG_RESULT(no)
@@ -3216,7 +3152,7 @@ if test "${enable_dts}" != "no"; then
     AC_CHECK_HEADERS(dts.h, [
       AC_CHECK_LIB(dts_pic, dts_free, [
         VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm])
       ],[
         AC_CHECK_LIB(dts, dts_free, [
           VLC_ADD_BUILTINS([dtstofloat32])
@@ -3226,7 +3162,7 @@ if test "${enable_dts}" != "no"; then
             AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
           fi
         ])
-      ])
+      ], [-lm])
     ])
     LDFLAGS="${LDFLAGS_save}"
   fi
@@ -4330,7 +4266,7 @@ then
     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
                     #define ALSA_PCM_NEW_SW_PARAMS_API
                     #include <alsa/asoundlib.h>],
-       [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
+       [snd_pcm_hw_params_get_period_time(0,0,0);],
         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
     VLC_ADD_PLUGINS([alsa])
     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
@@ -4971,7 +4907,7 @@ then
     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); }],,
+         [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"
   then
@@ -5129,6 +5065,9 @@ AS_IF([test "${enable_gnutls}" != "no"], [
       AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
     ])
   ])
+  AC_CHECK_LIB([gcrypt], [gcry_control], [
+    VLC_ADD_LDFLAGS([gnutls], [-lgcrypt])
+  ])
 ])
 
 
@@ -5199,7 +5138,7 @@ 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_PLUGINS([dmo])
     VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader])
     VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la])
     VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader])
@@ -5487,29 +5426,12 @@ then
   plugin_support=false
 fi
 
-dnl Export automake variables
-if ${plugin_support}
-then
+AS_IF([${plugin_support}], [
   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
-  for plugin in `echo ${PLUGINS}`
-  do
-    eval "${plugin}_p=yes"
-  done
-else
+], [
   VLC_ADD_BUILTINS([${PLUGINS}])
   PLUGINS=""
-fi
-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})
+])
 
 dnl
 dnl Pic and shared libvlc stuff
@@ -5518,10 +5440,14 @@ AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no])
 AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"])
 AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [
   AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.])
-  FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"],
-  FILE_LIBVLC_DLL="" )
+  FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"
+  VLC_ADD_PLUGINS([${BUILTINS}])
+  BUILTINS=""
+], [
+  FILE_LIBVLC_DLL=""
+])
 
-dnl Import conditional variables generated by bootstrap
+ dnl Import conditional variables generated by bootstrap
 VLC_CONDITIONALS
 
 dnl