0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-25 08:19:38 +01:00
nodejs/configure

156 lines
2.7 KiB
Plaintext
Raw Normal View History

#! /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
WAF="${WORKINGDIR}/tools/waf"
# 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 \\
2009-04-23 14:22:57 +02:00
$WAF install --destdir="\$(DESTDIR)" ; \\
else \\
2009-04-23 14:22:57 +02:00
$WAF install ; \\
fi;
uninstall:
@if test -n "\$(DESTDIR)"; then \\
$WAF uninstall --destdir="\$(DESTDIR)" ; \\
else \\
$WAF uninstall ; \\
fi;
2009-04-21 13:51:05 +02:00
test: all
2009-06-22 13:51:47 +02:00
python tools/test.py --mode=release
2009-06-27 00:49:47 +02:00
test-all: all
python tools/test.py --mode=debug,release
test-debug: all
2009-07-16 16:54:55 +02:00
python tools/test.py --mode=debug
benchmark: all
build/default/node benchmark/run.js
2009-09-10 13:40:38 +02:00
doc: doc/node.1 doc/api.html doc/index.html
2009-09-10 13:40:38 +02:00
doc/api.html: doc/api.txt
asciidoc --unsafe \\
-a theme=pipe \\
-a toc \\
-a linkcss \\
2009-09-10 13:40:38 +02:00
-o doc/api.html doc/api.txt
2009-09-10 13:40:38 +02:00
doc/api.xml: doc/api.txt
asciidoc -b docbook -d manpage -o doc/api.xml doc/api.txt
2009-09-10 13:40:38 +02:00
doc/node.1: doc/api.xml
xsltproc --output doc/node.1 \\
--nonet /etc/asciidoc/docbook-xsl/manpage.xsl \\
2009-09-10 13:40:38 +02:00
doc/api.xml
website-upload: doc
scp doc/* linode:~/tinyclouds/node/
clean:
@$WAF clean
distclean:
@$WAF distclean
@-rm -rf _build_
@-rm -f Makefile
2009-04-21 13:51:05 +02:00
@-rm -f *.pyc
check:
@$WAF check
dist:
@$WAF dist
2009-09-10 13:40:38 +02:00
.PHONY: benchmark clean dist distclean check uninstall install all test test-all website-upload
EOF
}
checkWAF
generateMakefile
"${WAF}" configure $*
exit $?