]> git.sesse.net Git - vlc/blobdiff - configure.ac
Modernize configure.ac a bit
[vlc] / configure.ac
index 529ca811566620309e59a61ec62e508ade8b1e03..b2ea7856dd88849560562918da7c29d2df231e4f 100644 (file)
@@ -9,7 +9,7 @@ VERSION_EXTRA="svn"
 CONFIGURE_LINE="$0 $*"
 CODENAME="Janus"
 
-AC_PREREQ(2.59c)
+AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CANONICAL_SYSTEM
@@ -38,33 +38,16 @@ dnl
 dnl Check for tools
 dnl
 AC_PROG_CC_C99
+AC_USE_SYSTEM_EXTENSIONS
 AM_PROG_CC_C_O
-AC_PROG_CPP
 AC_PROG_CXX
-eval "${CXX} --version" >/dev/null 2>&1 || CXX=""
-if test "${CXX}" != ""; then
-  AC_PROG_CXXCPP
-fi
+AC_PROG_OBJC
+_AM_DEPENDENCIES([OBJC])
+AC_PROG_EGREP
 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.
-AC_EGREP_CPP(foo,foo)
-
-dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
-AC_MSG_CHECKING(for an Objective-C compiler)
-OBJC="${CXX}"
-AC_SUBST(OBJC)
-OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
-AC_SUBST(OBJCFLAGS)
-dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
-#OBJCDEPMODE="depmode=gcc3"
-#AC_SUBST(OBJCDEPMODE)
-_AM_DEPENDENCIES(OBJC)
-AC_MSG_RESULT(not implemented yet)
-
 dnl Find the right ranlib, even when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 AC_CHECK_TOOL(STRIP, strip, :)
@@ -905,22 +888,27 @@ fi
 #    fi
 #done
 
-AC_CACHE_CHECK([if \$CC accepts -Wall],
+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 -Wconversion],
+AC_CACHE_CHECK([if $CC accepts -Wextra],
+    [ac_cv_c_Werror],
+    [CFLAGS="-Werror ${CFLAGS_save}"
+     AC_TRY_COMPILE([],,ac_cv_c_Werror=yes, ac_cv_c_Werror=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_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_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)])
@@ -931,6 +919,12 @@ if test "${ac_cv_c_Wall}" != "no"; then
     OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_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_Wsign_compare}" != "no"; then
     CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
@@ -1344,7 +1338,9 @@ if test "${ac_cv_c_altivec}" != "no"; then
   VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
   VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
   VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}])
-  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
+  if test "${ac_cv_altivec_inline}" = "no"; then
+    ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
+  fi
 fi
 
 AC_CACHE_CHECK([if linker needs -framework vecLib],
@@ -5173,11 +5169,24 @@ dnl
 activex=false
 AC_ARG_ENABLE(activex,
   [  --enable-activex        build a vlc-based ActiveX control (default enabled on Win32)])
+AC_ARG_WITH(wine-sdk-path,
+  [    --with-wine-sdk-path=PATH path to wine sdk])
 if test "${enable_activex}" != "no"
 then
   if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
   then
-    AC_CHECK_PROGS(MIDL, [midl widl], no)
+    AC_CHECK_PROGS(MIDL, [midl], no)
+    if test "${with_wine_sdk_path}" != ""
+    then
+       WINE_SDK_PATH=${with_wine_sdk_path}
+       AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl])
+    else
+       AC_CHECK_PROGS(WIDL, [widl], no)
+       if test "${WIDL}" != "no"
+       then
+          WINE_SDK_PATH="`dirname ${WIDL}`"/..
+       fi
+    fi
     AC_LANG_PUSH(C++)
     AC_CHECK_HEADERS(ole2.h olectl.h,
       [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions])
@@ -5197,6 +5206,8 @@ then
 fi
 AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)])
 AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no")
+AC_ARG_VAR(WIDL, [Wine IDL compiler (requires Wine SDK)])
+AM_CONDITIONAL(HAS_WIDL_COMPILER, test "${WIDL}" != "no")
 AM_CONDITIONAL(BUILD_ACTIVEX,${activex})
 
 dnl
@@ -5532,6 +5543,7 @@ AC_SUBST(RCC)
 AC_SUBST(UIC)
 AC_SUBST(WINDRES)
 AC_SUBST(MOZILLA_SDK_PATH)
+AC_SUBST(WINE_SDK_PATH)
 AC_SUBST(XPIDL)
 AC_SUBST(XPIDL_INCL)
 AC_SUBST(LIBEXT)