#!/bin/sh

# This script builds the webtry server; before compilation we need to create the code template
# so that it contains all publicly available header files in skia/include.
#
# By default, the script expects to be run out of the skia/experimental/webtry directory; 
# if we move directories around this can be overridden by setting the SKIA_ROOT and WEBTRY_ROOT
# environment variables to point to the skia source tree and the webtry source tree, 
# respectively.

[ -z "$SKIA_ROOT" ] && SKIA_ROOT="../.."
[ -z "$WEBTRY_ROOT" ] && WEBTRY_ROOT=`pwd`

cd ${SKIA_ROOT}/include
echo "Creating compile template..."
find core effects pathops  -maxdepth 1 -name "*.h" | sed "s#^[^\/]*\/##g" | sed "s/\(.*\)/#include \"\1\"/" | sort > ${WEBTRY_ROOT}/templates/template.cpp
echo "SkBitmap source;" >> ${WEBTRY_ROOT}/templates/template.cpp
echo "{{.Code}}" >> ${WEBTRY_ROOT}/templates/template.cpp
cd ${WEBTRY_ROOT}
echo "Building webtry..."
go build webtry.go
echo "Done!"
