# How to build xds-gdb from scratch

## Dependencies

Install [Go](https://golang.org/doc/install) and some other tools.

Refer to [Prerequisites chapter](../1_Prerequisites.html) for more details.

## Building

Clone sources under `$ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds/xds-gdb`
in order respect directory hierarchy that match Go package import logic (see
[How to Write Go Code](https://golang.org/doc/code.html) for more details).

Then use delivered Makefile :

```bash
# Declare ROOTDIR, can be any location (for example xds-build)
ROOTDIR=$HOME/xds-build

# Create directory hierarchy that match Go package import logic
mkdir -p $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds
cd $ROOTDIR/src/gerrit.automotivelinux.org/gerrit/src/xds

# Clone sources
git clone https://gerrit.automotivelinux.org/gerrit/src/xds/xds-gdb
# or git clone ssh://YOUR_USERNAME@gerrit.automotivelinux.org:29418/src/xds/xds-gdb

# Build xds-gdb
# (note that GOPATH will correctly be set by Makefile)
cd xds-gdb
make all
```

Generate xds-gdb package / tarball

```bash
make package-all
```