cannam@86
|
1 # CFLAGS and library paths for XMMS
|
cannam@86
|
2 # written 15 December 1999 by Ben Gertzfield <che@debian.org>
|
cannam@86
|
3
|
cannam@86
|
4 dnl Usage:
|
cannam@86
|
5 dnl AM_PATH_XMMS([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
|
cannam@86
|
6 dnl
|
cannam@86
|
7 dnl Example:
|
cannam@86
|
8 dnl AM_PATH_XMMS(0.9.5.1, , AC_MSG_ERROR([*** XMMS >= 0.9.5.1 not installed - please install first ***]))
|
cannam@86
|
9 dnl
|
cannam@86
|
10 dnl Defines XMMS_CFLAGS, XMMS_LIBS, XMMS_DATA_DIR, XMMS_PLUGIN_DIR,
|
cannam@86
|
11 dnl XMMS_VISUALIZATION_PLUGIN_DIR, XMMS_INPUT_PLUGIN_DIR,
|
cannam@86
|
12 dnl XMMS_OUTPUT_PLUGIN_DIR, XMMS_GENERAL_PLUGIN_DIR, XMMS_EFFECT_PLUGIN_DIR,
|
cannam@86
|
13 dnl and XMMS_VERSION for your plugin pleasure.
|
cannam@86
|
14 dnl
|
cannam@86
|
15
|
cannam@86
|
16 dnl XMMS_TEST_VERSION(AVAILABLE-VERSION, NEEDED-VERSION [, ACTION-IF-OKAY [, ACTION-IF-NOT-OKAY]])
|
cannam@86
|
17 AC_DEFUN([XMMS_TEST_VERSION], [
|
cannam@86
|
18
|
cannam@86
|
19 # Determine which version number is greater. Prints 2 to stdout if
|
cannam@86
|
20 # the second number is greater, 1 if the first number is greater,
|
cannam@86
|
21 # 0 if the numbers are equal.
|
cannam@86
|
22
|
cannam@86
|
23 # Written 15 December 1999 by Ben Gertzfield <che@debian.org>
|
cannam@86
|
24 # Revised 15 December 1999 by Jim Monty <monty@primenet.com>
|
cannam@86
|
25
|
cannam@86
|
26 AC_PROG_AWK
|
cannam@86
|
27 xmms_got_version=[` $AWK ' \
|
cannam@86
|
28 BEGIN { \
|
cannam@86
|
29 print vercmp(ARGV[1], ARGV[2]); \
|
cannam@86
|
30 } \
|
cannam@86
|
31 \
|
cannam@86
|
32 function vercmp(ver1, ver2, ver1arr, ver2arr, \
|
cannam@86
|
33 ver1len, ver2len, \
|
cannam@86
|
34 ver1int, ver2int, len, i, p) { \
|
cannam@86
|
35 \
|
cannam@86
|
36 ver1len = split(ver1, ver1arr, /\./); \
|
cannam@86
|
37 ver2len = split(ver2, ver2arr, /\./); \
|
cannam@86
|
38 \
|
cannam@86
|
39 len = ver1len > ver2len ? ver1len : ver2len; \
|
cannam@86
|
40 \
|
cannam@86
|
41 for (i = 1; i <= len; i++) { \
|
cannam@86
|
42 p = 1000 ^ (len - i); \
|
cannam@86
|
43 ver1int += ver1arr[i] * p; \
|
cannam@86
|
44 ver2int += ver2arr[i] * p; \
|
cannam@86
|
45 } \
|
cannam@86
|
46 \
|
cannam@86
|
47 if (ver1int < ver2int) \
|
cannam@86
|
48 return 2; \
|
cannam@86
|
49 else if (ver1int > ver2int) \
|
cannam@86
|
50 return 1; \
|
cannam@86
|
51 else \
|
cannam@86
|
52 return 0; \
|
cannam@86
|
53 }' $1 $2`]
|
cannam@86
|
54
|
cannam@86
|
55 if test $xmms_got_version -eq 2; then # failure
|
cannam@86
|
56 ifelse([$4], , :, $4)
|
cannam@86
|
57 else # success!
|
cannam@86
|
58 ifelse([$3], , :, $3)
|
cannam@86
|
59 fi
|
cannam@86
|
60 ])
|
cannam@86
|
61
|
cannam@86
|
62 AC_DEFUN([AM_PATH_XMMS],
|
cannam@86
|
63 [
|
cannam@86
|
64 AC_ARG_WITH(xmms-prefix,[ --with-xmms-prefix=PFX Prefix where XMMS is installed (optional)],
|
cannam@86
|
65 xmms_config_prefix="$withval", xmms_config_prefix="")
|
cannam@86
|
66 AC_ARG_WITH(xmms-exec-prefix,[ --with-xmms-exec-prefix=PFX Exec prefix where XMMS is installed (optional)],
|
cannam@86
|
67 xmms_config_exec_prefix="$withval", xmms_config_exec_prefix="")
|
cannam@86
|
68
|
cannam@86
|
69 if test x$xmms_config_exec_prefix != x; then
|
cannam@86
|
70 xmms_config_args="$xmms_config_args --exec-prefix=$xmms_config_exec_prefix"
|
cannam@86
|
71 if test x${XMMS_CONFIG+set} != xset; then
|
cannam@86
|
72 XMMS_CONFIG=$xmms_config_exec_prefix/bin/xmms-config
|
cannam@86
|
73 fi
|
cannam@86
|
74 fi
|
cannam@86
|
75
|
cannam@86
|
76 if test x$xmms_config_prefix != x; then
|
cannam@86
|
77 xmms_config_args="$xmms_config_args --prefix=$xmms_config_prefix"
|
cannam@86
|
78 if test x${XMMS_CONFIG+set} != xset; then
|
cannam@86
|
79 XMMS_CONFIG=$xmms_config_prefix/bin/xmms-config
|
cannam@86
|
80 fi
|
cannam@86
|
81 fi
|
cannam@86
|
82
|
cannam@86
|
83 AC_PATH_PROG(XMMS_CONFIG, xmms-config, no)
|
cannam@86
|
84 min_xmms_version=ifelse([$1], ,0.9.5.1, $1)
|
cannam@86
|
85
|
cannam@86
|
86 if test "$XMMS_CONFIG" = "no"; then
|
cannam@86
|
87 no_xmms=yes
|
cannam@86
|
88 else
|
cannam@86
|
89 XMMS_CFLAGS=`$XMMS_CONFIG $xmms_config_args --cflags`
|
cannam@86
|
90 XMMS_LIBS=`$XMMS_CONFIG $xmms_config_args --libs`
|
cannam@86
|
91 XMMS_VERSION=`$XMMS_CONFIG $xmms_config_args --version`
|
cannam@86
|
92 XMMS_DATA_DIR=`$XMMS_CONFIG $xmms_config_args --data-dir`
|
cannam@86
|
93 XMMS_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --plugin-dir`
|
cannam@86
|
94 XMMS_VISUALIZATION_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args \
|
cannam@86
|
95 --visualization-plugin-dir`
|
cannam@86
|
96 XMMS_INPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --input-plugin-dir`
|
cannam@86
|
97 XMMS_OUTPUT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --output-plugin-dir`
|
cannam@86
|
98 XMMS_EFFECT_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --effect-plugin-dir`
|
cannam@86
|
99 XMMS_GENERAL_PLUGIN_DIR=`$XMMS_CONFIG $xmms_config_args --general-plugin-dir`
|
cannam@86
|
100
|
cannam@86
|
101 XMMS_TEST_VERSION($XMMS_VERSION, $min_xmms_version, ,no_xmms=version)
|
cannam@86
|
102 fi
|
cannam@86
|
103
|
cannam@86
|
104 AC_MSG_CHECKING(for XMMS - version >= $min_xmms_version)
|
cannam@86
|
105
|
cannam@86
|
106 if test "x$no_xmms" = x; then
|
cannam@86
|
107 AC_MSG_RESULT(yes)
|
cannam@86
|
108 ifelse([$2], , :, [$2])
|
cannam@86
|
109 else
|
cannam@86
|
110 AC_MSG_RESULT(no)
|
cannam@86
|
111
|
cannam@86
|
112 if test "$XMMS_CONFIG" = "no" ; then
|
cannam@86
|
113 echo "*** The xmms-config script installed by XMMS could not be found."
|
cannam@86
|
114 echo "*** If XMMS was installed in PREFIX, make sure PREFIX/bin is in"
|
cannam@86
|
115 echo "*** your path, or set the XMMS_CONFIG environment variable to the"
|
cannam@86
|
116 echo "*** full path to xmms-config."
|
cannam@86
|
117 else
|
cannam@86
|
118 if test "$no_xmms" = "version"; then
|
cannam@86
|
119 echo "*** An old version of XMMS, $XMMS_VERSION, was found."
|
cannam@86
|
120 echo "*** You need a version of XMMS newer than $min_xmms_version."
|
cannam@86
|
121 echo "*** The latest version of XMMS is always available from"
|
cannam@86
|
122 echo "*** http://www.xmms.org/"
|
cannam@86
|
123 echo "***"
|
cannam@86
|
124
|
cannam@86
|
125 echo "*** If you have already installed a sufficiently new version, this error"
|
cannam@86
|
126 echo "*** probably means that the wrong copy of the xmms-config shell script is"
|
cannam@86
|
127 echo "*** being found. The easiest way to fix this is to remove the old version"
|
cannam@86
|
128 echo "*** of XMMS, but you can also set the XMMS_CONFIG environment to point to the"
|
cannam@86
|
129 echo "*** correct copy of xmms-config. (In this case, you will have to"
|
cannam@86
|
130 echo "*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf"
|
cannam@86
|
131 echo "*** so that the correct libraries are found at run-time)"
|
cannam@86
|
132 fi
|
cannam@86
|
133 fi
|
cannam@86
|
134 XMMS_CFLAGS=""
|
cannam@86
|
135 XMMS_LIBS=""
|
cannam@86
|
136 ifelse([$3], , :, [$3])
|
cannam@86
|
137 fi
|
cannam@86
|
138 AC_SUBST(XMMS_CFLAGS)
|
cannam@86
|
139 AC_SUBST(XMMS_LIBS)
|
cannam@86
|
140 AC_SUBST(XMMS_VERSION)
|
cannam@86
|
141 AC_SUBST(XMMS_DATA_DIR)
|
cannam@86
|
142 AC_SUBST(XMMS_PLUGIN_DIR)
|
cannam@86
|
143 AC_SUBST(XMMS_VISUALIZATION_PLUGIN_DIR)
|
cannam@86
|
144 AC_SUBST(XMMS_INPUT_PLUGIN_DIR)
|
cannam@86
|
145 AC_SUBST(XMMS_OUTPUT_PLUGIN_DIR)
|
cannam@86
|
146 AC_SUBST(XMMS_GENERAL_PLUGIN_DIR)
|
cannam@86
|
147 AC_SUBST(XMMS_EFFECT_PLUGIN_DIR)
|
cannam@86
|
148 ])
|