Update luthien theme to use features in FVWM 2.5.25+
[fvwm-themes.git] / acinclude.m4
blob865b34f89fd1fd2336df6fbb4d1b1c90e33fd667
1 dnl Convenient macros, by Mikhael Goikhman
3 dnl mg_ARG_WITH(NAME, HELP-STRING, VAR [, DEFAULT-VALUE])
4 AC_DEFUN(mg_ARG_WITH, [
5         AC_DIVERT_PUSH(HELP_WITH)dnl
6 [$2]
7 AC_DIVERT_POP()dnl
9         [#] Check whether --with-[$1] or --without-[$1] was given.
10         withvar="[${with_]patsubst([$1], -, _)-no}"
11         if test "$withvar" != no; then
12                 withvar="[$with_]patsubst([$1], -, _)"
13                 $3="$withvar"
14         ifelse([$4], , , [else
15                 $3=$4
16         ])dnl
17         fi
20 dnl mg_DEFAULT_DIR_ARG(ARG, DEFAULT_VALUE)
21 AC_DEFUN(mg_DEFAULT_DIR_ARG, [
22         var=`echo [$]$1`
23         if echo "${var}NONE" | ${AWK} '/^\$|^NONE/ { exit 1 }'; then
24                 $1=$var
25         else
26                 $1=$2
27         fi
28         case "[$]$1" in "") echo "No value for $1. Failed."; exit 1;; esac
31 dnl mg_LIST_MINUS(LIST1-VAR, LIST2-VAR, LIST3-VAR)
32 AC_DEFUN(mg_LIST_MINUS, [
33         list1=`echo [$]$1`
34         list2=`echo [$]$2`
35         $3=`${AWK} -v l1="${list1}" -v l2="${list2}" 'BEGIN {
36                 split(l1, a1, / +/); split(l2, a2, / +/); l3 = "";
37                 for (i1 in a1) {
38                         u = 1; for (i2 in a2) { if (a1[[i1]] == a2[[i2]]) u = 0; }
39                         if (u) l3 = l3 a1[[i1]] " ";
40                 } print l3;
41         }' | xargs -n 1 echo | sort`
42         $3=`echo [$]$3`