Update the documentation for ./configure usage.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/docs.txt b/docs.txt
index 299277c..8683406 100644
--- a/docs.txt
+++ b/docs.txt
@@ -133,41 +133,53 @@
need to be installed and distributed (relocated to the final run-time
location) before the IP libraries are installed.
- There are two distinct install types supported by open_pdks:
+ Users installing on the same host they are running on will want to
+ use the typical flow of;
- (1) Local install: Use a local install when the EDA tools will be run
- on a single host, and all the PDK data are on the same host.
-
- The local install sequence is:
-
- configure See options for setting paths
+ ./configure See options for setting paths
make Generate local staging area
- make install-local Migrate to install directory
+ sudo make install Install onto local system
- (2) Distributed install: Use the distributed install when the PDK
- will be run from multiple hosts, but will be installed into a
- different location such as a git repo which is then distributed to
- all hosts, and may not itself reside in the same root directory tree.
+ Which will install to /usr/local/share/pdks directory.
- The distributed install sequence is:
+ Users can also elect to install somewhere by giving ./configure the
+ `--prefix` and other similar standard ./configure options.
- configure See options for setting paths
- make Generate local staging area
- make install-dist Migrate to distribution directory
+ For example;
- Note that local installs may opt to make symbolic links back to the
- foundry sources, where possible (see options for foundry_install.py,
- below). Distributed installs and local installs may also make
- symbolic links from any PDK variant back to a "master" PDK variant,
- where possible (that is, where the files are the same). For example,
- a standard cell library will probably be compatible with all metal
- back-end stacks, and so only one copy of all the library files is
- needed in one of the PDK variants. For the other PDK variants, the
- same files are all symbolic links to the files in the first PDK
- variant. But an I/O library would have different layouts for different
- metal back-end stacks, so layout-dependent files like GDS would be
- different for each PDK, but layout-independent files like verilog
- might be symbolic links to files in the first PDK.
+ Installing to /usr/share/pdks;
+
+ ./configure --prefix=/usr
+ make
+ sudo make install
+
+ Installing to /opt/share/pdks;
+
+ ./configure --prefix=/opt
+ make
+ sudo make install
+
+ Installing to ~/pdks;
+
+ ./configure --prefix=$HOME --datarootdir=$HOME
+ make
+ make install
+
+ Packagers and administrators that want to create a directory which
+ is destined to be installed on other machines should set`--prefix`
+ to be the final install location and use `DESTDIR` with
+ `make install` to the directory where the files should be staged,
+ see the following example;
+
+ ./configure --prefix=/usr
+ make
+ # Need to use sudo so the file end up with the right
+ # permissions.
+ sudo make DESTDIR=/tmp/package
+ (cd /tmp/package; tar -cvf ../dist.tar)
+
+ Then on the final install machine you would want to do;
+ (sudo cd /usr; tar -xvf dist.tar)
Prerequisites: