vlc.m4
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:5k
源码类别:

midi

开发平台:

Unix_Linux

  1. dnl  Macros needed for VLC
  2. dnl  $Id$
  3. dnl ===========================================================================
  4. dnl  Macros to add plugins or builtins and handle their flags
  5. m4_pattern_allow([^PKG_CONFIG(_LIBDIR)?$])
  6. AC_DEFUN([VLC_ADD_BUILTINS], [
  7.   BUILTINS="${BUILTINS} $1"
  8. ])
  9. AC_DEFUN([VLC_ADD_PLUGIN], [
  10.   PLUGINS="${PLUGINS} $1"
  11.   AC_SUBST([LTLIB$1], ["lib$1_plugin.la"])
  12. ])
  13. dnl  Special cases: vlc, pics, plugins, save
  14. AC_DEFUN([VLC_ADD_CPPFLAGS], [
  15.   for element in [$1]; do
  16.     eval "CPPFLAGS_${element}="'"$'"{CPPFLAGS_${element}} $2"'"'
  17.     am_modules_with_cppflags="${am_modules_with_cppflags} ${element}"
  18.   done
  19. ])
  20. AC_DEFUN([VLC_ADD_CFLAGS], [
  21.   for element in [$1]; do
  22.     eval "CFLAGS_${element}="'"$'"{CFLAGS_${element}} $2"'"'
  23.     am_modules_with_cflags="${am_modules_with_cflags} ${element}"
  24.   done
  25. ])
  26. AC_DEFUN([VLC_ADD_CXXFLAGS], [
  27.   for element in [$1]; do
  28.     eval "CXXFLAGS_${element}="'"$'"{CXXFLAGS_${element}} $2"'"'
  29.     am_modules_with_cxxflags="${am_modules_with_cxxflags} ${element}"
  30.   done
  31. ])
  32. AC_DEFUN([VLC_ADD_OBJCFLAGS], [
  33.   for element in [$1]; do
  34.     eval "OBJCFLAGS_${element}="'"$'"{OBJCFLAGS_${element}} $2"'"'
  35.     am_modules_with_objcflags="${am_modules_with_objcflags} ${element}"
  36.   done
  37. ])
  38. AC_DEFUN([VLC_ADD_LDFLAGS], [
  39.   for element in [$1]; do
  40.     eval "LDFLAGS_${element}="'"'"$2 "'$'"{LDFLAGS_${element}} "'"'
  41.     am_modules_with_ldflags="${am_modules_with_ldflags} ${element}"
  42.   done
  43. ])
  44. AC_DEFUN([VLC_ADD_LIBS], [
  45.   for element in [$1]; do
  46.     eval "LIBS_${element}="'"'"$2 "'$'"{LIBS_${element}} "'"'
  47.     am_modules_with_libs="${am_modules_with_libs} ${element}"
  48.   done
  49. ])
  50. dnl ===========================================================================
  51. dnl  Macros to save and restore default flags
  52. AC_DEFUN([VLC_SAVE_FLAGS], [
  53.   CPPFLAGS_save="${CPPFLAGS}"
  54.   CFLAGS_save="${CFLAGS}"
  55.   CXXFLAGS_save="${CXXFLAGS}"
  56.   OBJCFLAGS_save="${OBJCFLAGS}"
  57.   LDFLAGS_save="${LDFLAGS}"
  58.   LIBS_save="${LIBS}"
  59. ])
  60. AC_DEFUN([VLC_RESTORE_FLAGS], [
  61.   CPPFLAGS="${CPPFLAGS_save}"
  62.   CFLAGS="${CFLAGS_save}"
  63.   CXXFLAGS="${CXXFLAGS_save}"
  64.   OBJCFLAGS="${OBJCFLAGS_save}"
  65.   LDFLAGS="${LDFLAGS_save}"
  66.   LIBS="${LIBS_save}"
  67. ])
  68. dnl ===========================================================================
  69. dnl  Helper macro to generate the vlc-config.in file
  70. AC_DEFUN([VLC_OUTPUT_VLC_CONFIG_IN], [
  71.   AC_MSG_RESULT(configure: creating ./vlc-config.in)
  72.   am_all_modules="`for x in ${am_modules_with_cppflags} ${am_modules_with_cflags} ${am_modules_with_cxxflags} ${am_modules_with_objcflags} ${am_modules_with_ldflags} ${am_modules_with_libs}; do echo $x; done | sort | uniq`"
  73.   rm -f vlc-config.in
  74.   sed -ne '/#@1@#/q;p' < "${srcdir}/vlc-config.in.in" 
  75.     | sed -e "s/@gprof@/${enable_gprof}/" 
  76.           -e "s/@cprof@/${enable_cprof}/" 
  77.           -e "s/@optim@/${enable_optimizations}/" 
  78.           -e "s/@debug@/${enable_debug}/" 
  79.           -e "s/@release@/${enable_release}/" 
  80.           -e "s/@PLUGINS@/${PLUGINS}/" 
  81.           -e "s/@BUILTINS@/${BUILTINS}/" 
  82.           -e "s/@CFLAGS_TUNING@/${CFLAGS_TUNING}/" 
  83.           -e "s/@CFLAGS_OPTIM_SIZE@/${CFLAGS_OPTIM_SIZE}/" 
  84.           -e "s/@CFLAGS_OPTIM_SPEED@/${CFLAGS_OPTIM_SPEED}/" 
  85.           -e "s/@CFLAGS_OPTIM_NODEBUG@/${CFLAGS_OPTIM_NODEBUG}/" 
  86.           -e "s/@CFLAGS_NOOPTIM@/${CFLAGS_NOOPTIM}/" 
  87.     > vlc-config.in
  88.   dnl  Switch/case loop
  89.   for x in `echo ${am_all_modules}`
  90.   do [
  91.     echo "    ${x})"
  92.     if test "`eval echo @'$'CPPFLAGS_${x}@`" != "@@"; then
  93.       echo "      cppflags="${cppflags} `eval echo '$'CPPFLAGS_${x}`""
  94.     fi
  95.     if test "`eval echo @'$'CFLAGS_${x}@`" != "@@"; then
  96.       echo "      cflags="${cflags} `eval echo '$'CFLAGS_${x}`""
  97.     fi
  98.     if test "`eval echo @'$'CXXFLAGS_${x}@`" != "@@"; then
  99.       echo "      cxxflags="${cxxflags} `eval echo '$'CXXFLAGS_${x}`""
  100.       if test "${x}" != "plugin" -a "${x}" != "builtin"; then
  101.         echo "      linkage="c++""
  102.       fi
  103.     fi
  104.     if test "`eval echo @'$'OBJCFLAGS_${x}@`" != "@@"; then
  105.       echo "      objcflags="${objcflags} `eval echo '$'OBJCFLAGS_${x}`""
  106.       if test "${x}" != "plugin" -a "${x}" != "builtin"; then
  107.         echo "      if test "${linkage}" = "c"; then linkage="objc"; fi"
  108.       fi
  109.     fi
  110.     if test "`eval echo @'$'LDFLAGS_${x}@`" != "@@"; then
  111.       echo "      ldflags="${ldflags} `eval echo '$'LDFLAGS_${x}`""
  112.     fi
  113.     if test "`eval echo @'$'LIBS_${x}@`" != "@@"; then
  114.       echo "      libs="${libs} `eval echo '$'LIBS_${x}`""
  115.     fi
  116.     echo "    ;;"
  117.   ] done >> vlc-config.in
  118.   dnl  '/#@1@#/,${/#@.@#/d;p}' won't work on OS X
  119.   sed -ne '/#@1@#/,$p' < "${srcdir}/vlc-config.in.in" 
  120.    | sed -e '/#@.@#/d' >> vlc-config.in
  121. ])
  122. dnl ===========================================================================
  123. dnl  Macros for shared object handling (TODO)
  124. AC_DEFUN([VLC_LIBRARY_SUFFIX], [
  125.   AC_MSG_CHECKING(for shared objects suffix)
  126.   case "${host_os}" in
  127.     darwin*)
  128.       LIBEXT=".dylib"
  129.       ;;
  130.     *mingw32* | *cygwin* | *wince* | *mingwce*)
  131.       LIBEXT=".dll"
  132.       ;;
  133.     hpux*)
  134.       LIBEXT=".sl"
  135.       ;;
  136.     *)
  137.       LIBEXT=".so"
  138.       ;;
  139.   esac
  140.   AC_MSG_RESULT(${LIBEXT})
  141.   AC_DEFINE_UNQUOTED(LIBEXT, "${LIBEXT}", [Dynamic object extension])
  142. ])