summaryrefslogtreecommitdiffstats
path: root/docs/part-2/2_xds-agent/3_build.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/part-2/2_xds-agent/3_build.md')
-rw-r--r--docs/part-2/2_xds-agent/3_build.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/docs/part-2/2_xds-agent/3_build.md b/docs/part-2/2_xds-agent/3_build.md
new file mode 100644
index 0000000..ce1407d
--- /dev/null
+++ b/docs/part-2/2_xds-agent/3_build.md
@@ -0,0 +1,58 @@
+# Build xds-agent from scratch
+
+## Dependencies
+
+Install [Go](https://golang.org/doc/install), [npm](https://www.npmjs.com/),
+[nodejs](https://nodejs.org/en/) and some other tools.
+
+Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details.
+
+## Building
+
+Clone this repo into your `$GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds` and use delivered Makefile:
+
+```bash
+ mkdir -p $GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds
+ cd $GOPATH/src/gerrit.automotivelinux.org/gerrit/src/xds
+ git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-agent
+ # or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-agent
+ cd xds-agent
+ make all
+```
+
+And to install xds-agent (by default in `/usr/local/bin`):
+
+```bash
+make install
+```
+
+>**Note:**
+>
+>Used `DESTDIR` to specify another install directory
+>```bash
+>make install DESTDIR=$HOME/opt/xds-agent
+>```
+
+### Cross build
+
+For example on a Linux machine to cross-build for Windows, just follow these steps.
+
+The first time you need to install all the windows-amd64 standard packages on
+your system with
+
+```bash
+# List all supported OS / ARCH
+go tool dist list
+
+# Install all standard packages for another OS/ARCH (eg. windows amd64)
+GOOS=windows GOARCH=amd64 go install -v -a std
+```
+
+Then compile and package xds-agent using provided makefile
+
+```bash
+export GOOS=windows
+export GOARCH=amd64
+make all
+make package
+```