missing-macros: add xmms.m4, from libflac
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 22 Dec 2010 08:04:33 +0000 (08:04 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 22 Dec 2010 08:04:33 +0000 (08:04 +0000)
SVN-Revision: 24784

tools/missing-macros/Makefile
tools/missing-macros/src/README
tools/missing-macros/src/m4/xmms.m4 [new file with mode: 0644]

index b5dacf306a17f2284bbbf4cdb887e58bf1e92529..8a2eb5fd51276032a86171c6cb2f32d188959481 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=missing-macros
-PKG_VERSION:=4
+PKG_VERSION:=5
 
 include $(INCLUDE_DIR)/host-build.mk
 
index a2e973990da79dc44c6975947269abb313dcfaa0..310735467e0c69b1d55d36a05d83dfa29d31c970 100644 (file)
@@ -55,6 +55,12 @@ Feature test macros for socket api implementations.
   dnet.m4
 
 
+From FLAC:
+XMMS feature detection macros.
+
+  xmms.m4
+
+
 From OpenWrt:
 Always disable GTK docs.
 
diff --git a/tools/missing-macros/src/m4/xmms.m4 b/tools/missing-macros/src/m4/xmms.m4
new file mode 100644 (file)
index 0000000..8aeaad8
--- /dev/null
@@ -0,0 +1,149 @@
+# CFLAGS and library paths for XMMS
+# written 15 December 1999 by Ben Gertzfield <che@debian.org>
+
+dnl Usage:
+dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl
+dnl Example:
+dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
+dnl
+dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR, 
+dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR, 
+dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
+dnl and XMMS_VERSION for your plugin pleasure.
+dnl
+
+dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
+AC_DEFUN([XMMS_TEST_VERSION], [
+
+# Determine which version number is greater. Prints 2 to stdout if     
+# the second number is greater, 1 if the first number is greater,      
+# 0 if the numbers are equal.                                          
+                                                                       
+# Written 15 December 1999 by Ben Gertzfield <che@debian.org>          
+# Revised 15 December 1999 by Jim Monty <monty@primenet.com>           
+                                                                       
+    AC_PROG_AWK
+    xmms_got_version=[` $AWK '                                         \
+BEGIN {                                                                        \
+    print vercmp(ARGV[1], ARGV[2]);                                    \
+}                                                                      \
+                                                                       \
+function vercmp(ver1, ver2,    ver1arr, ver2arr,                       \
+                               ver1len, ver2len,                       \
+                               ver1int, ver2int, len, i, p) {          \
+                                                                       \
+    ver1len = split(ver1, ver1arr, /\./);                              \
+    ver2len = split(ver2, ver2arr, /\./);                              \
+                                                                       \
+    len = ver1len > ver2len ? ver1len : ver2len;                       \
+                                                                       \
+    for (i = 1; i <= len; i++) {                                       \
+        p = 1000 ^ (len - i);                                          \
+        ver1int += ver1arr[i] * p;                                     \
+        ver2int += ver2arr[i] * p;                                     \
+    }                                                                  \
+                                                                       \
+    if (ver1int < ver2int)                                             \
+        return 2;                                                      \
+    else if (ver1int > ver2int)                                                \
+        return 1;                                                      \
+    else                                                               \
+        return 0;                                                      \
+}' $1 $2`]                                                             
+
+    if test $xmms_got_version -eq 2; then      # failure
+       ifelse([$4], , :, $4)                   
+    else                                       # success!
+       ifelse([$3], , :, $3)
+    fi
+])
+
+AC_DEFUN([AM_PATH_XMMS],
+[
+AC_ARG_WITH(xmms-prefix,[  --with-xmms-prefix=PFX  Prefix where XMMS is installed (optional)],
+       xmms_config_prefix="$withval", xmms_config_prefix="")
+AC_ARG_WITH(xmms-exec-prefix,[  --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
+       xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
+
+if test x$xmms_config_exec_prefix != x; then
+    xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
+    if test x${XMMS_CONFIG+set} != xset; then
+       XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
+    fi
+fi
+
+if test x$xmms_config_prefix != x; then
+    xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
+    if test x${XMMS_CONFIG+set} != xset; then
+       XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
+    fi
+fi
+
+AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
+min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
+
+if test "$XMMS_CONFIG" = "no"; then
+    no_xmms=yes
+else
+    XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
+    XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
+    XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
+    XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
+    XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
+    XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
+                                       --visualization-plugin-dir`
+    XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
+    XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
+    XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
+    XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
+
+    XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
+fi
+
+AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
+
+if test "x$no_xmms" = x; then
+    AC_MSG_RESULT(yes)
+    ifelse([$2], , :, [$2])
+else
+    AC_MSG_RESULT(no)
+
+    if test "$XMMS_CONFIG" = "no" ; then
+       echo "*** The xmms-config script installed by XMMS could not be found."
+       echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
+       echo "*** your path, or set the XMMS_CONFIG environment variable to the"
+       echo "*** full path to xmms-config."
+    else
+       if test "$no_xmms" = "version"; then
+           echo "*** An old version of XMMS, $XMMS_VERSION, was found."
+           echo "*** You need a version of XMMS newer than $min_xmms_version."
+           echo "*** The latest version of XMMS is always available from"
+           echo "*** http://www.xmms.org/"
+           echo "***"
+
+            echo "*** If you have already installed a sufficiently new version, this error"
+            echo "*** probably means that the wrong copy of the xmms-config shell script is"
+            echo "*** being found. The easiest way to fix this is to remove the old version"
+            echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
+            echo "*** correct copy of xmms-config. (In this case, you will have to"
+            echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
+            echo "*** so that the correct libraries are found at run-time)"
+       fi
+    fi
+    XMMS_CFLAGS=""
+    XMMS_LIBS=""
+    ifelse([$3], , :, [$3])
+fi
+AC_SUBST(XMMS_CFLAGS)
+AC_SUBST(XMMS_LIBS)
+AC_SUBST(XMMS_VERSION)
+AC_SUBST(XMMS_DATA_DIR)
+AC_SUBST(XMMS_PLUGIN_DIR)
+AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
+AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
+AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
+AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
+AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
+])
+