summaryrefslogtreecommitdiff
path: root/config/usrp_sdcc.m4
blob: 37ce7c35e414e0fba6a2cc68f8f37211e998c2c0 (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
# Check for sdcc support.             		-*- Autoconf -*-

# Copyright 2004 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Boston, MA
# 02110-1301, USA.

AC_DEFUN([USRP_SDCC],
[
	AC_CHECK_PROG(XCC, sdcc, sdcc -mmcs51 --no-xinit-opt,no)
	AC_CHECK_PROG(XAS, asx8051, asx8051 -plosgff,no)

	if test "$XCC" = "no" -o "$XAS" = "no" ; then
		AC_MSG_ERROR([USRP requires sdcc. sdcc not found, stop. See http://sdcc.sf.net])
	fi

	sdcc_version_min=$1

	sdcc_version=`sdcc --version 2>&1 | \
		sed  's/\(SDCC.* \)\([[0-9]]*\.[[0-9]]*\.[[0-9]]*\)\( .*$\)/\2/'`

        AC_MSG_CHECKING([sdcc_version "$sdcc_version"])

	sdcc_major_version=`echo $sdcc_version | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
	sdcc_minor_version=`echo $sdcc_version | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
	sdcc_micro_version=`echo $sdcc_version | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`

	sdcc_major_min=`echo $sdcc_version_min | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
	sdcc_minor_min=`echo $sdcc_version_min | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
	sdcc_micro_min=`echo $sdcc_version_min | \
		sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`

	sdcc_version_proper=`expr \
		"$sdcc_major_version" \> "$sdcc_major_min" \| \
		"$sdcc_major_version" \= "$sdcc_major_min" \& \
		"$sdcc_minor_version" \> "$sdcc_minor_min" \| \
		"$sdcc_major_version" \= "$sdcc_major_min" \& \
		"$sdcc_minor_version" \= "$sdcc_minor_min" \& \
		"$sdcc_micro_version" \>= "$sdcc_micro_min" `

	if test "$sdcc_version_proper" = "1" ; then
		AC_MSG_RESULT([$sdcc_major_version.$sdcc_minor_version.$sdcc_micro_version])
	else
		AC_MSG_ERROR([USRP requires sdcc >= $sdcc_version_min. sdcc not found, stop. See http://sdcc.sf.net])
	fi

	AC_SUBST(XCC)
	AC_SUBST(XAS)

])
personal git repositories of Harald Welte. Your mileage may vary