| To build and install the tpm2.0-tss software the following dependencies are |
| required: |
| GNU Autoconf |
| GNU Autoconf archive |
| GNU Automake |
| GNU Libtool |
| C compiler |
| C++ compiler |
| C Library Development Libraries and Header Files (for pthreads headers) |
| cmocka unit test framework |
| pkg-config |
| |
| Currently the tpm2.0-tss is only distributed via GitHub as we have not yet |
| produced an official source release. To obtain the tpm2.0-tss sources you |
| must clone them from the 01.org GitHub organization TPM2.0-TSS git repository: |
| git clone https://github.com/01org/TPM2.0-TSS |
| |
| To configure the tpm2.0-tss source code first define the environment for your |
| build using a config.site file. The default for the project is kept at |
| ./lib/default_config.site. Pass this environment to the build through the |
| CONFIG_SITE variable: |
| $ ./bootstrap |
| $ CONFIG_SITE=$(pwd)/lib/default_config.site ./configure |
| |
| You may also customize the config.site to your needs (please read the GNU |
| documentation for config.site files) or use your platform / distro default |
| by leaving the CONFIG_SITE environment variable undefined. |
| |
| Then compile the code: |
| $ make |
| |
| Once you've built the tpm2.0-tss software it can be installed with: |
| $ sudo make install |
| |
| This will install the libraries and the resource manager to locations |
| determined at configure time. See the output of ./configure --help for the |
| available options. Typically you won't need to do much more than provide an |
| alternative --prefix option at configure time, and maybe DESTDIR at install |
| time if you're packaging for a distro. |
| |
| We now have basic VPATH support which allows us to separate the source |
| directory from the build directory. This allows for a developer to do a debug |
| build and a regular build from the same sources. Any changes to the source |
| will be buildable from both build directories. Before you attempt this be sure |
| that the source directory is clean. |
| |
| Our example requires 3 directories: |
| TPM2.0-TSS where the sources reside, |
| tpm2tss-default to hold the build with default configuration |
| tpm2tss-debug to hold a build with debug configuration |
| |
| In the TPM2.0-TSS directory bootstrap the build: |
| $ ./bootstrap |
| |
| From the tpm2tss-default directory build the TPM2.0-TSS source code with the |
| project's default configuration: |
| $ CONFIG_SITE=$(pwd)/../TPM2.0-TSS/lib/default_config.site \ |
| ../TPM2.0-TSS/configure |
| $ make |
| |
| From the tpm2tss-debug directory build the TPM2.0-TSS source code with |
| optimization disabled and debug symbols: |
| $ CONFIG_SITE=$(pwd)/../TPM2.0-TSS/lib/debug_config.site \ |
| ../TPM2.0-TSS/configure |
| $ make |