Building and running the swtpm has dependencies on the following packages:

- automake
- autoconf
- bash
- coreutils
- expect
- libtool
- sed
- libtpms
- libtpms-devel
- fuse
- fuse-devel
- glib2
- glib2-devel
- net-tools
- python3
- python3-twisted
- selinux-policy-devel
- trousers
- tpm-tools
- gnutls
- gnutls-devel
- libtasn1
- libtasn1-tools
- libtasn1-devel
- rpm-build (to build RPMs)

Debian/Ubuntu also needs the following packages to build:

- build-essential
- devscripts
- equivs

On RHEL or Fedora use either one of the following methods to install
the above dependencies:

 - sudo dnf builddep ./dist/swtpm.spec  (Fedora >= 22)
 - sudo yum install yum-utils ; sudo yum-builddep ./dist/swtpm.spec  (RHEL and Fedora <= 21)
 - sudo yum install <package name(s)>

On Ubuntu use the following command:

 - sudo mk-build-deps --install ./debian/control


Use the following sequence to build and install the Software TPM.

./autogen.sh --prefix=/usr
make
make check
make install


To build an rpm on a Fedora or RHEL host do:

./autogen.sh
make dist
rpmbuild -ta swtpm-*.tar.gz


To build a Debian package on a Debian compatible host do:

echo "libtpms0 libtpms" > ./debian/shlibs.local
debuild -us -uc
