summaryrefslogtreecommitdiff
path: root/configure
blob: fbe2e5ad0dcc1a07ea8c648aa78aa01f78068eaf (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#! /bin/sh

# waf configure wrapper

# Fancy colors used to beautify the output a bit.
#
NORMAL=""
BOLD=""
RED=""
YELLOW=""
GREEN=""

EXIT_SUCCESS=0
EXIT_FAILURE=1
EXIT_ERROR=2
EXIT_BUG=10

CUR_DIR=$PWD

#possible relative path
WORKINGDIR=`dirname $0`
cd $WORKINGDIR
#abs path
WORKINGDIR=`pwd`
cd $CUR_DIR

# Checks for WAF. Honours $WAF if set. Stores path to 'waf' in $WAF.
# Requires that $PYTHON is set.
#
checkWAF()
{
	printf "Checking for WAF\t\t\t:  "
	#installed miniwaf in sourcedir
	if [ -z "$WAF" ] ; then
	    if [ -f "${WORKINGDIR}/waf" ] ; then
		WAF="${WORKINGDIR}/waf"
		if [ ! -x "$WAF" ] ; then
		    chmod +x $WAF
		fi
	    fi
	fi
	if [ -z "$WAF" ] ; then
	    if [ -f "${WORKINGDIR}/waf-light" ] ; then
		${WORKINGDIR}/waf-light --make-waf
	        WAF="${WORKINGDIR}/waf"
	    fi
	fi
	#global installed waf with waf->waf.py link
	if [ -z "$WAF" ] ; then
	    WAF=`which waf 2>/dev/null`
	fi
	# neither waf nor miniwaf could be found
	if [ ! -x "$WAF" ] ; then
	    printf $RED"not found"$NORMAL"\n"
	    echo "Go to http://code.google.com/p/waf/"
	    echo "and download a waf version"
	    exit $EXIT_FAILURE
	else
	  printf $GREEN"$WAF"$NORMAL"\n"
	fi
}

# Generates a Makefile. Requires that $WAF is set.
#
generateMakefile()
{
	cat > Makefile << EOF
#!/usr/bin/make -f
# Waf Makefile wrapper
WAF_HOME=$CUR_DIR

all:
	@$WAF build

all-debug:
	@$WAF -v build

all-progress:
	@$WAF -p build

install:
	if test -n "\$(DESTDIR)"; then \\
	    $WAF install --yes --destdir="\$(DESTDIR)" ; \\
	else \\
	    $WAF install --yes ; \\
	fi;

uninstall:
	@if test -n "\$(DESTDIR)"; then \\
	    $WAF uninstall --destdir="\$(DESTDIR)" ; \\
	else \\
	    $WAF uninstall ; \\
	fi;
 
test: all
	@for i in test/test*.js; do \\
		echo -n "\$\$i: "; \\
		build/default/node \$\$i && echo pass || echo fail; \\
	done 

clean:
	@$WAF clean

distclean:
	@$WAF distclean
	@-rm -rf _build_
	@-rm -f Makefile
	@-rm -f *.pyc

check:
	@$WAF check

dist:
	@$WAF dist

.PHONY: clean dist distclean check uninstall install all test

EOF
}

checkWAF

generateMakefile

"${WAF}" configure $*

exit $?