summaryrefslogtreecommitdiff
path: root/m4/ax_submodule.m4
blob: 7cf899576d79317e74f3303fd2acbf66e7313840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
AC_DEFUN([AX_SUBMODULE],
[

m4_if(m4_bregexp($2,|,choice),choice,
	[AC_ARG_WITH($1,
		[AS_HELP_STRING([--with-$1=$2],
				[Which $1 to use [default=$3]])])])
case "system" in
$2)
	AC_ARG_WITH($1_prefix,
		    [AS_HELP_STRING([--with-$1-prefix=DIR],
				    [Prefix of $1 installation])])
	AC_ARG_WITH($1_exec_prefix,
		    [AS_HELP_STRING([--with-$1-exec-prefix=DIR],
				    [Exec prefix of $1 installation])])
esac
m4_if(m4_bregexp($2,build,build),build,
	[AC_ARG_WITH($1_builddir,
		[AS_HELP_STRING([--with-$1-builddir=DIR],
				[Location of $1 builddir])])])
if test "x$with_$1_prefix" != "x" -a "x$with_$1_exec_prefix" = "x"; then
	with_$1_exec_prefix=$with_$1_prefix
fi
if test "x$with_$1_prefix" != "x" -o "x$with_$1_exec_prefix" != "x"; then
	if test "x$with_$1" != "x" -a "x$with_$1" != "xyes" -a "x$with_$1" != "xsystem"; then
		AC_MSG_ERROR([Setting $with_$1_prefix implies use of system $1])
	fi
	with_$1="system"
fi
if test "x$with_$1_builddir" != "x"; then
	if test "x$with_$1" != "x" -a "x$with_$1" != "xyes" -a "x$with_$1" != "xbuild"; then
		AC_MSG_ERROR([Setting $with_$1_builddir implies use of build $1])
	fi
	with_$1="build"
	$1_srcdir=`echo @abs_srcdir@ | $with_$1_builddir/config.status --file=-`
	AC_MSG_NOTICE($1 sources in $$1_srcdir)
fi
if test "x$with_$1_exec_prefix" != "x"; then
	export PKG_CONFIG_PATH="$with_$1_exec_prefix/lib/pkgconfig${PKG_CONFIG_PATH+:$PKG_CONFIG_PATH}"
fi
case "$with_$1" in
$2)
	;;
*)
	case "$3" in
	bundled)
		if test -d $srcdir/.git -a \
			-d $srcdir/$1 -a \
			! -d $srcdir/$1/.git; then
			AC_MSG_WARN([git repo detected, but submodule $1 not initialized])
			AC_MSG_WARN([You may want to run])
			AC_MSG_WARN([	git submodule init])
			AC_MSG_WARN([	git submodule update])
			AC_MSG_WARN([	sh autogen.sh])
		fi
		if test -f $srcdir/$1/configure; then
			with_$1="bundled"
		else
			with_$1="no"
		fi
		;;
	*)
		with_$1="$3"
		;;
	esac
	;;
esac
AC_MSG_CHECKING([which $1 to use])
AC_MSG_RESULT($with_$1)

])