blob: f9ad8ad3ec1c45b51feae78c419c36e39e4f2a9c [file] [log] [blame]
#!/bin/bash
# SRCDIR should be set to the path of the root source directory. It can be
# either an absolute path or a path relative to the build directory. Whether
# its an absolute or relative path determines whether the build directory can be
# moved relative to or along with the source directory without re-running the
# bootstrap script.
SRCDIR=`dirname "${BASH_SOURCE[0]}"`
# BOOTSTRAP should be set to the path of this script. It can be either an
# absolute path or one relative to the build directory (which of these is used
# should probably match what's used for SRCDIR).
BOOTSTRAP="${BASH_SOURCE[0]}"
# These variables should be set by auto-detecting or knowing a priori the Go
# toolchain properties.
GOROOT=`go env GOROOT`
GOOS=`go env GOHOSTOS`
GOARCH=`go env GOHOSTARCH`
GOCHAR=`go env GOCHAR`
case "$#" in
1) IN="$1";BOOTSTRAP_MANIFEST="$1";;
2) IN="$1";BOOTSTRAP_MANIFEST="$2";;
*) IN="${SRCDIR}/build.ninja.in";BOOTSTRAP_MANIFEST="$IN";;
esac
sed -e "s|@@SrcDir@@|$SRCDIR|g" \
-e "s|@@GoRoot@@|$GOROOT|g" \
-e "s|@@GoOS@@|$GOOS|g" \
-e "s|@@GoArch@@|$GOARCH|g" \
-e "s|@@GoChar@@|$GOCHAR|g" \
-e "s|@@Bootstrap@@|$BOOTSTRAP|g" \
-e "s|@@BootstrapManifest@@|$BOOTSTRAP_MANIFEST|g" \
$IN > build.ninja