608e09e9de
This also eliminates expressions that incompatible with BSD make, thus fixing installation of Node.js module on FreeBSD (broken by dace60fc4926).
123 lines
2.5 KiB
Plaintext
123 lines
2.5 KiB
Plaintext
|
|
# Copyright (C) Max Romanov
|
|
# Copyright (C) NGINX, Inc.
|
|
|
|
|
|
shift
|
|
|
|
NXT_GO=go
|
|
|
|
for nxt_option; do
|
|
|
|
case "$nxt_option" in
|
|
-*=*) value=`echo "$nxt_option" | sed -e 's/[-_a-zA-Z0-9]*=//'` ;;
|
|
*) value="" ;;
|
|
esac
|
|
|
|
case "$nxt_option" in
|
|
--go=*) NXT_GO="$value" ;;
|
|
--go-path=*) NXT_GO_PATH="$value" ;;
|
|
|
|
--help)
|
|
cat << END
|
|
|
|
--go=NAME set go executable
|
|
--go-path=PATH set GOPATH variable to install package
|
|
|
|
END
|
|
exit 0
|
|
;;
|
|
|
|
*)
|
|
echo
|
|
echo $0: error: invalid Go option \"$nxt_option\"
|
|
echo
|
|
exit 1
|
|
;;
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
if [ ! -f $NXT_AUTOCONF_DATA ]; then
|
|
echo
|
|
echo Please run common $0 before configuring module \"$nxt_module\".
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
. $NXT_AUTOCONF_DATA
|
|
|
|
|
|
$echo "configuring Go package"
|
|
$echo "configuring Go package ..." >> $NXT_AUTOCONF_ERR
|
|
|
|
$echo -n "checking for Go ..."
|
|
$echo "checking for Go ..." >> $NXT_AUTOCONF_ERR
|
|
|
|
|
|
if /bin/sh -c "${NXT_GO} version" >> $NXT_AUTOCONF_ERR 2>&1; then
|
|
$echo " found"
|
|
|
|
NXT_GO_VERSION="`${NXT_GO} version`"
|
|
$echo " + ${NXT_GO_VERSION}"
|
|
|
|
else
|
|
$echo
|
|
$echo $0: error: no Go found.
|
|
$echo
|
|
exit 1;
|
|
fi
|
|
|
|
|
|
NXT_GO_PATH=${NXT_GO_PATH=`${NXT_GO} env GOPATH`}
|
|
NXT_GO_PATH=${NXT_GO_PATH:-`pwd`/${NXT_GO}}
|
|
|
|
$echo " + Go package path: \"${NXT_GO_PATH}\""
|
|
|
|
if grep ^$NXT_GO: $NXT_MAKEFILE 2>&1 > /dev/null; then
|
|
$echo
|
|
$echo $0: error: duplicate \"$NXT_GO\" package configured.
|
|
$echo
|
|
exit 1;
|
|
fi
|
|
|
|
cat << END >> $NXT_MAKEFILE
|
|
|
|
.PHONY: ${NXT_GO}
|
|
.PHONY: ${NXT_GO}-install
|
|
.PHONY: ${NXT_GO}-install-src
|
|
.PHONY: ${NXT_GO}-install-build
|
|
.PHONY: ${NXT_GO}-uninstall
|
|
|
|
GOPATH = $NXT_GO_PATH
|
|
GOOS = `${NXT_GO} env GOOS`
|
|
GOARCH = `${NXT_GO} env GOARCH`
|
|
|
|
NXT_GO_DST = ${NXT_GO_PATH%%:*}
|
|
|
|
install: ${NXT_GO}-install
|
|
|
|
${NXT_GO}:
|
|
|
|
${NXT_GO}-install: ${NXT_GO}-install-build
|
|
|
|
${NXT_GO}-install-src: ${NXT_VERSION_H}
|
|
install -d \$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit
|
|
install -p -m644 ./src/*.h ./build/*.h ./src/go/unit/* \
|
|
./src/nxt_unit.c ./src/nxt_lvlhsh.c ./src/nxt_murmur_hash.c \
|
|
\$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit/
|
|
|
|
${NXT_GO}-install-build: ${NXT_GO}-install-src
|
|
GOPATH=\$(DESTDIR)\$(GOPATH) ${NXT_GO} build nginx/unit
|
|
|
|
|
|
uninstall: ${NXT_GO}-uninstall
|
|
|
|
${NXT_GO}-uninstall:
|
|
rm -rf \$(DESTDIR)\$(NXT_GO_DST)/src/nginx/unit
|
|
rm -rf \$(DESTDIR)\$(NXT_GO_DST)/pkg/\$(GOOS)_\$(GOARCH)/nginx/unit
|
|
|
|
END
|