mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 15:06:33 +01:00
baed9d514d
This is sloppy: after each ObjectWrap allocation the user needs to call ObjectWrap::InformV8ofAllocation(). In addition each class deriving from ObjectWrap needs to implement the virtual method size() which should return the size of the derived class. If I was better at C++ I could possibly make this less ugly. For now this is how it is. Memory usage looks much better after this commit.
128 lines
2.0 KiB
Bash
Executable File
128 lines
2.0 KiB
Bash
Executable File
#! /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 --destdir="\$(DESTDIR)" ; \\
|
|
else \\
|
|
$WAF install ; \\
|
|
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 "\$\$i: "; \\
|
|
build/debug/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 $?
|