35 lines
1.4 KiB
Bash
35 lines
1.4 KiB
Bash
|
#!/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
|